logo

三次元空間におけるトーラスの座標パッチ写像 📂幾何学

三次元空間におけるトーラスの座標パッチ写像

公式1

torus.png

中心からチューブまでの距離が$R$、チューブの直径が$r$のトーラス座標チャート写像は次のようになる。

$$ \mathbf{x}(u_{1}, u_{2}) = \left( (R + r\cos u_{2})\cos u_{1}, (R + r\cos u_{2})\sin u_{1}, r\sin u_{1} \right) $$

この時$(u_{1}, u_{2}) \in [0, 2\pi) \times [0, 2\pi)$だ。

コード

上の図を描くJuliaコードは以下の通りだ。

using Plots
Plots.plotly() 

r₁ = 3
r₂ = 1
N = 100
torus(u) = [(r₁ + r₂*cos(u[1]))cos(u[2]), (r₁ + r₂*cos(u[1]))sin(u[2]), r₂*sin(u[1])]
    
X = Vector(0:2pi/N:2pi)
Y = Vector(0:2pi/N:2pi)
U = [[X[i], Y[j]] for i∈1:N for j∈1:N]
xyz = zeros(3,N^2)
M = torus.(U)
for i ∈1:N^2
    xyz[:,i] = M[i]
end

scatter(xyz[1,:], xyz[2,:], xyz[3,:], label="", markersize=0.6, markeropacity=0.3, markercolor=:Black, camera=(0,16))
savefig("torus.html")

  1. Richard S. Millman and George D. Parker, Elements of Differential Geometry (1977), p86 ↩︎