DOSEIの日記

技術メモ+日常ログ

球面上の大円

法線が n := (θ, φ) = [sinθcosφ sinθsinφ cosθ] の大円をパラメタ形式で表すと,
R(θ, φ) [cos(t) sin(t) 0]
より,

[x] [ cos(θ)cos(φ)cos(t)−sin(θ)sin(t) ]
[y]=[ cos(θ)sin(φ)cos(t)+cos(φ)sin(t) ]
[z] [−sin(θ)cos(t)                    ]

Gnuplot で描画する例

set para
th=pi/4 # 天頂角
ph=pi/9 # 方位角
set arrow to sin(th)*cos(ph), sin(th)*sin(ph), cos(th) # 法線ベクトル
splot [0 to 2*pi] cos(th)*cos(ph)*cos(u)-sin(ph)*sin(u), \
                  cos(th)*sin(ph)*cos(u)+cos(ph)*sin(u), \
                  -sin(th)*cos(u)