曲線5(円錐の3D測地線)
このページはマス旅の一部です。
これまで曲面と曲線の関係性で曲線を調べてきましたね。
今回も曲面とつながる曲線を扱います。それは「測地線」です。
アリさんが立体の表面を進みます。
アリさんは、脇目もふらずに寄り道せずに目的にまっしぐらに
進みます。
アリさんは目的地まで最短でまっすぐ進んでいるつもりなのです。
しかし、外からみるとその経路は曲線です。
だって、表面が曲がっていますからね。

1.曲面上の曲線なのに、表面にいるとまっすぐ進める線
曲面上をまっすぐ進む最短経路が「測地線」です。
課題:「円錐の測地線」を空間の中にかくアプリ
3D空間で円錐の測地線にそって点が移動するようすを表示する。
2.数学外の知識
「測地線(geodesic)」は、まさに地球の大きさを測る「測量」から始まったコトバであり、
古代ギリシャ時代から存在する概念です。
そうは言っても、物理や数学のフィルターを通してみると泥臭いイメージはなく、
常にその時代の最先端の学問と結びついて進化してきました。
・18世紀:変分法(最速降下線などの最適化問題)と結びついて研究されました。
・19世紀:ガウスが微分幾何学と結びつけ、リーマンが「多様体」へと概念を抽象化しました。
・20世紀:アインシュタインが相対性理論を展開した際、時空間の歪みの中を光や物体が進むルートとして
「測地線」が中心的な役割を果たしました。
3.数学・プログラミングの支援
<ウォーミングアップ(円柱の測地線)>
円柱の側面の測地線はらせん(常らせん)です。
昔トイレットペーパーの芯にみられた筋はらせんでしたね。
では、「らせん測地線」をかいてみよう。
底面の半径が1で中心がOの直円柱があります。
底面の点Aから出発して、同じ母線AH上の点Bで一周したとする。
AHで側面を切れば、底辺(底面周と同じ長さの)2π、高さLの長方形が展開図になるね。
AからBに進む経路の途中P1,P2がある。
円柱を真上から見ると、P1はAから弧度法でt進んだ点、P2はAから2t進んだとしよう。
展開図ではAP1もAP2も直線だね。しかも、AP1P2が折れ線でなく直線になる。
もうわかますね。進む角が2倍なら、回る弧も2倍だね。
弧度法だから、AP1の底辺へ正射影がt、AP2の正射影が2tだ。
すると、正射影の垂線の足をP1',P2'とすれば、P1P1'の2倍がP1P2’となるね。
この事実を使って、Pを3D空間に貼り付けよう。
A(1,0,0),B(1,0,2π)と、1周してBがAより2π上に上ると、展開図では、直角二等辺三角形ができる。
だから、P(cos(t),sin(t),t)
となるね。
<本番(円錐の測地線)>
「円錐の側面の測地線は線分」です。
円錐の頂点をNとし底面の中心をOとしよう。Nの高さをhとする。
底面の半径がrで、母線の長さはLだ。
底面の点Aから出発して、同じ母線NA上の点Bで1周したとする。
見取り図では簡単のために、B=Aとなっているとしよう。
NAで側面を切れば、側面の扇形の弧と底面の円周が一致するので、
側面の扇形の中心角は弧度法で2π×r/Lとなる。
展開図では線分ABは直線になる。その途中に点Pがあり、NAとNPの作る角をθとする。
#「見取り図」における点Pの位置づけをしよう。
側面ではθ進んでいたが、真上からみるとtだけ回転しているとする。
扇形の中心角のように、側面の角φと底面の角tにはr/L倍という関係がある。θ=t×r/Lだ。
円柱のときのように見取り図を真上から見ると、
Pの底面への正射影をP'とすると、Nの正射影はOとなる。
OAから始まりtだけ回転してOP'となるので、底面では円運動だ。
ただし時計の針は縮んでOP’となっている。
O(0,0,0)、A(r,0,0)=Bとすると、P'=(OP'cos(t),OP'sin(t),0)とわかるね。
こうなると、OP'が出ればよいね。
OP'はNPの正射影だから、相似を使って比はr:Lと同じだ。
OP'=NP×r/L。
次はNPだ。NからPまでの長さを小文字pとする。
#「展開図」の線分ABに扇形の頂点Nから降ろした垂線をD、ND=dとしよう。
展開図をxy平面にかくことで座標幾何も使えるようにできる。
Nを原点におき、Aをx軸の正におくことで、
N(0,0),A(L,0)、B(Lcos(2πr/L),Lsin(2πr/L))となるから、直線ABの方程式が決まる。
だから、NからABに下した垂線NDの長さdも求められるね。
また、角ANDをαとすると、角PND=θ-α。
ただし、cosα=d/Lとなるので、α=arccos(d/L)
NからAB上の点Pまでの長さpについて、
直角三角形NDPに着目するとd/p=cos(θ-α)
p=d/cos(θ-α)
これで、OP'=NP×r/L=pr/L
ただし、p=d/cos(θ-α)=d/{cos(tr/L-arccos(d/L))}と求められるね。
#最後に点Pの3D内での座標を求めよう。
P'=(OP'cos(t),OP'sin(t),0)のもとPの高さはNの高さからp×h/Lを引けばよい。
z=h-ph/L=h(1-p/L)
x=pr/L cos(t)
y=pr/L sin(t)
P=(pr/L *cos(t), pr/L* sin(t), h(1-p/L))
p=d/cos(θ-α)=d/{cos(tr/L-arccos(d/L))}
dは(0,0)から直線ABの方程式により垂線の長さで求められる。
単純な角ならば、三平方の定理で求められるね。
たとえば、r=1, L=4とすると、r/L=1/4から、側面の扇形の中心角はπ/2.
展開図で扇形NABは4分円で、三角形NABは直角二等辺三角形となるからNDは角ANBの二等分線になる。
だから、d=L×√2/2=2√2,α=π/4となり、
p=2√2/cos(t/4-π/4)。
h=√(4^2-1^2)=√15
OP'=pr/L=p/4=√2/2cos(t/4-π/4)
ということは
x=cos(t){√2/2cos(t/4-π/4)}=√2cos(t)/2cos(t/4-π/4)
y=sin(t){√2/2cos(t/4-π/4)}=√2sin(t)/2cos(t/4-π/4)
z=h(1-p/L)=√15(1-2√2/4cos(t/4-π/4))=√15(1- √2/2cos(t/4-π/4))
#球の測地線は次回にまわそう。
4.コード化
<geogebra>
# 固定値と基本の点
s2 = sqrt(2)
h = sqrt(15)
O = (0, 0, 0)
N = (0, 0, h)
A = (1, 0, 0)
# 底面の中心O, 頂点N、半径1の円錐
a = Cone(O, N, 1)
# 測地線(全体)
geodesic = Curve( (s2*cos(t)) / (2*cos(t/4 - pi/4)), (s2*sin(t)) / (2*cos(t/4 - pi/4)), h*(1 - s2 / (2*cos(t/4 - pi/4))), t, 0, 2*pi )
# アニメーション用スライダー
k = Slider(0, 2*pi, 0.05)
# 側面上の回転角・動点Pの計算用
f = k / 4
pd = 2 * cos(k/4 - pi/4)
# 側面上の動点P
P = ( (s2*cos(k))/pd, (s2*sin(k))/pd, h*(1 - s2/pd) )
# 状況表示の線分を点線などで太さ3で追加する。
Segment(N, A)
Segment(N, P)
# テキスト表示(空間を動かすとテキストも動いて見ずらいので非表示でもよい)
txt = "上からみた回転角 = " + k + " 、側面での回転角 = " + f