■地球の測量(その69)
地球上の2点A,Bの球面距離を知りたい。
A(緯度A、経度A)
B(緯度B、経度B)
経度が等しければ、球面距離θは緯度A-緯度Bになるが、経度が異なる場合を考える。
===================================
{sin(θ/2)}^2={sin(緯度A-緯度B)/2)}^2+cos(緯度A)cos(緯度B){sin(経度A-経度B)/2)}^2
経度A=経度Bであれば、θ=緯度A-緯度B
緯度A=緯度B=0のときθ=経度A-経度Bとなって正しい答えを返してくる
これを書き換えると
(1-cosθ)/2={1-cos(緯度A-緯度B)}/2+cos(緯度A)cos(緯度B){1-cos(経度A-経度B)}/2
(1-cosθ)={1-cos(緯度A-緯度B)}+cos(緯度A)cos(緯度B){1-cos(経度A-経度B)}
(cosθ)={cos(緯度A-緯度B)}-cos(緯度A)cos(緯度B){1-cos(経度A-経度B)}
経度A=経度Bであれば、θ=緯度A-緯度B
緯度A=緯度B=0のときθ=経度A-経度Bとなって正しい答えを返してくる
===================================
A(cos経度Acos緯度A、sin経度Acos緯度A、sin緯度A)
B(cos経度Bcos緯度B、sin経度Bcos緯度B、sin緯度B)
外積を計算すると
(sin経度Acos緯度Asin緯度B-sin緯度Asin経度Bcos緯度B、-cos経度Acos緯度Asin緯度B+sin緯度Acos経度Bcos緯度B、cos経度Acos緯度Asin経度Bcos緯度B-sin経度Acos緯度Acos経度Bcos緯度B)
この大きさがsinθになる。
===================================
(sin経度Acos緯度Asin緯度B)^2
(sin緯度Asin経度Bcos緯度B)^2
(cos経度Acos緯度Asin緯度B)^2
(sin緯度Acos経度Bcos緯度B)^2
(cos経度Acos緯度Asin経度Bcos緯度B)^2
(sin経度Acos緯度Acos経度Bcos緯度B)^2
-2sin経度Acos緯度Asin緯度Bsin緯度Asin経度Bcos緯度B
-2cos経度Acos緯度Asin緯度Bsin緯度Acos経度Bcos緯度B
-2cos経度Acos緯度Asin経度Bcos緯度Bsin経度Acos緯度Acos経度Bcos緯度B
これらの和が(sinθ)^2になる。
===================================
(sin経度Acos緯度Asin緯度B)^2+(cos経度Acos緯度Asin緯度B)^2=2(cos緯度Asin緯度B)^2
(sin緯度Asin経度Bcos緯度B)^2+(sin緯度Acos経度Bcos緯度B)^2=2(sin緯度Acos緯度B)^2
(cos経度Acos緯度Asin経度Bcos緯度B)^2+(sin経度Acos緯度Acos経度Bcos緯度B)^2
=(cos緯度Asin経度Bcos緯度B)^2+(cos緯度Acos経度Bcos緯度B)^2
=2(cos緯度Acos緯度B)^2
-2sin経度Acos緯度Asin緯度Bsin緯度Asin経度Bcos緯度B-2cos経度Acos緯度Asin緯度Bsin緯度Acos経度Bcos緯度B
=-2cos緯度Asin緯度Bsin緯度Acos緯度B(sin経度Asin経度B+cos経度Acos経度B)
-2cos経度Acos緯度Asin経度Bcos緯度Bsin経度Acos緯度Acos経度Bcos緯度B
=-2cos緯度Acos緯度Bsin緯度Acos緯度B(cos経度Asin経度Bsin経度Acos経度B)
===================================
2(cos緯度Asin緯度B)^2+2(sin緯度Acos緯度B)^2+2(cos緯度Acos緯度B)^2
=2{(cos緯度A)^2+(cos緯度B)^2-(cos緯度A)^2(cos緯度B)^2}
-2cos緯度Asin緯度Bsin緯度Acos緯度B(sin経度Asin経度B+cos経度Acos経度B)
-2cos緯度Acos緯度Bsin緯度Acos緯度B(cos経度Asin経度Bsin経度Acos経度B)
=-2cos緯度Asin緯度Bsin緯度Acos緯度Bcos(経度A-経度B)
-2cos緯度Acos緯度Bsin緯度Acos緯度B(cos経度Asin経度Bsin経度Acos経度B)
(sinθ)^2=2{(cos緯度A)^2+(cos緯度B)^2-(cos緯度A)^2(cos緯度B)^2}
-2cos緯度Asin緯度Bsin緯度Acos緯度Bcos(経度A-経度B)
-2cos緯度Acos緯度Bsin緯度Acos緯度B(cos経度Asin経度Bsin経度Acos経度B)
(cosθ)^2=1-2{(cos緯度A)^2+(cos緯度B)^2-(cos緯度A)^2(cos緯度B)^2}
+2cos緯度Asin緯度Bsin緯度Acos緯度Bcos(経度A-経度B)
+2cos緯度Acos緯度Bsin緯度Acos緯度B(cos経度Asin経度Bsin経度Acos経度B)
経度A=経度Bであれば、
(cosθ)^2=1-2{(cos緯度A)^2+(cos緯度B)^2-(cos緯度A)^2(cos緯度B)^2}
+2cos緯度Asin緯度Bsin緯度Acos緯度B
+2cos緯度Acos緯度Bsin緯度Acos緯度B(cos経度A)^2(sin経度A)^2→?
緯度A=緯度B=0のとき
(cosθ)^2=1-2{2-1}→正しい答えを返してこない
===================================
一方、
(cosθ)={cos(緯度A-緯度B)}-cos(緯度A)cos(緯度B){1-cos(経度A-経度B)}
(cosθ)={cos(緯度A-緯度B)}-cos(緯度A)cos(緯度B)+cos(緯度A)cos(緯度B)cos(経度A-経度B)
(cosθ)=sin(緯度A)sin(緯度B)+cos(緯度A)cos(緯度B)cos(経度A-経度B)より
(cosθ)^2={sin(緯度A)sin(緯度B)}^2+{cos(緯度A)cos(緯度B)cos(経度A-経度B)}^2+2sin(緯度A)sin(緯度B)cos(緯度A)cos(緯度B)cos(経度A-経度B)
(cosθ)^2={cos(緯度A)cos(緯度B)cos(経度A-経度B)+sin(緯度A)sin(緯度B)}^2
===================================
C=-2+(cos緯度A)^2+(cos緯度B)^2+cos(経度A-経度B))^2+2sin緯度Asin緯度Bcos(経度A-経度B)
C=-2+(cos緯度A)^2+(cos緯度B)^2-{sin緯度Asin緯度B}^2+cos(経度A-経度B))^2+2sin緯度Asin緯度Bcos(経度A-経度B)+{sin緯度Asin緯度B}^2
C=-2+(cos緯度A)^2+(cos緯度B)^2-(1-cos緯度A^2)(1-cos緯度B^2}+{cos(経度A-経度B)+sin(緯度A)sin(緯度B)}^2
C=-3+2(cos緯度A)^2+2(cos緯度B)^2-{cos緯度Acos緯度B}^2+{cos(経度A-経度B)+sin(緯度A)sin(緯度B)}^2
C=-1+cos緯度2A+cos緯度2B-(1+cos緯度2)(1+cos緯度2B)/4+{cos(経度A-経度B)+sin(緯度A)sin(緯度B)}^2
D={sin(緯度A)sin(緯度B)}^2+{cos(緯度A)cos(緯度B)cos(経度A-経度B)}^2+2sin(緯度A)sin(緯度B)cos(緯度A)cos(緯度B)cos(経度A-経度B)={cos(緯度A)cos(緯度B)cos(経度A-経度B)+sin(緯度A)sin(緯度B)}^2
===================================