知恵熱にやられながらも、ついに任意の緯度の緯線1周の長さを求めることができた!
高校生の自分ならもっと早く解けたんだろうな・・・。時間は残酷だぜフッ
結果から言うと、緯度θの半径は、こうなった。
x = a2cosθ/√(a2+(b2-a2)sin2θ)
aは地球の長半径(中心と赤道の距離)、bは短半径(中心と北極・南極点の距離)を表している。
半径がわかれば2πr で円周の長さ=緯線の長さがわかるので、後は地球1周分の地図のドット数で割れば、1ドット当たりの距離が求まる!これで縮尺表示の目処が立った。
せっかく錆付いた頭をフル回転させて導いたので、記念に過程も晒しておこう。以下は自己満の世界なので読まなくていいですよ。
楕円の式は以下のようになる。
x2/a2+y2/b2 = 1 ・・・①
ここでも、aは地球の長半径、bは短半径を表す。
まずこの楕円の法線ベクトルを求める。法線ベクトルvは以下の式で計算できる。
v=(∂f/∂x, ∂f/∂y)
楕円の方程式より法線ベクトルを求める。
f(x,y) = x2/a2+y2/b2-1
v=(∂f/∂x, ∂f/∂y)=(2x/a2, 2y/b2)
方向が重要で、長さはどうでもいいので、扱いやすいように、a2b2/2をかける。
v=(xb2, ya2)
この法線ベクトルを自身の長さで割って単位ベクトル化すると、
v‘=(xb2/|v|, ya2/|v|)
となる。ただし、
|v| =√(x2b4+y2a4)
である。
この単位法線ベクトルと赤道面がなす角度が緯度θなので、
v‘=(xb2/|v|, ya2/|v|) = (cosθ, sinθ)
∴ cosθ = xb2/|v| , sinθ = ya2/|v|
上の2つの式と、楕円の式①を連立方程式として、x,y を θの式で表す。
式①を変形
x2b2+y2a2 = a2b2
y2a2 = a2b2– x2b2 = b2(a2– x2) ・・・②
sinθの式を両辺2乗する。
|v|2sin2θ = y2a4 = a2(y2a2)
式②を代入
|v|2sin2θ = a2(b2(a2– x2))
x2について整理すると、
x2 = a2-(|v|2sin2θ)/a2b2 ・・・③
ここで |v|2 を求める。
|v| 2= x2b4+y2a4
式②を代入
|v| 2=x2b4+a2(b2(a2-x2))
整理すると
|v| 2=b2(x2(b2-a2)+a4)
これを式③に代入
x2 = a2-(b2(x2(b2-a2)+a4)*sin2θ)/a2b2
x2について整理すると
x2 = a4(1-sin2θ)/(a2+(b2-a2)sin2θ)
1-sin2θ = cos2θなので、
x2= a4cos2θ/(a2+(b2-a2)sin2θ)
平方根を取って
x = a2cosθ/√(a2+(b2-a2)sin2θ)
同様にyも求めて、θを0~πまで回してグラフを書いたところ、楕円の図と一致したので、たぶんあってるのでしょう。
ふぅ。