漫天繁星的星空总是让人向往,(诶诶诶,你可等会儿吧,城市里哪儿来的满天繁星啊?)害,没见过没关系,只要基础的几个亮星能看见就行。但是每天地球在动(自转和公转),星星还那么多,那那群天文爱好者或者是天文学家是如何辨认每颗星星的呢 不会搞错吗?
当然在现如今的世界上,观星可以靠计算机软件代替而且就现在来讲,还多种多样。但是,
你或许忽略了一个问题,学校里能带手机吗?(这话说的╭( ̄▽ ̄)╮)这不(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函数在这里面的问题我就不改了◐▂◐)