漫天繁星的星空總是讓人嚮往,(誒誒誒,你可等會兒吧,城市裡哪兒來的滿天繁星啊?)害,沒見過沒關係,只要基礎的幾個亮星能看見就行。但是每天地球在動(自轉和公轉),星星還那麼多,那那群天文愛好者或者是天文學家是如何辨認每顆星星的呢 不會搞錯嗎?
當然在現如今的世界上,觀星可以靠計算機軟體代替而且就現在來講,還多種多樣。但是,
你或許忽略了乙個問題,學校裡能帶手機嗎?(這話說的╭( ̄▽ ̄)╮)這不(jiù)是重點,還有,我們能不能有一種方法把這些星星的位置純粹靠計算預估呢?
誒!還真有!
首先,要明白乙個概念(天球的概念如果的話就跳過這兒往下翻吧),也就是天空上的每顆星星是怎麼動的。其實啊,它是乙個天球。早在古希臘時代,人們就已經知曉的了相關的概念,即地球外還有乙個球包裹著地球並且在進行週期性的轉動,並且轉動一圈的時間為一天,這玩意兒在當時叫恆星天,後來人們明白這一切是由於地球自轉導致的。所以現在對於天球的定義就是,以地球為中心,任意長為半徑的假想球體,目的就是為了方便記錄天空中每個星星的相對位置。並且後來還有個了個叫天球儀的傢伙,偷換概念的理解就可以將天球看成地球,只不過天球是為了標註星星的位置。
所以地球的北極對應的即使天球的北天極,所以你在地球的北極點上看天,那麼北極星就在你頭頂。如果在赤道,北極星就在正北方的地平線上。所以北極星的高度就是所處地區的緯度,具體數學分析在下面。
既然有北天極,那麼就有南天極,正好與北天極位置相對。而且天球的中間和地球一樣,都有一條線,這叫赤道,天球的叫天赤道。其實分別是地球北極點、南極點,赤道在天空中的投影。
然後我們可以參照用地球經緯度座標的方法建立起球面座標系,於是赤道座標系形成,有赤經和赤緯。比如北極星的座標為:2h31m49s,89°15′50.78″
那什麼叫地平座標系?以觀測者為中心,取類似的方法,可以表示出星星在某一刻在觀察者眼中的位置。取頭頂90度為天頂,地平線為基本平面,這就是個穹頂,方便表示出在某一時刻時的星星位置,以正北為起點轉一圈為360度,正東對應90,正南對應180……,這就叫方位角。而高度就是高度(懶得解釋了還行),這樣直觀明了。
既然有了兩個座標系,那麼這倆玩意兒怎麼互相轉換呢?誒,有方法,上公式。
⑴已知地平座標(a ,z)求赤道座標(а,δ) :
cosδ cost=sinф sinz cosa+cosф cosz (1.1)
cosδ sint=sinz sina (1.2)
sinδ=sinф cosz-cosф sinz cosa (1.3)
式中t是時角,它與觀測時間s(以恆星時作計量單位)和赤徑а的關係是,t=s-а,ф是觀測點地理緯度。
⑵由赤道座標(а,δ)變換到地平座標(a ,z):
sinz cosa=sinфcosδ cost-cosф sinδ (2.1)
sinz sina= cosδ sint (2.2)
cosz=cosф cosδcost + sinф sinδ (2.3)
其中,α表示的就是這顆星星與春分點的角度關係,喚作赤經,常用nh表示,因為地球一小時自轉15度。所以這裡1h=15°,但是α的值帶入計算時需要換成角度制(這裡是重點)。δ與地球的緯度類似,叫做赤緯。a是方位角,z是天頂距,高度h=90°-z,最後這個φ表示的就是你的當地緯度哈。
中間有個t,這玩意兒大有來頭,他表示的是你的當地子午線與這顆目標星星的赤經圈的夾角(角度制)。換句話就是你的當地恆星時和這顆星星的赤經的差,具體請參照百科:時角座標系。
而其中恆星時的演算法比較麻煩,就是用儒略日去代換。不過這裡可以介紹乙個十分粗略的方法,也就是基於每年的同一天地球都會回到同一點的原理(前提是不考慮軌道進動和歲差),我們可以將乙個圓按365天分成365份,並以秋分點為起點0,而春分點差不多就是180,也就是在春分晚上12點,你能在頭頂看到大小獅子座,這差不多就是可以帶入計算的恆星時了,符號為s(這個時候的恆星時是當地時間24:00的哈,下面會有描述)。
當然你也可以用太陽的赤經數加上180當做當天的恆星時,等效的。
注意啊,這是乙個每天晚上12:00時(世界0時)的結果,如果是在白天,還要將白天的小時數乘以15再加原來12:00時的結果就是最後的解s₀了,s₀稱作為當地當時恆星時,反正是個表示符號。(還有,360°為乙個迴圈,過了360請自行減去)
所以時角t=s₀-α(s₀表示當地當時恆星時,t的結果有正有負,請注意)
但是,如果你像我一樣細心的話你會發現,如果按照北京時間,我的結果總是會差那麼幾度,從幾度到十幾度不等,這是怎麼回事兒呢?
這就是我們經度的差異了。
北京時間的取時經度是120e,如果以這條線以東,那麼你的日出時間應該更早。同理,如果在其以西,那麼就是更晚了。而上面說了,地球自轉15°是乙個小時,所以按照我的經度106°帶入計算,如果北京時間24:00了,但是我的當地時間卻是23:04,差了不是一點。
所以,在計算時,最好用當地時間去算此時的恆星時。
一般的,到這裡應該就結束了,(我以前看到這兒,很多科普下面就沒有了)但是,你實際去算是你會發現這麼乙個問題,比如在算北極星的位置時,目標已過中天,方位角的結果是179°左右。
what?
誒,先別急,不是計算機的錯,不要砸了,是計算演算法的鍋。
高中裡面講三角函式時,會講到下面的一張表:(上表!)
如果你很細心的話,你會發現,cos60=|cos120|,cos30=|cos150|,cos0=|cos180|……
於是我有了乙個笨辦法,根據上述的規律,當t>0,也就是目標過了中天時,則結果a₁=180+a;如果沒有過中天,就是t<0時,結果a₂=180-a,得看這個所以此時的北極星方時角,這時的計算結果應為179+180=359左右,這是cos函式的鍋。
這就很還好的解決了這個問題。
目前我進發現可以如此適用於方位角a的計算,至於其他的與cos函式相關的值計算請自己在實踐中得到真知,但是其他量一般都很少像方位角這樣超過180,所以就忽略了。
如果我就這麼弄完了,你肯定不信,那咱們來驗證一下。
在2020.8.9 09:55時,已知太陽的赤經緯是9h16m21s,15°50′51.64″,求太陽此時的方位角和高度 首先,當天的的恆星時是21h16m21s,所以此時的恆星時就是94.0875°(處理過經度造成的時差了的,大可放心),所以時角t=-45°。
於是根據公式便可以得到結果:a=80.5605945°=80°33′38.14″,h=46.40412226=46°24′14.84″。實際觀測值為a¹=98°47′22.89″,h¹=45°21′3.21″。
咦,好像有點不對呀,雖然說有誤差,可這方位角誤差有點大呀,該不會是錯了吧?
其實是這樣的,因為那個cos函式的問題,只要在90°內,無論角度是正還是負,最後比值的結果都是正的,所以此時cost=cos-45=cos45。而我們要t=-45的原因是表示太陽還沒有過中天,而這cos函式一搞,變成了我太陽已經過了中天,並且還軸對稱,所以我們還是利用上面發現的規律,用180°去減a,於是於是就變成了a²=180-a=99.4394055°=99°26′21.86″(下面放一張圖自己感受一下)。這樣與實際觀測值就非常吻合了,作為乙個天文愛好者,能做到如此精確也是不容易。
注意:1.這一切的計算式都是根據天球不同的座標系集合的乙個經典演算法之一,計算式都很簡單。
2.如果是赤道座標轉為地平座標,帶入計算式前,先得確定當地當時的恆星時,以此判斷天體可能的位置,尤其要弄清時角的方向,判斷其是否過中天就。然後就可以用上面的公式[a¹=a+180(t>0),a²=180-a]將原先計算結果轉化為正確的,可見的直接結果。天空執行一般是自東向西,赤經數值更大的,一般都在赤經數小的東方。
3.cos函式可以將180°作為乙個迴圈週期,如上判斷計算結果。[a₁=180+a(a<180);a₂=a-180(a>180)]這個公式僅適用於下面將地平座標轉化為赤道座標時可帶入的方位角a的值。
4.注意不要搞混了,這些東西得多實踐一下,實踐出真知,直覺最準確。
最後再說一點吧,以上是我自己看這個公式在學校裡面一天天自己測出來的,那個時候還是初三。寢室裡的同學都對我的行為表示很迷惑。
"你這在看什麼?起這麼早。"
"你又在看啥?宿管來了,快睡覺!"
後來有一天閒了下來,就給他們說了我們現在看到的是什麼星星,一群人都很震驚。
最讓他們吃驚的是這一切全是計算出來的。
然後我就順利的拉了幾個同學入夥。
我只想說,興趣改變人的習慣,也會改變一群人的認知。
它的力量還是有點大的。
(這些都是以前我初三寫的,拿出來分享一下,至於cos函式在這裡面的問題我就不改了◐▂◐)
雙球座標系 天文 教你認識三大天球座標系!(上)
什麼是天球?敕勒歌 有云 天似穹廬,籠蓋四野。這八個字形象說明了當我們仰望天空的時候,我們會覺得天彷彿就像乙個很大的倒扣的鍋。這是因為當雙眼聚焦於非常遠的物體時,會產生一種距離都一樣的錯覺。在夜晚也一樣。雖然每個肉眼能看到的天體與地球的距離相差十分大,但在我們看來它們似乎都是一樣遠的。你並不會覺得火...
算符在球座標系 球座標系中的角動量算符
預備知識 角動量 量子 本文使用原子單位制 在量子力學中,我們一般把角動量算符放在球座標中表示 把軌道角動量算符在直角座標系中的定義 式 2 通過鏈式法則用球座標表示 留作習題 begin l x mathrm left sin phi frac cot theta cos phi frac rig...
兩個座標系間的轉換
已知一系列點在a座標系下的座標和b座標系下對應的座標,求兩個座標系之間的轉換關係。把rt作為未知數表示出來 取n個對應點,聯立方程得ax b x a b matlab 如下 function x readx path readxworld 此處顯示有關此函式的摘要 此處顯示詳細說明 讀入txt中的格...