当赤经和赤纬已知,两个天体间的角距离可由下式计算:
cos(d) = sinδ1 sinδ2 + cosδ1 cosδ2 cos(α1-α2) ……16.1式
式中α1、δ1是一个天体的赤经和赤纬,α2、δ2是另一个天体的赤经和赤纬。
当天体的黄经λ黄纬β已知,天体角距离公式同样使用上式,只需把α1、α2、δ1、δ2换为λ1、λ2、β1、β2。
当d接近于0或180度时,(16.1)不在适用。因为此时|cos(d)|接近于1,并且其值随d变化很小,所以得到的d不精确。例如:
cos(0°01'00") = 0.999999958
cos(0°00'30") = 0.999999989
cos(0°00'10") = 0.999999997
cos(0°00'00") = 1.000000000
如果角度差非常小,如小于0°00'10",那么应改用下式计算:
d = √(Δα*cosδ)2+(Δδ)2 ……16.2
式中Δα是两个赤经的差,Δδ是两个赤纬的差,δ是两个赤纬的平均值。应注意,Δα和Δδ应表达为相同的单位。
如果Δα是“小时”单位,Δδ是度单位,d是角秒单位,则公式如下:
d = 3600√ (15*Δα*cosδ)2+(Δδ)2 ……16.3
如果Δα是“时秒”单位,Δδ是角秒单位,d是角秒单位,则公式如下:
d = √(15*Δα*cosδ)2+(Δδ)2 ……16.4
公式(16.2)、(16.3)、(16.4)仅在d很小的时候才适用。
你还可以使用本章末的其它公式。
例16.a:计算Arcturus(α Boo)和Spica(α Vir)之间的角距离。这两颗的J2000.0坐标是: α Boo: α1 = 14h 15m 39s.7 =213°.9145 δ1 = +19°10'57" = +19°.1825 α Vir: α2 = 13h 25m 11s.6 = 201°.2983 δ2 = -11°09'41" = -11°.1641
由公式(16.1)得cos(d) = +0.840633,因此d = 32°.7930 = 32°48'
当然,这个距离是J2000.0时它们的角距离。由于恒星自行,这个距离随时间缓慢变化。
练习:计算Aldebaran和Antares的角距离。答案:169°.58'
一个(或二个)天体可能是移动的。例如,一个行星和一个恒星,或者二个行星。在这种情况下,可以写个程序,先对δ1、δ2和α1-α2这三个量进行插值计算,之后再把插值结果代入公式(16.1)或(16.2)算出d。提示:利用插值结果并利用(16.1)式计算d时,如果cos(d)<0.999995,那么可以直接算出d,否则应改用(16.2)式。
译者注:为什么要先对(16.1)式所需的三个量δ1、δ2和α1-α2先做插值处理,而不是直接对距离d进行插值处理?因为,当星体之间的距离很近,接近会合时(比如它们可以会合),我们可以把星体之间的运动看做均速的,就会发现,两线星间是“线性”的靠近然后“线性”的远离,当我们画出“时间——距离”图象,将得到一条"V"字形的图象,这样星体会合时“时间——距离”图象的曲率非常大,插值的精度不高。
练习:使用以下坐标值,计算水星与土星之间的最近距离。
答案:两星体间的最短的角距离是0°03'44",发生在1978年9月13日 15h 06m.5 TD = 15h 06m UT。
我们看到,达到最近距离时,它们几乎会合了。我们必须强调这个事实,在这种情况下,应先对δ1、δ2和α1-α2进行插值计算,而不能直接对距离进行插值计算出最近距离。
假设我们直接对距离进行插值计算。利用16.1式,我们得到以下距离,单位是度,共5个:
1978 9月 12.0 TD d1 = 2.5211度 1978 9月 13.0 d2 = 0.9917度 1978 9月 14.0 d3 = 0.5943度 1978 9月 15.0 d4 = 2.2145度 1978 9月 16.0 d5 = 3.8710度
很明显,最小距离发生在9月13.0和14.0日之间,并且更接近14.0日一些。
现在,我们使用中间的3个值d2、d3、d4,并利用公式(3.4)计算最小距离为0°.5017 = 0°30'06"。也可以使用5个值d1到d5,利用(3.9)式计算出“更好”的nm,公式(3.9)相应的极值公式是(3.8)式,计算得极值是0°.4865=0°29'11"。
以上两个结果都完全错误。在接近最小距离之前的一小段时间内,水星几乎是直线靠近土星,两星体间的角距离随时线性递减。同样,在达到最近距离之后的一小段时间内,水星以几乎按直线离开土星。
图中实线曲线表示两个星体角距离的真实变化。除了十分靠近最小距离的这段曲线外,两边几乎就是两条直线,一条经过B,另一条经过C和D,在这种情况下,插值将失效。
公式(3.3)、(3.4)和(3.5),是把函数的部分曲线拟合为抛物线。但是,这几乎是两条直线不是抛线,除非在十分靠近极点的那么小距矩中。
如果我们使用B、C、D三点及它们相应的距离d2、d3、d4,那么利用插值公式(3.3),我们得到通过这三点的抛物线,如图中的虚线。这条抛物线与真实曲线相差很大,尤其是在它的极值处相差更多。
使用5个值d1到d5,代替3点插值,仍然无济于事。因为实线与4次多项式仍然相差太大。
因此,对距离直接执行插值得不到准确结果。正如我们已经说的,我们应对原始坐标进行插值,只有它们才能准确推算出中间时刻的距离,接下来使用公式(3.8)插值,我们得到以下几个插值因子:
n 距离(度) -0.50 0.21437 -0.45 0.14057 -0.40 0.07790 -0.35 0.07028 -0.30 0.12815 显然,最小距离对应的n在-0.40到-0.35之间,所以我们可以在这个范围内用更小的间隔来计算角距离:
n 距离(度) -0.38 0.06408 -0.37 0.06229 -0.36 0.06448 现在,这个列表的间隔已经足够小,可以使用(3.4)式和(3.5)式了。我们得到最小的距离是 n = -0.370502 时取极值0°.06228 = 0°03'44",对应的时刻就是上面说到的 9月13.629498 = 9月13日15h 06m.5 TD。
然而,无需计算以上的几个插值因子n,而通过引入直角坐标计算出角距离也是可能的。这些坐标值是u和v,单位是角秒,用下式计算:
式中的α1和δ1是第一个行星的赤经和赤纬,而Δα=α2-α1,Δδ=δ2-δ1,其中α2和δ2是第二个行星的赤经和赤纬。
让我们计算3个等时间间隔的u和v的值。对于其它任意中间时刻,可以使用公式(3.3)插值计算得到,而它们的变化率(单位:角秒/列表时间隔)为:
u' = ( u3 - u1 )/2 + n( u1 + u3 - 2u2 )
式中n是插值因子,u1、u2、u3是u的三个计算值。v'的表达式与上式类似。
插值因子n从任意一个值开始,一个良好的选择是n=0。对于这个n,利用公式(3.3)进行插值得到u和v,进而得到变化率u'和v'。那么n的修正值为:
Δn = -( uu' + vv' )/( u'2 + v'2 )
所以,n的新值是 n+Δn,重复计算n,直到Δn是一个很小的量,例如绝对值小于0.000001。
得到n以后就可再算出u和v,那么最小距离是(单位是角秒):sqrt(uu+vv)。
让我们利用这个方法解决以上提到的水星与土星会合问题。选择3个时刻:1978年9月13.0、14.0、15.0日。我们得到以下u和v的值,保留了一些额外的小数位,以避免舍入误差:
因此Δn=-0.002142,则n修正后: -0.368582 - 0.002142 = -0.370724
再次迭代得到Δn=-0.000003,所以最后n的值是 -0.370724 - 0.000003 = -0.370727。
[这个值与前面得到的n=-0.370502,因为前面的计算只用了行星的3个位置,而不是5个位置。不过相差只有0.000225日,即19秒]
对于n=-0.370727,我们得到 u = +70".20,v = -212".42,因此两个行星的最小距离是:sqrt(uu+vv) = 224" = 3'44",和前面的一样。
同样的方法可以用于其中一个星体是恒星的情况,只是把恒星的坐标值是个常数。但要注意,恒星的α和δ所涉及的赤道坐标系应与另一个移动星体所用的坐标系相同。(译者注:恒星坐标一般是FK5坐标系的,行星常用的坐标系可能是VSOP87的Date黄道坐标或其它坐标,应注意坐标变换)
如果移动的星体是主行星,给出的是Date分点坐标的视赤经和视赤纬涉,那么恒星坐标值也必须是相对于Date分点坐标系的。如果一个恒星位置坐标取自星库,涉及标准分点坐标(J2000.0赤道坐标),那么就应考虑恒星自行、岁差、章动及光行差(在第22章还会讲到),把这个坐标转换到Date分点坐标中。
如果移动的星体α和δ,已经是标准分点坐标(天文观测坐标),那么恒星的α和δ也必须是涉及标准分点坐标的,这时只需考虑恒自行即可。
译者注:插值计算时,几个插值节点的时间间隔很短,通常只用几天或几个小时,这么段的时间内,恒星的位置可以看做不变。但星库中的恒星位置通常是指J2000.0时刻的恒星位置坐标,这个时刻可能与我们计算的时刻相差很多年,此期间,恒星的自行造成恒星的实际位置与星库中的位置不相符,所以要做恒自行修正。
可供选择的替代公式
虽然,公式(16.1)是很准确的,但是,从算术计算的角度看来,当d很小时,精度是很糟糕的,这一点在本章开始部分就已经讲到了。正由于这个原因,有几个其它的方法已经被推荐。
其中一中方法是,考虑使用旧的半正矢(hav)函数,它对某些包含小角度的天文计算有很大的帮助,可以保留足够的有效数字。hav定义如下:
havθ = (1-cosθ)/2
余弦公式(16.1)可精确等价于:
hav d = havΔδ + cosδ1 cosδ2 hav Δα (16.5)
式中Δα = α1 - α2, Δδ = δ1 - δ2
在使用计算机计算时,我们还可以利用以下恒等式:
havθ = sin2(θ/2)
利用公式(16.5),在接近180度到0度的整个范围内,角度差可以被计算十分精确。
J.j.Slabinski 提供了另一种方法:
sin2d = (cosδ1 sinΔα)2 + (sinδ2 cos δ1 cosΔα - cosδ2 sinδ1)2
不过,这个公式不能区分补角,例如144度与36度。在d接近90度时,这个公式精度很低。
参考文献
1、A.Danjon,《Astronomie Generale》,第36页,公式3.2(巴黎 1959) 2、《天空和望远镜》,卷68,第159页(1984年8月) 3、《天空和望远镜》,郑69,第158页(1985年2月)