關
閉
三
|
95,06,11,08,27 始
本卷
http://freeman2.com/jscircl1.htm
建立球體表面大圓、小圓公式及軌跡。
決定小圓公式之重要參數為圓上起點(第一城市)及另外
一個或兩個點(城市)之經緯度坐標。
一二三四五六七八九十一二三四五六七八九十一二三四五
經緯度坐標以希臘字母(phi, lambda)表示
phi1Lon = 第一城市經度
lam1Lat = 第一城市緯度
phi2Lon = 第二城市經度
lam2Lat = 第二城市緯度
phi3Lon = 第三城市經度
lam3Lat = 第三城市緯度
eastRad = 小圓在第一城市對東偏角
angEarth= 小圓對地心偏角
只要小圓半徑固定,圓上任意點之地偏角相同。
所有參數都是角度,以度、分、秒表示。在電腦計算時,
所有角度必須轉為弧度。一弧度等於
57.2957795130823208767981548141051703
角度。
一個角度值除以 57.295779 得到弧度值。
定義一個小圓需要
甲、三個城市之經緯度值。
或
乙、兩個城市之經緯度值及第一城市之東偏角。
大圓或小圓經過第一城市處圓弧對正東有一個偏角,這個
偏角是第一城市之本地讀數。
在小圓上取不同點為第一城市時,東偏角處處不同,
在小圓上取不同點為第一城市時,地偏角處處相同。
如果第一城市之小圓圓弧指向正東,其東偏角為零。對東
沒有偏離。
東偏角為正時,小圓圓弧指向正東偏北。
東偏角為負時,小圓圓弧指向正東偏南。
以上討論小圓圓弧,
以下討論小圓面積。
若通過第一城市的小圓通過地心,此圓對地心偏角為零。
地偏角之正負如何定義?右手做頂好手勢,大拇指沿圓弧
指向對東偏向較小之角度方向(反向時,對東偏角較大)
,此時,右手四指曲向為地偏角之正向,換言之
若圓心在地心以北,地偏角為正,
若圓心在地心以南,地偏角為負。
建立小圓公式需要執行四次坐標轉動,轉前轉後共有五組
坐標系統。
x,y,z 坐標系統為轉前坐標系統。
x',y',z' 坐標系統為第一轉之後的坐標系統。
x",y",z" 坐標系統為第二轉之後的坐標系統。
x"',y"',z"' 坐標系統為第三轉之後的坐標系統。
x"",y"",z"" 坐標系統為第四轉之後的坐標系統。
所有五組坐標系統之原點都與地心重合。
一二三四五六七八九十一二三四五六七八九十一二三四五
第一轉
繞 z (3) 軸轉 [+phi1Lon] 弧度
由 x,y,z 至 x',y',z' 坐標系統。
phi1Lon 是第一城市之經度坐標值(弧度)。
東半球為正,西半球為負,[+phi1Lon]中的[+]表示
不必異號(不必正負對調)。
第二轉
繞 y (2) 軸轉 [-lam1Lat] 弧度
由 x',y',z' 至 x",y",z" 坐標系統。
lam1Lat 是第一城市之緯度坐標值(弧度)。
北半球為正,南半球為負,[-lam1Lat]中的[-]表示
必須異號(需要正負對調)。
第三轉
繞 x (1) 軸轉 [+eastRad] 弧度
由 x",y",z" 至 x"',y"',z"' 坐標系統。
eastRad 是小圓在第一城市之對東偏向角。
東北為正,東南為負,[+eastRad]中的[+]表示
不必異號(不必正負對調)。
第四轉
繞 y (2) 軸轉 [+angEarth] 弧度
由 x"',y"',z"' 至 x"",y"",z"" 坐標系統。
angEarth 是小圓在第一城市之對地心偏向角。
圓心自地心向北為正,向南為負,[+angEarth]中的
[+]表示不必異號(不必正負對調)。
轉動至此得到
x""=f1(x,y,z)
y""=f2(x,y,z)
z""=f3(x,y,z)
唯有在 x"",y"",z"" 坐標系統,小圓才有一個與其
平行的大圓,利用此平行大圓容易定義小圓方程式,只要
令
z"" = sin(angEarth)
即可!
在 x,y,z 及 x',y',z' 及 x",y",z" 及 x"',y"',z"'
坐標系統,無 z"' = sin(angEarth) 之條件
因為大圓與小圓不平行。
當計算誤差時,以零誤差為沒有誤差,所以把
z"" = sin(angEarth)
移項改寫為
z"" - sin(angEarth) = 0
比較便利,可以計算誤差。
至此得到小圓公式。
每次轉動記錄轉後對轉前之關係,所以
我們知道 z""=f3d(x"',y"',z"')
我們知道 z"'=f3c(x",y",z")
我們知道 z" =f3b(x',y',z')
我們知道 z' =f3a(x,y,z)
綜合之後,
我們知道 z""=f3(x,y,z)
小圓公式之完整表達式如下
sin(angEarth)
*(cos(lam1Lat)
*( cos(Var0Lat)*cos(Var0Lon)*cos(phi1Lon)
+cos(Var0Lat)*sin(Var0Lon)*sin(phi1Lon)
)
+sin(Var0Lat)*sin(lam1Lat)
)
+ cos(angEarth)
*(-sin(eastRad)
*(-cos(Var0Lat)*cos(Var0Lon)*sin(phi1Lon)
+cos(Var0Lat)*sin(Var0Lon)*cos(phi1Lon)
)
+cos(eastRad)
*(-sin(lam1Lat)
*(cos(Var0Lat)*cos(Var0Lon)*cos(phi1Lon)
+cos(Var0Lat)*sin(Var0Lon)*sin(phi1Lon)
)
+sin(Var0Lat)*cos(lam1Lat)
)
)
- sin(angEarth)
=0
[Var0Lon, Var0Lat] 是一個在圓上任意移動點之坐
標,其經度、緯度都是變數。
第一城市之經度、緯度 phi1Lon, lam1Lat,
第一城市之地偏角 angEarth,
第一城市之東偏角 eastRad
都是已知值。
上面公式是小圓之變貌公式,因為不同的起點有不同的係
數,公式外貌不同。
能不能找到一個小圓公式與起點值無關?也就是,能不能
找到常貌小圓公式?
答案為可能。方法是利用小圓圓軸與地球表面交會點建立
常貌小圓公式。小圓圓軸與地球表面交會點稱為小圓之「
極點」,因為此點是 x"",y"",z"" 坐標系統的「北極
」。
小圓極點為 B 點,其坐標為
[x"",y"",z""] = [0, 0, 1]
這是 x"",y"",z"" 坐標系統的表達法,我們需要所有
公式統一以大地坐標 x,y,z 坐標系統表示,需要自
x"",y"",z"" 坐標系統轉動返回至 x,y,z 坐標系統
這是與求小圓通式四次轉動相反的轉動,轉後結果如下﹕
xp= ..... C04 式
+cos(phi1Lon)*cos(lam1Lat)*sin(angEarth)
-cos(phi1Lon)*sin(lam1Lat)*cos(eastRad)*cos(angEarth)
+sin(phi1Lon)*sin(eastRad)*cos(angEarth)
yp= ..... C05 式
+sin(phi1Lon)*cos(lam1Lat)*sin(angEarth)
-sin(phi1Lon)*sin(lam1Lat)*cos(eastRad)*cos(angEarth)
-cos(phi1Lon)*sin(eastRad)*cos(angEarth)
zp= ..... C06 式
+sin(lam1Lat)*sin(angEarth)
+cos(lam1Lat)*cos(eastRad)*cos(angEarth)
[xp,yp,zp] 是小圓極點 B 在大地坐標 [x,y,z] 坐
標系統之關係公式。
C04 式, C05 式, C06 式見於下述公式導證網頁
http://freeman2.com/tutc0002.htm
若小圓第一城市位置改變,小圓之極點位置[xp,yp,zp]
不變!此性質讓我們得到小圓常貌公式如下﹕
xp*[cos(Var0Lon)*cos(Var0Lat)]
+yp*[sin(Var0Lon)*cos(Var0Lat)]
+zp*[sin(Var0Lat)]
-sin(angEarth)=0
令地偏角 angEarth 為零,小圓變大圓。
95,05,07,18,59止
95,05,08,05,34始
若任意指定地面一點為小圓極點 [xp,yp,zp]
若任意指定一段距離為小圓圓心至地心距離,很容易就建
立一個小圓常貌公式,
xp*[cos(Var0Lon)*cos(Var0Lat)]
+yp*[sin(Var0Lon)*cos(Var0Lat)]
+zp*[sin(Var0Lat)]
-圓心至地心距離=0
但是這種容易步驟得到的小圓常貌公式不可能通過指定的
三個城市!因為任意極點、任意距離都沒有將三個城市納
入考慮。本程式可以建立一個小圓公式通過使用者指定的
三個城市。重點在下面六個變數
A2, B2, C2, A3, B3, C3
A2, B2, C3 之定義將第一城市、第二城市納入考慮,
A3, B3, C2 之定義將第一城市、第三城市納入考慮。
請用關鍵字串「B88」至「B93」找六個變數之定義。
六個變數定義完成之後,利用此六變數定義第一城市之東
偏角及定義第一城市之地偏角。
如果已知第一城市、第二城市坐標及第一城市東偏角,則
第一城市之地偏角為
angEarth=atan((sin(eastRad)*A2-cos(eastRad)*B2)/C3)
如果已知第一城市、第二城市、第三城市坐標,則
第一城市之東偏角為
eastRad=atan((B2*C2-B3*C3)/(A2*C2-A3*C3));
第一城市之地偏角為
angEarth=atan((sin(eastRad)*A2-cos(eastRad)*B2)/C3)
最後利用上述含有第一城市、第二城市、第三城市坐標之
東偏角、地偏角及使用第一城市經緯度定義小圓公式,如
此建立之小圓變貌公式、小圓常貌公式都可以精確通過三
個指定的城市。
95,05,08,05,52止
95,05,08,12,58始
如果您想在此小圓卷測試大圓,首先指定兩個城市經緯度
坐標,第三個數據(第三城市坐標或者第一城市東偏角)
不能任意指定,必須用特定值才能變為大圓。
第三個數據必須至大圓卷取得,大圓卷網址為
http://freeman2.com/jscirclc.htm
在大圓卷輸入兩個城市經緯度坐標,點擊執行。重點是
不能到第二方格取用第三點,因為第二方格有地球轉動因
素,請到 jscirclc.htm 的第一方格取用一點作為
小圓卷之第三點,但是,也不能取用第一方格的第一點,
因為第一點是第一城市坐標,將大圓卷第一方格的第一百
點(一百是隨意值)填入小圓卷
http://freeman2.com/jscircl1.htm
第三城市輸入方格,點擊「計算小圓軌跡」,此時輸出應
該是一個大圓。核對地偏角,若地偏角接近零度,則為大
圓。
95,05,08,13,08止
地偏角及第一城市之東偏角用以定義小圓公式,請看下面
指令。
document.answer0.ans0EastRad.value=eastRad; //9505081025
document.answer0.ans0EarthRad.value=angEarth; //9505081026
95,05,09,10,01
|