- 註冊時間
- 2011-10-24
- 最後登錄
- 2015-8-20
- 在線時間
- 293 小時
- 閱讀權限
- 70
- 積分
- 4332
- 帖子
- 274
- 精華
- 0
- UID
- 18169
![Rank: 6](static/image/cr180_dzx//star_level3.gif) ![Rank: 6](static/image/cr180_dzx//star_level2.gif)
|
本帖最後由 pari 於 2014-1-3 17:04 編輯
9-7. 如何計算太陽出沒方位時間、其他時間方位/高度
以現在IC積體電路和記憶體容量的的成熟發展,使用球面三角公式計算太陽或是星體的位置根本不是問題。今天許多的古老計算方法逐漸走入歷史,在這裡討論那些公式可能不太有用,太深奧的我也沒有辦嘩。
最古早的利用太陽日出和中天,可以做為獲取經緯度的簡單辦法。但是如果沒有精確的天文時計(對,就是瑞士手表有號稱是"Chronometer天文台表"的由來),經度誤差會很大。如果沒有六分儀(sextant),緯度的誤差也會很大;古代能把台灣畫成大番薯的時候,其實已經算進步的了。至於這些計算方法,一樣,越簡單的誤差越大,舉個例子吧,把一根棍子插在地上,中天的時候量出夾角如下圖。
![](https://lh3.googleusercontent.com/-w7BUAiim0gk/UrABSW4TAQI/AAAAAAAABQ4/zO-FBIWA-XA/w728-h600-no/rod.jpg)
簡單的講,如果6/21中天太陽的影子沒了,那你的緯度就大概是北緯23度半。如果還有個夾角,先看影子是往南(那你在北回歸線以南)還是往北(相反..),想想23度半的人沒影子,如果影子角度和直角差1度,那你緯度會和23度半差一度。
這樣搞下去的話,沒錯,可以替家裡做一個簡單的日晷了。可是說到精密的日晷,下面這個嚇我一跳。
![](http://upload.wikimedia.org/wikipedia/commons/thumb/a/a0/Derby_Sundial_C_5810.JPG/454px-Derby_Sundial_C_5810.JPG)
注意有一圈刻度是0~14,是說2月10日前後日晷跑得慢手錶跑得快的修正量,可以參考原文:Equation of Time(相同數值可以從NOAA網站求得,或參考Wiki。提醒:E.T.如果不修正,時間可以差到Nov. 3的16'25", 也就是說,時間如果不修正,很多的計算都不會準確。對太陽的運動來看,太陽一小時變化時角15度,16'25"的誤差就等於4.1042度,放在赤道上的話相當人的位置最大會相差了456公里!)
如果要準確的值,當然就是算公式。古代沒有計算機,會用一些類似我們小時候的對數表這樣類似的工具書,上面先算好某年某月的某一天,(下面那句歌詞是?) 一些有的沒有的數值給你內插。
查看圖片(大圖)
科技發達後,掌上型計算機的功能越來越強,34年前HP出了一款HP-41C(1979-1990)系列的好東西,從此人類可以拋棄那些沉重的書本,只要鍵入幾個值就可以得出結果。這個計算機還被太空人帶上太空免得出了狀況還可以有個東西可以幫忙計算回家的路。
![](http://upload.wikimedia.org/wikipedia/commons/thumb/2/22/HP-41CX.jpg/640px-HP-41CX.jpg)
閒話告一段落,要知道,如果地軸沒有對軌道面傾斜,那麼地球赤道處看到的正午太陽的高度就永遠是90度,其他的緯度,太陽正午的高度也就永遠是90度減去觀察者的緯度(例如:極點緯度90度的人,整天看到的太陽光都是在地平線上,包括正午也一樣,只是太陽一直繞著地平線跑)。
![](https://lh6.googleusercontent.com/-eIcEOcg7ZEI/UrEBN8_mlBI/AAAAAAAABRU/PVI4FUsOLJI/w1092-h680-no/001sunAlt_noTilt.jpg)
如果地軸有傾斜呢?我們先拿夏至的中天來算,因為這一天的中天、地軸是與中天經度一致,比較不需考慮其他元素。下面的圖是假設太陽光從左邊過來,左下方的小地球有個紅框,放大後是右邊故意畫的歪斜的地平基準面系統座標面,表示太陽光是平行的由左邊照過來。如同前面我們討論棍子的影子,這種方式也可以到推回去求當地緯度,而且結果相當準確,只是問題是地面平不平(會影響高度值)、中天的時間準不準(如果量角度的那時不是中天的話就會有誤差)
![](https://lh6.googleusercontent.com/-Pgn0hswlsbs/UqrSnlVshII/AAAAAAAABPY/4PYBarq6Woc/w1092-h653-no/45.966sunAlt_tilt.jpg)
你如果將座標系統改成北極在正上方的話,也可以用下面這張圖來表示,此圖條件為夏至、中天,在位置1即緯度23.44度的北迴歸線看,太陽中天高度為90度。位置2, 在北極圈的人緯度為66.56度,太陽中天高度為46.88度。
![](https://lh3.googleusercontent.com/-oAnm9XmHR54/Uq7QxTWqUfI/AAAAAAAABQk/5cfwU3UL6fw/w783-h705-no/622_66.56.jpg)
上面講的是正午,因為這個時間很特殊。如果既不是正午中天,又不是日出日沒(太陽高度為0啦),地軸還有傾斜,那任意時間的太陽高度(不考慮扁率等有的沒有的)除了前面說的觀察者的緯度、太陽赤緯外,我們就還需要幾點幾分幾秒,當時太陽的時角(Hour Angle)應該是跑到哪個位置,用那些已知條件來解。至於不同太陽的"天頂高度(即:地平/水平線看的太陽高度的餘角)"是和此高度的cosine值相關的,就是說如果正午中天時間是12:00,那麼;中天前一小時的太陽高度和後一小時的太陽高度沒有不同。
計算太陽的方位角和高度需要知道的幾個元素和這裡使用的代號(sorry, 一般會用希臘字母,我懶得貼特殊符號):
LAT 觀察者的緯度(Latitude)
LONG 觀察者的經度(Longitude)
LT 當地時間 (Local Time)
ZD 時區(Zone District)
DEC 太陽赤緯(sun declination)
HA 太陽時角(solar Hour Angle)
要求的結果
AZ 太陽方位角(Azimuth)
ALT 太陽高度(sun Altitude, sun Elevation Angle; 90-Zenith Angle)
會用到的公式 (公式不只一種,這裡取常用的)
-------------
太陽赤緯
DEC = - asin [0.39779 cos(0.98565(N+10) + 1.914sin(0.98565(N-2)))]
太陽高度公式
sin ALT=cos HA cos DEC cos LAT + sin DEC sin LAT
太陽方位角公式
AZ= acos (sin DEC cos LAT - cos DEC cos HA sin LAT) / cos ALT
太陽日出時間
= degrees(acos(-tan LAT*tan DEC))/15
說明
----
1. asin = arcsin, acos = arccos, 這裡取Excel的命名方式,這些都可以利用Excel來算,但是要注意的事情...是有一些喔;例如Excel三角函數需要的是radian, 要不然要用PI()/180來化,而且做出來的哪些是radian哪些是degrees, 得出的值是順時針還是反時針加減...呵呵
2. 關於太陽赤緯的N指的是"Day of the Year 一年當中的第幾天"。這個計算可能是有些誤差值的。基準是Jan. 1st 00:00開始時N=0 (Ordinal Date-1); 可使用小數點, 到24:00時 N=1. (http://en.wikipedia.org/wiki/Ordinal_date)
如果從1月1號當作1不當作0的話(這樣是不去減1),東經120度時區的Jan. 2 12:00 時以格林威治基準計算為 N=1+(12-8)/24 = 1.1667. 估算時直接取1/1 N為1, 1/2 N為2+0(一月份等於幾號舊加上0), 4/15時(已經過了123月,31+28+31=90天) N=15+90(或閏年15+91).
3. 在幾個特例中,某些條件會簡化公式。如太陽出沒的高度使ALT=0, 如太陽的中天時間可以估算為當地時區基準(例如台灣時區要用東經120度來算,再修正當地經度對時間的差異)的12:00(雖然要修正Equation of Time 註:此處的Equation是"修正"的意思,不是"方程式")
注意
----
從當日太陽中天太陽時角倒推回去"太陽高度為0"時的時間。這個說起來很輕鬆,但其實我們已知條件僅是"高度為0",不是"太陽時角"差異多少多少。下面這張圖嘗試解釋時角的意義,一個是從側面看,一個是從上面看,側面看的時候假設右邊的半圓弧是中天時刻,而日出時間不會是剛好早上六點(中天前Hour Angle=-90度to solar noon)
![](https://lh6.googleusercontent.com/-fw8sUuq1fWI/Uq7QffUeGCI/AAAAAAAABQI/r4GH4pKgdRc/w542-h705-no/solar_HourAngle.jpg)
如果說太陽時角就是中午12點前(簡單的)6小時,那我們當然可以從中午12點倒推6小時回去,就得出太陽會在早上6點鐘日出..口是..口是..現實的生活中這樣的好康一年只有兩天...春、秋分。不是特殊條件的都還是要用公式來解。
從另一個角度來說,既然我們定義地球轉一圈是24小時,我們也定義球體劃分成360度,所以360/24=15, 地球每轉一小時,經度變化就是15度,這也是"時區"的意義。你把座標轉過去看,太陽時角也是一樣,每一小時變化15度。問題是:太陽時角變化15度,意思跟太陽高度變化15度或是太陽方位變化15度是毫不相干的,對地球上不同位置的人而言,太陽高度和方位角一小時候的變化,要用數學公式去計算。
你可以先參考下面的動畫圖,假想你是太陽照著地球,地球從西往東轉,同時這張圖你可以仔細觀察:
1. 夏至時北極圈都是永日,南極圈有些地方都看不到太陽,就是永夜
2. 夏至時赤道附近的日出的經度大約就是和該位置中天的經度相差90度。這時太陽的時角也剛好是(假設中天是0度)負90度(超過中天算正的)。所以你可以發現夏至時地軸傾向太陽,而不管傾斜幾度,赤道位置也剛好就是圓周投影與赤道圈假設平面的交點,也就是赤道位置日出約是上午6點、中天是12點、日落是18點。(不考慮Equation of Time與大氣折射等等)
3. 緯度越偏北越早看的到太陽,緯度越偏南越晚看的到太陽(以早上6點做基準)。至於時間的差異更下面一張圖內有表格比較
![](https://lh6.googleusercontent.com/-d83UNl29s70/UsZtes5RfvI/AAAAAAAABRo/8g9URAvL-3M/w625-h417-no/24hr.gif)
![](https://lh3.googleusercontent.com/-oIq1r7iCg8U/UsZti4ruIKI/AAAAAAAABRw/v5kK8M4jovI/w1144-h635-no/sr_e.jpg)
當你要計算到底一個位置日出是幾點時,其實前面提的太陽日出公式非常簡單,用Excel就可以算,對位於較低緯度(60度以內)的人,一般的"看日出"應用都不會差太多(精確的應用不會去計較幾分幾秒,因為精確的應用是依賴實際的觀察太陽再倒推回去求人的位置)。以前面公式來計算日出時間,在北緯60度求出的日出時間是02:45:26,和NASA計算的02:39:20相差是6'06",而嘉義東石外海僅差05:16:42-05:15:35=1'7".(註:該日Equation of Time=-1'36"~1'39" sun slower)
![](https://lh5.googleusercontent.com/-VhQwjR97dRk/UqrSnCfurMI/AAAAAAAABPk/w_jLlLVES4E/w1092-h544-no/015_921eLat40_tangent.jpg)
這張圖表現的是太陽光從正後方灑過來(小圖後方的黃色做為代表),注意小圖的地球,這一天(秋分)的地軸旋轉方法,剛好可以讓所有的人感覺到:日出日沒太陽時角,剛好都是一半一半。至於那個人的地面是歪歪的,表示這裡是緯度40度地方的地平面基準系統座標的地平面,雖然這張圖的圓圈不是都很圓,但請努力的想像:一個大球體上的東西南北是怎麼走向的。雖然這張圖的紅色虛線看起來好像歪歪的,其實(1)地軸是往右傾斜23.44度的(2)人所在的位置不管怎樣,他的正北與正東在這個大球體上的方位是90度直角。
參考資料
http://en.wikipedia.org/wiki/Hour_angle
http://en.wikipedia.org/wiki/Spherical_trigonometry
http://en.wikipedia.org/wiki/Solar_azimuth_angle
http://en.wikipedia.org/wiki/Celestial_coordinate_system
http://en.wikipedia.org/wiki/Horizon
http://en.wikipedia.org/wiki/Altitude_(astronomy)
http://en.wikipedia.org/wiki/Equatorial_coordinate_system
http://en.wikipedia.org/wiki/Ecliptic_coordinate_system
http://mypages.iit.edu/~maslanka/SolarGeo.pdf
http://en.wikipedia.org/wiki/Ordinal_date
http://aa.quae.nl/en/reken/zonpositie.html
=== 待續 === |
-
1
查看全部評分
-
|
|
|
|
|