■地球の測量(その77)

 地球上の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となって正しい答えを返してくる

(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)

===================================

A(cos経度Acos緯度A、sin経度Acos緯度A、sin緯度A)

B(cos経度Bcos緯度B、sin経度Bcos緯度B、sin緯度B)

この問題は内積を使えば簡単に求めることができる。

cosθ=cos経度Acos緯度Acos経度Bcos緯度B+sin経度Acos緯度Asin経度Bcos緯度B+sin緯度Asin緯度B

=cos緯度Acos緯度B(cos経度Acos経度B+sin経度Asin経度B)+sin緯度Asin緯度B

=sin(緯度A)sin(緯度B)+cos(緯度A)cos(緯度B)cos(経度A-経度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θになる。しかし、計算はすこぶる面倒で、計算力が鈍っているとなかなか正解にたどり着けないのであった。

===================================