2011年9月24日 星期六

大圈航法 (Great Circle Sailing)

http://4rdp.blogspot.com/2011/09/great-circle-sailing.html

前些日子,薛老師在部落格留言,提到兩地如何求解距離及方位角問題,想起以前航海學曾學過大圈航法,一些讀者知道應用,但是原理不清楚,而我最喜歡探究原理,所以留文分享。

假想地球為完美球體,在球上過任意兩點有一大圈,沿著大圈航行可以找到最短距離,例如,在赤道上任兩點或是同經度的任兩點,都可以畫出像赤道那樣的假想線 ─ 大圈。除這兩點之外,再利用北極或南極當第三點,可以繪出一個球面三角形,航海學就是利用這個球面三角形以及球面餘弦、正弦定律,求解兩地距離及方位角。

令這個三角形為 △ABC,A 為起點,B 是終點,C 為北極或南極,三個角∠A∠B∠C的對邊分為是 abc,依球面餘弦及正弦定律,等式分別為

cos(c) = cos(a) cos(b) + sin(a) sin(b) cos(C) ..... (1)
sin(A)/sin(a) = sin(B)/sin(b) = sin(C)/sin(c) ..... (2)
由式 (2) 可推導式 (3),
sin(A) = sin(a) sin(C)/sin(c) ..... (3)

先用 (1) 式求 c,再用 (3) 式算出A,舉個例子從台北往洛杉磯,台北經度緯度(北緯25度30分,東經121度2分10秒),洛杉磯經度緯度(北緯34度,西經118度12分),
由 A 點緯度可得 b = 90° - (25+30/60)° = 64.5°
由 B 點緯度可得 a = 90° - 34° = 56°
由 AB 兩地經度可得 C = 360° - (121+2/60+10/3600)° - (118+12/60)° = 120.76°
因此 c = cos-1(cos(a) cos(b) + sin(a) sin(b) cos(C)) = 105.71°
地球半徑 R 約為 6371 公里,因此 AB 兩地距離 c = 2πR x 105.71 / 360 = 11754.4 公里

出發 A 點航向角為
A = sin-1(sin(a) sin(C)/sin(c)) = 47.73°
也就是以正北為 0°,順時鐘方向量至 47.73°,即為 A 點出發航向角

請注意,採大圈航法要一直修正航向,除非你沿著赤道或是經線航行,否則每隔經度 5° 需調整航向角。另外,球面三角形內角總合是大於 180°!

沒有留言:

張貼留言