12個の球で近似するくらいならば,いっそのことドーナツ型の内部に一様分布する無数の質点モデルをとったほうがよいかもしれない。rの位置における単位質量に対する万有引力のポテンシャルは,V(r)=∑Ni=1Gmi√(r−ri)2である。N 個の質点は,質量 mi=MN,位置ベクトル ri で与えられ,空間に一様分布している。
トーラス(ドーナツ)は,円環の半径がRで,断面が半径aの円形であるとする。 r=(x,y,z) とすると,x=cosϕ(R+rcosθ),y=sinϕ(R+rsinθ),z=rsinθ) と表わすことができる。ただし,ϕはトーラス中心に対し円環上でx軸から測った方位角,θはトーラス断面円の中心に対しx−y平面から測った仰角で,トーラス中心に遠い方から測ったものである。
トーラス断面円の中心からの距離がrであり,(x−Rcosϕ)2+(y−Rsinϕ)2+z2=r2 である。そこで,トーラス面上の点は,(x−Rcosϕ)2+(y−Rsinϕ)2+z2=a2 を,トーラス内部の点は不等式 (√x2+y2−R)2+z2<a2 を満足する。
m = 1000000; R = 2.0; r = 1.0;t = Table[{RandomReal[{-3, 3}], RandomReal[{-3, 3}],RandomReal[{-3, 3}]}, m];(* s = Select[t,(#[[1]]^2+#[[2]]^2+#[[3]]^2)<1 &]; *)s = Select[t, ((Sqrt[#[[1]]^2 + #[[2]]^2] - R)^2 + #[[3]]^2) < 1 &];smax = Length[s]n[w_] := 1/Sqrt[w[[1]]^2 + w[[2]]^2 + w[[3]]^2 + 1/smax]ListPointPlot3D[s, BoxRatios -> Automatic]
図1:トーラス内部に一様分布する質点
p = {4 - z, 0, 0};d = Table[p - s[[i]], {i, 1, smax}];w = 1/smax*Sum[n[d[[k]]], {k, 1, smax}];v[z_] := wg[1] = Plot[v[z], {z, 0, 8}]
p = {0, 0, z - 4};d = Table[p - s[[i]], {i, 1, smax}];w = 1/smax*Sum[n[d[[k]]], {k, 1, smax}];v[z_] := wg[2] = Plot[v[z], {z, 0, 8}]
0 件のコメント:
コメントを投稿