├── README.md └── content ├── part01.md ├── part02.md ├── part03.md ├── part04.md ├── part05.md ├── part06.md ├── part07.md ├── part08.md ├── part09.md ├── part10.md ├── part11.md ├── part12.md ├── part13.md ├── part14.md ├── part15.md ├── part16.md ├── part17.md ├── part18.md ├── part19.md ├── part20.md ├── part21.md ├── part22.md ├── part23.md ├── part24.md ├── part25.md ├── part26.md ├── part27.md ├── part28.md ├── part29.md ├── part30.md ├── part31.md ├── part32.md ├── part33.md ├── part34.md ├── part35.md ├── part36.md ├── part37.md ├── part38.md ├── part39.md ├── part40.md ├── part45.md ├── part46.md ├── part47.md ├── part48.md ├── part50.md ├── part51.md ├── part52.md ├── part53.md ├── part54.md └── part55.md /README.md: -------------------------------------------------------------------------------- 1 | # 《Astronomical Algorithms, Second Edition》 2 | # 《天文算法》第二版 中文翻译 3 | 作者:Jean Meeus 4 | 5 | ## 目录 6 | - 第1章 [注释与提示](content/part01.md) 7 | - 第2章 [关于精度](content/part02.md) 8 | - 第3章 [插值](content/part03.md) 9 | - 第4章 [曲线拟合](content/part04.md) 10 | - 第5章 [迭代](content/part05.md) 11 | - 第6章 [排序](content/part06.md) 12 | - 第7章 [儒略日](content/part07.md) 13 | - 第8章 [复活节日期](content/part08.md) 14 | - 第9章 [力学时和世界时](content/part09.md) 15 | - 第10章 [地球形状](content/part10.md) 16 | - 第11章 [恒星时与格林尼治时间](content/part11.md) 17 | - 第12章 [坐标变换](content/part12.md) 18 | - 第13章 [视差角](content/part13.md) 19 | - 第14章 [升、中天、降](content/part14.md) 20 | - 第15章 [大气折射](content/part15.md) 21 | - 第16章 [角度差](content/part16.md) 22 | - 第17章 [行星会合](content/part17.md) 23 | - 第18章 [在一条直线上的天体](content/part18.md) 24 | - 第19章 [包含三个天体的最小圆](content/part19.md) 25 | - 第20章 [岁差](content/part20.md) 26 | - 第21章 [章动及黄赤交角](content/part21.md) 27 | - 第22章 [恒星视位置](content/part22.md) 28 | - 第23章 [轨道要素在不同坐标中的转换](content/part23.md) 29 | - 第24章 [太阳位置计算](content/part24.md) 30 | - 第25章 [太阳的直角坐标](content/part25.md) 31 | - 第26章 [分点和至点](content/part26.md) 32 | - 第27章 [时差](content/part27.md) 33 | - 第28章 [日面计算](content/part28.md) 34 | - 第29章 [开普勒方程](content/part29.md) 35 | - 第30章 [行星轨道要素](content/part30.md) 36 | - 第31章 [行星位置](content/part31.md) 37 | - 第32章 [椭圆运动](content/part32.md) 38 | - 第33章 [抛物线运动](content/part33.md) 39 | - 第34章 [准抛物线](content/part34.md) 40 | - 第35章 [一些行星现象的计算](content/part35.md) 41 | - 第36章 [冥王星](content/part36.md) 42 | - 第37章 [行星的近点和远点](content/part37.md) 43 | - 第38章 [经过交点](content/part38.md) 44 | - 第39章 [视差修正](content/part39.md) 45 | - 第40章 [行星圆面被照亮的比例及星等](content/part40.md) 46 | - 第41章 [火星物理表面星历计算](content/part41.md) 47 | - 第42章 [木星物理表面星历计算](content/part42.md) 48 | - 第43章 [木星的卫星位置](content/part43.md) 49 | - 第44章 [土星环](content/part44.md) 50 | - 第45章 [月球位置](content/part45.md) 51 | - 第46章 [月面的亮区](content/part46.md) 52 | - 第47章 [月相](content/part47.md) 53 | - 第48章 [月亮的近地点的远地点](content/part48.md) 54 | - 第49章 [月亮的升降交点](content/part49.md) 55 | - 第50章 [月亮的最大赤纬](content/part50.md) 56 | - 第51章 [月面计算](content/part51.md) 57 | - 第52章 [日月食](content/part52.md) 58 | - 第53章 [日月行星的视半径](content/part53.md) 59 | - 第54章 [恒星的星等](content/part54.md) 60 | - 第55章 [双星](content/part55.md) 61 | - 第56章 [日晷的计算](content/part56.md) 62 | -------------------------------------------------------------------------------- /content/part01.md: -------------------------------------------------------------------------------- 1 | # 第一章 技巧与提示 2 | 3 | 讲解如何在计算机上计算和编程的技巧,超出了本书的范围。读者想深入了解此内容,必须仔细研究计算机的指令手册。然而,想要编写出好的程序可并非一日之功。这是一门需要循序渐进的艺术。只有通过实践才能写又好又短的程序。在本书第一章,我们将提供一些大家普遍关注的实用技巧与提示。 4 | 5 | ## 大角度的三角函数 6 | 7 | 大角度频频出现在天文计算中。在例25.a中,我们可以看到,在1992年10月13.0日,太阳的平黄经是-2318.19281度。实际上,大角度产生于像月球、明亮的木星卫星或自转的行星等快速转动的天体(见例42.a中,第9步角W的计算实例)。 8 | 9 | 有时把角度转化到0~360°范围之内是很必要的,因为某些计算器或程序设计语言计算大角度三角函数,结果不准确。例如,你可以试试计算3600030度的正弦。正确结果应该为0.5。 10 | 11 | 12 | ## 角度模式 13 | 14 | 大多数计算机不能直接计算角度为度分秒表示的三角函数。在执行三角函数之前,应把角度转换为以度为单位的十进制形式。如此,在计算23°26′49″的余弦时,首先把角度转化为23.44694444度,然后再用余弦函数计算。 15 | 16 | 比较复杂的是,多数程序语言使用弧度而不是度来计算,总是把度转为弧度,这让人很厌恶。但是大多数计算机语言在计算角度为度的三角函数前,不得不这样做。转换度为弧度,乘以π/180=0.017453292519942...即可。 17 | 18 | ## 赤经 19 | 20 | 赤经通常用时间的时分秒表示。计算赤经的三角函数,必需把赤经转换为度(然后,如需要再转换为弧度),记住1小时对应于15度。 21 | 22 | **例1.a** ——当α = 9h 14m 55s.8时,计算tan α。我们首先把α转化为以时为单位的十进制数: 23 | 9h 14m 55s.8 = 9+14/60+55.8/3600=9.248833333时。 24 | 然后再乘以15,我们得到α=138°.73250。然后再乘以180/π=0.0174532925...得到α的弧度, 25 | 然后得出 tan α=-0.877517。 26 | 27 | ## 正确的象限 28 | 29 | 当已知一个角的正弦、余弦或正切值时,可以通过反函数,反正弦(ASN或ASIN),反余弦(ACS或ACOS)或反正切(ATN或ATAN),求出角的值。但遗憾的是,在一些程序设计语言中,没有提供反正弦和反余弦函数。 30 | 31 | 反三角函数(arcsine, arccosine, arctangent)并不是单值函数。例如,如果sinα=0.5,那么α=30°,150°,390°,等等。基于这个原因,在程序设计语言中,反三角函数的返回值范围,仅为0~360度的一半:反正弦和反正切的返回值在-90~+90度之间(也就是-π/2~+π/2弧度之间),而反余弦的返回值在0~180度之间(也就是0~π弧度之间)。 32 | 33 | 例如,计算cos147°,结果是-0.8387,用反余弦函数计算-0.8387的结果是147°。但是计算cos213°的结果,也是-0.8387,对其用反余弦函数计算,结果则是147°。 34 | 35 | 因此,当使用SIN、COS和TAN的反函数时,消除这种歧义,有时是必要的。每个问题都必须单独检查。 36 | 37 | 例如,公式(12.4)和(24.7)给出了天体赤纬的正弦。因为赤纬的取值范围在-90~+90°,所以反正弦函数可以在正确的象限算出赤纬,因此这里就不必进行检验。 38 | 公式(16.1)给出了角度差的余弦也是同样情况,实际上角度差的取值范围在0~180°,这正与反余弦函数的取值范围一致。 39 | 40 | 但是请看从赤经(α)赤纬(δ)转换到黄经(β)黄纬(λ)的公式: 41 | cosβsinλ=sinδsinε+cosδcosεsinα 42 | cosβcosλ=cosδcosα 43 | 44 | 令第一个方程为A,第二个方程为B,用A式除以B式,我们可以得到tanλ=A/B,则对A/B使用反正切函数可以求出角λ,该角的取值在-90~+90°范围内,角度结果可能会相差±180°(由于正切函数的周期为180°)。确定角所在的正确象限可以通过如下测试:如果B<0,求得的结果加上180°。不过一些程序设计语言(如C语言、javascript、VB)还提供了重要的第二个反正切函数ATAN2,这个函数有两个参数A和B,这个函数会求出正确的结果并转化到正确的象限。例如,设A=-0.45,B=-0.72,使用ATAN(A/B)=32°,而使用ATAN2(A,B)可以求得正确结果是-148°,或+212°。 45 | 46 | ·负的角度值的输入 47 | 48 | 以度分秒方式表示的角度可以用三个独立的参数(D,M,S)输入。例如,21°44′07″可以用三个数字21,44,07输入,然后程序中使用H=D+M/60+S/3600转化成为以度为单位。 49 | 50 | 我们还应该仔细考虑负的角度的情况,比如角度是-13°47′22″,代表的是-13°,-47′和-22″,这样的话D=-13,M=-47,S=-22。所以的参数都应该有同样的正负号。 51 | 52 | 对-13°47′22″可能的错误理解是输入-13°,+47′和+22″,这样输入的结果实际上是-12°12′38″。 53 | 54 | ·时间的幂 55 | 56 | 一些数值需要通过含有时间的幂(如T,T2,T3,……)的公式来计算,应当注意的是这样的多项式只是在T的值不是太大的情况下才是合理的,比如公式: 57 | 58 | e=0.04629590-0.000027337T+0.0000000790T2 (1.1) 59 | 60 | 给出了天王星的轨道偏心率;T是以自2000年起算的儒略世纪数(每世纪36525天),显然该式只有在公元2000年前后,比如T在+30~-30范围内有效。如果|T|>30,这个公式就不再有效,比如T= —3305.8,公式的结果将是e=1。一个认为“计算机从不犯错的”人可能会认为T= —3305.8时,天王星轨道是抛物线,进而认为天王星起源于太阳系之外——这显然是伪科学。 61 | 62 | 实际上尽管行星轨道的偏心率e在超过了定义的时间上限后变化并不是有规律的,但是时间在很少的几个千年纪之内,偏心率是可以用像(1.1)那样的多项式精确表示的。 63 | 64 | 进一步的观察我们可以发现公式中有周期项(公式中的正弦和余弦项,在几个世纪内变化很小)和长期项的不同(如公式中含有T,T2,T3,……的项,它随着时间的增加快速增大)。当T很小的时候,T2项会变得很小,但是当|T|值很大的时候这一项会变得非常重要。因此当|T|值比较大的时候考虑含有T2等项的周期项是没有意义的,在计算中也不用考虑。 65 | 66 | ·避免幂计算 67 | 68 | 假设我们计算这样一个多项式:Y=A+BX+CX2+DX3+EX4 69 | 70 | 其中A,B,C,D,E是常数,X是变量。现在可以在计算机中一项项直接相加来求出每一个给定X的多项式的值。然而可以采用一些聪明的方法来避免计算X的幂,比如: 71 | 72 | Y=A+X(B+X(C+X(D+EX))) 73 | 74 | 在这个式子中幂计算都消失了,采用了乘积来替代幂的计算。这种多项式的表示方法被称为Horner方法,这种方法因为避免了幂计算,所以特别适合自动计算。 75 | 76 | 不用幂计算,而采用计算A*A的方法来计算A的平方也是一个聪明的办法,我们使用这样一段程序在HP-85计算机上计算前200个正整数的平方: 77 | 78 | FOR I=1 TO 200 79 | K=I^2 80 | NEXT I 81 | 82 | 完成计算需要费时10.75秒。但是,当我们把第二行换成K=I*I的话,完成整个计算只需费时0.96秒! 83 | 84 | ·缩短一个程序 85 | 86 | 把程序写尽可能短小通常不仅是代表着艺术,而且在计算机内存受限情况下也是必须的。即使对于简单的计算,也存在一些把程序缩短的技巧。假设我们要计算下面多项相加的和S: 87 | 88 | S=0.0003233sin(2.6782+15.54204T) 89 | +0.0000984sin(2.6351+79.62980T) 90 | +0.0000721sin(1.5905+77.55226T) 91 | +0.0000198sin(3.2588+21.32993T) 92 | +…… 93 | 94 | 首先因为正弦的系数都是很小的数,可以通过采用以一个常数作为计数单位(在这个例子中是10-7)来避免输入那么多的数字,比如我们用3233来代替0.0003233。因此在计算了所有项之后,我们再把和除以10-7。 95 | 96 | 其次,在程序中声明全部数值项也是不明智的。相反,我们应该采用所谓的循环来完成计算。上面A*sin(B+CT)的每一项的A,B,C值应作为程序的数据部分。假如有50项,程序可以这样写: 97 | 98 | double s=0, data[50*3]={3233,2.6782,15.54204,……}; //每3个一组 99 | int i,p; 100 | for(i=0;i<50;i++){ 101 | p = i*3; 102 | s += data[p]*sin( data[p+1]+data[p+2]*T ); 103 | } 104 | s/=1e-7; 105 | 106 | 译者注:如果数据量较大,应考虑将数据与程序合理的分离;数据可以放在程序中的“数组”之中,如果数据量多达几万行或更多,多数情况下我们会考虑放在外部文件之中。 107 | 108 | ·安全性测试 109 | 110 | 在可能出现“不可能”出现的情况下,需要进行安全性测试。例如,在迭代到特定数量之后计算停止却没有达到要求的精度。 111 | 112 | 或者考虑月掩星的情况,在程序中根据当地的环境来计算被掩恒星消失和再次出现的时间。然而,可能在给定的地点根本看不到这颗恒星被掩。在这种情况下,初切时间和终切时间根本就不存在,试着计算这两个时间会碰到计算一个负数的平方根的情况。为了避免出现这个问题,程序应该首先计算这颗恒星到月面中心的最短距离(从给定的地点观看),而且当且仅当这个距离小于月面半径的情况下才计算初切和终切时间。 113 | 114 | ·调试 115 | 116 | 在程序写完之后必须要检查被称为Bug的错误。定位和修改程序中Bug的过程被称为调试。在无论使用什么程序设计语言编程,可能会有如下几种类型的Bug: 117 | 118 | a. 语法错误:不符合程序设计语言的规则,比如拼写错误、遗漏了括号,或者编程语言的保留字。例如,在BASIC中: 119 | A=SIM(B) 应该是 A=SIN(B) 120 | P=SQR((A+B) 应该是 P=SQR((A+B)) 121 | 122 | b. 语义错误:比如遗漏程序行,例如在程序中不存在800行的情况下有GOTO 800语句。 123 | 124 | c. 运行错误:在程序运行中出现的错误。例如:A=SQR(B),在程序中计算B的平方根,但是B的值为负值。 125 | 126 | d. 其他编程错误:下面的几种错误经常会发生: 127 | 128 | ·错把字母“o”当作数字“0”输入,或者把字母“I”当作数字“1”输入。 129 | ·同一变量名在程序中使用了两次(变量代表不同意思)。 130 | ·输入数值常数的的错误(比如错把127.3当作127.03,或者错把15当作0.15),把*错当+。 131 | ·使用单位错误。例如一个角没有用弧度而是用度来作为单位,或者赤经用时做单位而没有转换成度或者弧度。 132 | ·角定位在错误象限。请见“修正角所在的象限”一节。 133 | ·数值舍入错误。例如一个人在计算d的余弦值,在d很小的情况下使用cos()效果不好。实际上如果d非常小,它的余弦值就几乎等于1,而且除弦值随d变化非常缓慢。在这种情况下计算出来余弦值是不准确的。 134 | 比如,cos15″=0.99999997,而cos0″的准确值为1。如果想计算角度d的值非常小,可以通过其他方法来计算d的余弦值。比如,可以参考第16章。 135 | ·一个不能保证覆盖各种情况的迭代过程。请见第5章(迭代)和第29章(Kepler方程的解法)。 136 | ·使用了错误的计算方法。例如,交换两个数值X,Y,就需要使用一个中间变量A。 137 | 不正确的方法:X=Y;Y=X; 138 | 正确的方法:A=X;X=Y;Y=Z; 139 | 140 | 在QuickBASIC,GWBASIC或者其他BASIC版本中,有一个SWAP函数:SWAP(X,Y)来交换X,Y两个数值。 141 | 142 | ·检查结果 143 | 144 | 当然,一个程序不仅要在“语法”正确,还要给出正确的结果。要用已知的方法检查你的程序,比如,如果你写了一个程序计算行星位置或者月相的时间,应该把计算结果和天文年历上给出的数值进行比较。 145 | 要在一些“特殊”情况下检查你的程序。比如,你的程序在赤纬为负值的情况下计算结果是否仍然正确?或者,在赤纬在0°和-1°之间是否正确?或者,观测者的纬度正好为0时是否正确?或者,时间为负值时是否正确? 146 | -------------------------------------------------------------------------------- /content/part02.md: -------------------------------------------------------------------------------- 1 | # 第2章 关于精度 2 | 3 | 本章所要讨论的主题是:具体问题所需要的精度;程序设计语言的精度;最后结果发表的精度。 4 | 5 | 具体给定问题所需的精度 6 | 7 | 所需的计算精度,取决于具体问题的目标要求。例如,如果想计算行星的升或降的时刻,计算到0.01度已足够。原因是明显的,天球周日运动,每转过1度对应4分钟,所以0.01度的位置误差,引起的升或降时刻的误差大约为0.04分钟。为了解决这个问题,如果我们考虑数百个周期项,把位置精度控制到了0".01,那是在浪费精力和计算机的时间。 8 | 9 | 但是,如果要计算行星引起的恒星食,那么就要求行星位置的计算精度高于1",因为行星圆面的尺寸很小。 10 | 11 | 为某一具体问题编写的程序,不一定适用于另于相似的问题。假设,为了计算恒星的位置,一个程序使用了第20章的“低精方法”得到的岁差。观测者利用望远镜寻找星体,使用这种精度的位置是足够的。但是,在计算“星食”或“会合”时,象这样低精度的位置是没有价值的。 12 | 13 | 如果所需的精度已确定,我们必须使用一种适当的算法,满足其精度要求。John Mosley 提到了一个计算行星位置的商用价值的程序,但由于没有考虑摄动,即使在最近的几个角秒,土星、天王星、海王星的位置误差达1度。 14 | 15 | 为了取得更高的精度,不是简单地对大约值保留更多的有效数字,常常需要使用其它方法。例如,如果想获得精确到0.01度的火星位置,使用无摄的椭圆轨道(开普勒运动)就已足够。然而,如果对火星位置精度要求达10"或更高,就必须考虑其它行星的摄动,程序将变得比较长。 16 | 17 | 对于程序员,必须清楚他的公式及具体问题的精度要求,充分考虑各种可省略的项让程序变得更简洁。例如,涉及Date平分点的太阳几何平黄经: 18 | 19 | L = 280°27'59".244+129602771".380T+1".10915T2 20 | 21 | 式中T是从历元2000年1月1.5日起算的儒略世纪数(36525个历书日)。在这一表达式中,如果|T|<0.95,即在1905年到2095年,最后一项(太阳的世纪加速度)小于1"。如果1"精度已足够,那么,在这一时期内,T2项可以忽略。但时,在公元100年,T=-19,最后一项的值是394",大于0.1度。 22 | 23 | 计算机的精度 24 | 25 | 这是一个很复杂的问题。程序设计语言可工作在足够位数的有效数字。注意:与小数位是不同的!例如,0.0000183有7位小数,但只有3个有效数字。有效数字指,除去左边前导的所有的"0"后,剩下数字的位数。 26 | 27 | 一台机器,四舍五入到6位有效数字,结果1000000+2就是1000000。 28 | 29 | 计算两个十分接近数的差值时,是很危险的。假设执行了以下减法:6.92736 - 6.92735 = 0.00001.每个数字的有效数字是6位,但是,相减后的结果却只有一位有效数字。另外,两个给定的数可能已做了四舍五入,那么情况将更糟糕。假设两个数的精确值是6.9273649和6.9273451,那么正确的结果是0.0000198,它几乎是刚才的两倍。 30 | 31 | 6位或8位有效数字(早期的微机或如今的“单精度”),均不能满足天文计算的要求。 32 | 33 | 在很多应用中,要求计算机的有效数字位数比最后结果的有效数字大很多位。例如,让我们考虑任意时刻的月亮平黄经公式,单位是度(参见第45章): 34 | 35 | L' = 218.3164591 + 481267.88134236T - 0.0013268T2 + 0.0000019T3 36 | 37 | 式中T是历元2000年1月1.5TD起算的儒略世纪数(36525日)。假设,我们要得到0.001度的月亮平黄经精度。因为经度限制在0——360度,你可能会想到,计算机内部精度只需6位就已足够(小数点之前3位,小数点之后3位)。然而,这个问题不是这样的,因为,在转到0——360度之前,L'的值可能很大。 38 | 39 | 例如,让我们计算2040年1月1日12h TD,即T=0.4时,L'的值。我们得到L'=192725.469度,转换后变为125.469度。但是,如果电脑工作在6位有效数字,得到的不再是L'=192725.469度,而192725度(6位!),转换后变为125度,所以最后的结果精度只有1度,误差0.569度或28',而且这仅发生在历元后的40年。在这种情况下,不可能用于计算日月食或星食。 40 | 41 | 以下BASIC小程序可以找出电脑的内部精度: 42 | 43 | 10 X=1 44 | 20 J=0 45 | 30 X=X*2 46 | 40 IF X+1<>X THEN 60 47 | 50 GOTO 80 48 | 60 J=J+1 49 | 70 GOTO 30 50 | 80 PRINT J,J*0.30103 51 | 90 END 52 | 53 | 这里,J是浮点数的尾数部分的比特数,而0.30103J是10进制数的有效数字。常数0.30103是log10(2)。例如,HP-85计算机的J=39,因此是11.7位。在HP-UX Technical Basic 5.0,工作在HP-Integral微机,我们得到J=52,因此是15.6位。QUICK-BASIC 4.5中得到的是J=63,因此是19.0位。 54 | 55 | 不过,这个精度指简单的算术运算的精度,不是指三角函数。虽然日本东芝公司带GWBASIC电脑,J=55,有16.6位有效数字,但计算正弦时,只有7位是正确的,至少9位完全错误。 56 | 57 | 一种迅速检测三角函数计算精度的方法是PRINT 4*ATN(1)。如果计算机工作在弧度制,应得到一个著名的数PI=3.14159265358979...或者,可以计算一个某个角的正弦值,该正弦值精确已知的,例如: 58 | 59 | sin(0.61弧度) = 0.57286746010048... 60 | 61 | 计算机的舍入误差不是可避免的。例如,考虑这个值,1/3=0.33333333...因为计算机不能处理无限小数,一个数字必须在某处截断。 62 | 63 | 从某次计算到下一次计算,舍入误差可能被积累。多数情况下,这是不要紧的,因为这种误差几乎可以忽略。但是,在某些算术应用中,这种误差积累可能无限制的增加,虽然这已超出本书的范围,不过,我们还要提到两种情况。 64 | 65 | 考虑以下程序: 66 | 67 | 10 X=1/3 68 | 20 FOR I=1 TO 30 69 | 30 X=(9*X+1)*X-1 70 | 40 PRINT I,X 71 | 50 NEXT I 72 | 60 END 73 | 74 | 第30行,实际上是将x赋值给它本身(1/3赋值给x)。可是,大部分计算机将得到无穷大的结果。用刚才提到的HP-UX Technical Basic得到: 75 | 76 | 4 步之后 0.333 333 333 333 308 77 | 14步之后 0.333 326 162 117 054 78 | 19步之后 0.215 899 338 763 055 79 | 24步之后 286.423... 80 | 30步之后,其值为10217 81 | 82 | 不同的计算机的计算结果是不相同的,你甚至要以用手持式计算器做个测试:对1.0000001连续平方,27次之后,10位有效数字的结果应是674530.4707。以下是一些电脑或程序语言得到的结果: 83 | 84 | 674 494.06 在HP-67计算器 85 | 674 514.87 在HP-85微机 86 | 674 520.61 在TI-58计算器 87 | 674 530.4755 在HP-Integral(HP-UX Techn. Basic) 88 | 674 530.4755 在QUICKBASIC 4.5 89 | 90 | 但是,故事还没结束。计算机用的数值信息有两种不同的基本表示方法。有些计算机,如老式的HP-85,使用BCD(二进制编码的10进制数)方案表示内部数值,而在其它的多数电脑中,使用二进制表示一个数。 91 | 92 | BCD编码方案是:对十进制数的每一位单独编码。这样,对于给定的计算机或程序设计言,所有的数字都可以被准确的表示了。另一方面,二进制编码,是用2的各次方的组合表示一个数。在二进制中,分数也是用2的各次方表示的,所以,不能用2的负次方的组合的的分数不是能用二进制表示的。例如1/10是不能用2的负次方组合得到,因为1/10 = 1/16+1/32+1/128... 93 | 94 | 二进制算术运算比相应的BCD运算快得多,但是,有个不便之处就是,有些数(甚至是只有很少小数位的数)不能精确表示。 95 | 96 | 其后果是,算术运算的结果可能不正确,哪怕是只有一点点的误差。假设x=4.34,H=INT(100*(x-INT(x)))的正确结果是34,然而,很多计算机语言得到的结果是33。原因是,此时计算机内部表示x的值为4.3399999998,或其它类似的值。 97 | 98 | 另一个吃惊的例子:2+0.2+0.2+0.2+0.2+0.2-3 99 | 100 | 在很多计算机中,结果不是0!在HP-Integral中,使用HP-UX Technical Basic 5.0,得到的结果是8.88*10-16。而在同样的电脑中,计算0.2+0.2+0.2+0.2+0.2+2-3的结果却是0,可见计算的顺序也是很重要的。让人惊呀的是,在HP-Integral中,使用以下程序计算2+(5*0.2)-3,我们们得到的结果零: 101 | 102 | A=0.2+0.2+0.2+0.2+0.2 103 | B=2+A 104 | C=B-3 105 | PRINT C 106 | 107 | 考虑以下程序: 108 | 109 | 10 FOR I=0 TO 100 STEP 0.1 110 | 20 U=I 111 | 30 NEXT I 112 | 40 PRINT U 113 | 50 END 114 | 115 | 这里,I和U取值依次是0到100,步长为0.1,最后得到的U应是100。在HP-85中的确是100,但在HP-Integral却得到99.9999999999986,这在某些应用中可能造成灾难性的后果。这个误差是由于0.1转为二进制表示,相当于0.0999999...,它与0.1相差很小,但是这里执行了1000步,最后的误差将放大了1000倍。在这种情况下,补救方法是,使用整数步长: 116 | 117 | 10 FOR J=0 TO 1000 118 | 20 I=J/10 119 | 30 U=I 120 | 40 NEXT J 121 | 50 PRINT U 122 | 60 END 123 | 124 | 我们发现另一个吃惊的结果: 125 | 126 | A=3*(1/3) 127 | PRINT INT(A) 128 | 129 | 在某些计算机中可能得到正确的结果1,有些却得到0。还可以试试这个例子:A = 0.1,PRINT INT(1000*A0)。 130 | 131 | 另一个有趣的测试: 132 | 133 | INPUT A 134 | B=A/10 135 | C=10*B 136 | PRINT A-C 137 | 138 | 结果应当是0,但不同的A值,结果可能有点差别。 139 | 140 | 有一种简单的方法,判断计算机语言是否工作在BCD:通过查找整型变量所表示的最大整数值来判断。如果这个最大整数值是个“漂亮的整数”,那么表明机器工作在BCD编码。例如,在HP-85的最大整数是99999(或10^5-1)。但是,如果这个最大整数值是个陌生值(实际上它的2的n方,再减1),那么机器不是工作在BCD。在早期的TRS-80,最大整数是32767(或2^15-1),HP-Integral电脑上的HP-UX Technical Basic 5.0其最大整数是2147483647(或2^31-1)。 141 | 142 | 算术运算中的四舍五入,可能导至其它吃惊的结果。在多数微机中,sqrt(25)-5的结果不是0!如果用这个结果作为关键测试值将是有问题的。根号25是个整数值吗?答案是否定的,因为计算机告诉我们sqrt(25)-INT(sqr(25))不等零。 143 | 144 | 最后结果的舍入 145 | 146 | 结果应做舍入,保留正确的有意义的位数。 147 | 148 | “舍入”是取“最近”的近似值。例如,15.88取值为15.9或16,不是15。然而,日期或年的除外。例如,3月15.88日,指“一个时刻”附加在3月15日上:指3月15日0h之后的0.88日。所以,一个事件发生在3月15.88日,是指发生在3月15日,而不是3月16日。类似的,1977.69指1977年的某一时刻,而不是1978年。 149 | 150 | 只有“有意义”的数字应当保留。例如,计算木星的可视星等的Muller公式: 151 | 152 | m = -8.93 + 5 log(rΔ) 153 | 154 | 式中r是木星到太阳的距离,Δ它到地球的距离,二者的单位是天文单位,对数计算是以10为底的。在1992年5月14日0h TD,我们有: 155 | r = 5.417149,Δ= 5.125382 156 | 因此,m=-1.712514898。但是,如果以电脑算出这样的结果为借口,保留了所有的数字,这是十分可笑的,而且读者可能误解为精度非常的高。因为Muller公式中的常数-8.93的精度在0.01量级,你不能期望结果的精度比它更高。另外,由于木星大气的气象变化也将造成行星的星等的精度不超过0.01(甚至是0.1)。 157 | 158 | 另一个例子,John Mosley 提到的用于计算天体升或降时刻的商用程序,精度是0.1秒钟,这也是不可能达到的精度。 159 | 160 | 一些“感觉”及相关天文知识是很需要的。例如,计算月亮圆面被照亮部分的比例时,完全没有必要精确到0.000000001。 161 | 162 | 执行舍入处理,应在所有的计算完成之后,而不是在程序开始或数据输入时。 163 | 164 | 例如,计算1.4+1.4,结果取整。如果我们一开始就执行舍入,我们得到 1+1 = 2。实际上 1.4+1.4 = 2.8,四舍五入后得3。 165 | 166 | 这里有另外一个例子。海王星“冲”的日期1996年7月18日,赤纬δ=-20°24',那么行该星经过南子午圈时,地平纬度hm是多少?设观测站在德国Someberg天文台,纬度是φ=+50°23',结果精确到度。使用以下公式: 167 | 168 | hm = 90°- φ + δ 169 | 170 | 答案是: hm = 90°- 50°23' - 20°24' = 19°13' 因此是19° 171 | 172 | 如果在计算之前对φ和δ做舍入计算,将得到不正确的结果:90°-50°-20°=20°. 173 | 174 | 再看一个类似的错误:先把距离舍入到英里,再转换为千米。例如,在这种情况下,17km永远没有了,因为: 175 | 10英里 = 16.09km,舍入后得16km 176 | 11英里 = 17.70km,舍入后得18km 177 | 178 | 赤经和赤纬。——因为24小时对应360度,1小时对应15度,时间1分钟对应角度15分(注意,是15m而不是15'),1秒钟对应角度1秒(即1s而不是1"),在1秒钟的时间内,地球自转了15"。 179 | 180 | 正是由于这个原因,如果给出的天体赤纬精度为1",赤经的精度则应舍入到十分之一时秒,否则赤纬的精度将高于赤经的精度。下表是赤经(α)和赤纬(δ)精度的大约对应关系。例如,如果δ的精度是1',那么α应给出0.1m的精度。做为示例,表中还给出了Nova Cygni 1975的不同精度表示。 181 | 182 | α δ 例(Nova Cygni 1975) 183 | 1m 184 | 0m.1 185 | 1s 186 | 0s.1 0.1° 187 | 1' 188 | 0.1' 189 | 1" α=21h10m 190 | 21h09m.9 191 | 21h09m53s 192 | 21h09m52s.89 δ=+47°.9 193 | +47°57' 194 | +47°56'.7 195 | +47°56'41" 196 | 最后注意,让我们讲述一下尾部的“0”,这很重要。例如,18.0与18是不同的。前者意味着真值介于17.95到18.05之间,而后者被舍入为整数,真值介于17.5到18.5之间。由于这个原因,为了表示精度,尾部的0必须给出:恒星的星等为7,它与7.00是不同的。 197 | 198 | 参考资料 199 | 200 | 1、John Mosley,《天空和望远镜》,卷78,第300页(1989年9月) 201 | 2、F.Gruenberger,《科学美国人》,“电脑娱乐”,卷250,第10页(1984年4月) 202 | 3、John Mosley,《天空和望远镜》,卷81,第201页(1991年2月) 203 | -------------------------------------------------------------------------------- /content/part03.md: -------------------------------------------------------------------------------- 1 | # 第3章 插值 2 | 3 | 4 | 天文年历或其它出版物中包含了一些数值表,这些表是等间距离的x对应的y的值。如y是太阳的赤经,x是该年各天的0时(TD) 5 | 6 | 插值是在表中寻找某个量(x或y)的中间值的过程。比如数据表中只给出某几个时刻的y值,要求其它时刻的y值就需考虑使用插值方法。 7 | 8 | 当然,刚才说的表不一定取自某一本书,也可以来正某个程序。假设在同一天内,已计算出了多个时刻(>3)的太阳位置,比例我们算出某天0h、12h和24h的太阳位置,然后利用这些值为其它给定的时刻执行“插值计算”,进而得到相应的太阳位置,这将比直接计算太阳位置快得多。 9 | 10 | 本章将考虑两种情况:3点插值和5点插值。这两种情况下,我们都将展示如何寻找函数的极值或零值。我们不考虑只有2点的插值,这种插值是线性的,一点也不困难。 11 | 12 | ◆ 三列表值(三节点插值) 13 | 14 | 函数的列表值y1、y2、y3对应的x的值为x1、x2、x3,再让我们看如下差分表: 15 | 16 | x1 y1 17 | a 18 | x2 y2 c (3.1) 19 | b 20 | x3 y3 21 | 式中a=y2-y1,b=y3-y2,称为一阶差分。二阶差分为c=b-a,即:c = y1 + y3 - 2*y2 22 | 23 | 通常逐次差分的值会逐渐变小。当表中的某一部分的二次差为常数(即三次差分为0),就应使用三节点插值。这时还需要有一些常识和经验,例如,月亮的位置可以用每小时间隔的三点插值计算,但间隔1天则不行。 24 | 25 | 例如,让我们考虑1992年11月5日至9日(每天的0h TD)火星到地球的距离。距离使用天文单位,差分值使用0.000001天文单位: 26 | 27 | 1992年11月5 0.898013 28 | -6904 29 | 6 0.891109 +21 30 | -6883 +2 31 | 7 0.884226 +23 32 | -6860 +2 33 | 8 0.877366 +25 34 | -6835 35 | 9 0.870531 36 | 三阶差分已几乎为零,我们可以使用三节点插值。 37 | 38 | 中间节点x2应选在靠近我们要插值的x附近。例如,如果要用上表推算11月7日22h 14m的函数值,那么上表中11月8.00的值定为y2,因此我们考虑插值节点为11月7、8、9日,即: 39 | 40 | 11月7日 y1 = 0.884226 41 | 11月8日 y2 = 0.877366 (3.2) 42 | 11月9日 y3 = 0.870531 43 | 44 | 差分值为:a = -0.006860 b = -0.006835 c = +0.000025 45 | 46 | 设n是插值因子。如果函数值y是关于x参数的,那么n = x - x2,单位是节点的间隔。当x>x2时(即x的值在x2到表底之间)n为正。如果x在x2之前,那么n<0。 47 | 48 | 当正确选则了y2,那么n将在-0.5到0.5之间,虽然n在-1到1之间以下公式仍然可以得到正确结果。 49 | 50 | y = y2 +(n/2)( a + b + nc ) (3.3) 51 | 52 | 例3.a: 从表(3.2),计算1992年11月8日4h 21m TD时的火星到地球的距离。我们有4h 21m = 4.35小时,表中的节点间隔为1天=24小时,所以: 53 | 54 | n = 4.35/24 = +0.18125 55 | 56 | 由公式(3.3)得 y = 0.876125 57 | 58 | ·极值 59 | 60 |  如果列表值在极值(最大值或最小值)附近,通过以下方法可找到极值。让我们从差分表(3.1)是取得适当的部分星历,那么函数的极值是: 61 | 62 | ym = y2 - (a+b)2/(8c) (3.4) 63 | 64 | 对应的x值是: 65 | 66 | nm = -(a+b)/(2c) (3.5) 67 | 68 | 单位是表间隔,同样是从x2开始测量的。 69 | 70 | 例3.b:计算1992年5月火星经过近日点的时刻及距离。以下是每间隔4天太阳到火星的距离: 71 | 72 | 1992年5月 12.0 TD 1.3814294 73 | 1992年5月 16.0 TD 1.3812213 74 | 1992年5月 20.0 TD 1.3812453 75 | 76 | 差分值为:a = -0.0002081 b = +0.0000240 c = 0.0002321 77 | 78 | 进而得到:ym = 1.3812030 和 nm= +0.39660 79 | 80 | 因此,火星到太阳的最近距离是1.3812030AU,对应的时刻是0.39660乘以4天(列表值的时间间隔),即1.58640天,也就是在中点时刻之后1天14小时,相应的时间是1992年5月17日14h TD。 81 | 82 | 当然,如果nm是负值,极值时刻则在中点时刻之前。 83 | 84 | ·插值逆求 85 | 86 | 选择(3.1)差分表中的适当部分星历,我们可以计算出函数值y=0时对应的x值。下式可算出函数值为0时的插值因子: 87 | 88 | no = -2y2/(a + b + cno) (3.6) 89 | 90 | 解方程(3.6)时,可先用no=0代入方程右边,得到no的估值。这个估值再次代入方程的右边,将得到精度更好的no。这个过程叫做“迭代”(拉丁语:iterare = 重复),我们可以返复迭代,直到no的值不再变化,到达计算机的精度。 91 | 92 |   93 | 94 | 例3.c:以下是水星的赤纬: 95 | 96 | 1973年2月 26.0 TD -0°28'13".4 97 | 1973年2月 27.0 TD +0°06'46".3 98 | 1973年2月 28.0 TD +0°38'23".2 99 | 100 | 试计算赤纬为零的时刻。 101 | 102 | 先把列表值转为角秒单位并建立差分表: 103 | 104 | y1 = -1693.4 105 | a = +2099.7 106 | y2 = + 406.3 c = -202.8 107 | b = +1896.9 108 | y3 = +2303.2 109 | 由公式(3.6)得:no = -812.6/(+3996.6 - 202.8no) 110 | 111 | 把 no = 0 代入方程右边,得:no = -0.20332 112 | 113 | 重复计算,依次得到:-0.20125和-0.20127。因此,no = -0.20127。又因列表间隔为1天,所以水星穿过天赤道时间在: 114 | 115 | 1973年2月27.0 - 0.20127 = 2月 26.79873 = 2月26日19h 10m TD 116 | 117 | 计算函数值y为零时的插值因子no时,例3情形下,使用公式(3.6)效果非常好,因为此时的函数曲线几为是一条直线。然而,如果函数的曲率很大,使用该公式可能需要迭代很多次,此外,即使no的起步值比较精确也可能导致分歧。在这种情况下,可以使用以下更好的方法计算no,估计值no的修正量为: 118 | 119 | Δno = -[ 2y2+no(a+b+cno) ]/(a +b + 2cno) (3.7) 120 | 121 | 用新的no重量复迭代计算,直到no不再变化。 122 | 123 | 例3.d:——考虑以下函数值: 124 | 125 | x1 = -1 y1 = -2 126 | x2 = 0 y2 = +3 127 | x3 = +1 y3 = +2 128 | 这三个点其实定义了一条抛物线:y = 3 + 2x - 3x^2,在x=-1到x=+1之间,它的曲率很大,见下图: 129 | 130 | 131 | 132 | 利用公式(3.6),从no=0开始迭代,结果依次是: 133 | -1.5 134 | -0.461538... 135 | -0.886363... 136 | -0.643902... 137 | -0.763027... 138 | -0.699450... 139 | ... 140 | 需要至少24次迭代才能到6位有效数字。但如果我们使用公式(3.7),同样起步为no=0,我们得到: 141 | -1.5 142 | -0.886363636364 143 | -0.732001693959 144 | -0.720818540935 145 | -0.720759221726 146 | -0.720759220056 147 | -0.720759220056 148 | 只需6次迭代就得到了12位精度。 149 | 150 |   151 | 152 |   153 | 154 | ◆ 五列表值(5节点插值) 155 | 156 | 当三阶差分不可忽略时,应必须使用多于3列表值。取连续的5个列表值y1到y5,和前面一样,我们创建差分表: 157 | 158 | y1 159 | A 160 | y2 E 161 | B H 162 | n 163 | 164 | y3 F K 165 | ↓ 166 | 167 | C J 168 | y4 G 169 | D 170 | y5 171 | 其中 A = y2 - y1,H = F - E,等等。如果n是插值因子,从y3开始测量,单位是表值的间隔,向下(y4方向)为正,则插值公式为: 172 | 173 | 174 | 175 | -------------------------------- 176 | 177 | 例3.e:——考虑下表,月球的赤道水平视差: 178 | 179 | 1992年2月 27.0 TD 54'36".125 180 | 1992年2月 27.5 54'24".606 181 | 1992年2月 28.0 54'15".486 182 | 1992年2月 28.5 54'08".694 183 | 1992年2月 29.0 54'04".133 184 | 185 | A =-11.519 186 | E = +2.399 187 | B = -9.120 H = -0.071 188 | F = +2.328 K = -0.026 189 | C = -6.792 J = -0.097 190 | G = +2.231 191 | D = -4.561 192 | 我们看到,三阶差分(H和J)不可以忽略,除非精度要求0".1就已足够。 193 | 194 | 现在让我们计算2月28日2h 20m TD时月亮的是视差。列表值的间隔是12小时,所以有: 195 | n = (3h 20m)/12h = 3.333333/12 = +0.2777778 196 | 197 | 由公式(3.8)得: 198 | y = 54'15".486 - 2".117 = 54'13".369 199 | 200 | --------------------------------- 201 | 202 | 函数的极值对应的插值因子nm可通过解以下方程得到: 203 | 204 | 205 | 206 | 和上面的一样,我们可以执行迭代。首次,把 nm = 0 代入方程右边。当我们最后得到nm后,再通过(3.8)式得到相应的函数值。 207 | 208 | 最后,函数值为零时对应的插值因子no可由下式得到: 209 | 210 | 211 | 212 | 同样,可以通过迭代得到no,起步为no=0。 213 | 214 | 同公式(3.6)遇到同样的问题,当函数的曲率较大时,应使用更好的方法计算no,方法如下: 215 | 216 | 217 | 218 | 接下来,用新的no代入右边计算,如此重复,直到no不再变化。 219 | 220 | 练习:以下是水星的日心黄纬,请用公式(3.10)计算黄纬为0的时刻。 221 | 222 | 1988年1月25.0 TD -1°11'21".23 223 | 1988年1月26.0 TD -0°28'12".31 224 | 1988年1月27.0 TD +0°16'07".02 225 | 1988年1月28.0 TD +1°01'00".13 226 | 1988年1月29.0 TD +1°45'46".33 227 | 228 | 答案:水星经经过其轨道升交点时,no = -0.361413,即1988年1月26.638587,或者写为:1月26日 15h 20m TD 229 | 如果使用公式(3.6)得到 no = -0.362166,与前面的比较,相差0.000753日(1.1分钟) 230 | 231 |   232 | 233 | 重要注意事项: 234 | 235 | 1、执行插值时,不能直接使用“复合”量。这些量应事先转为单一的适合的单位。便如:角度表达为度分秒格式,在使用插值前,应把它们转为同一单位“度”(或者分或者秒)。 236 | 注:根据定义,“复合”数是指由不单位组成的数,如以下几个都是“复合”数:10h 29m 55s;23°26'44";先令,便士;码,英尺,英寸;a+bi。 237 | 238 | 2、时间插值与赤经。——我们应当引起注意一个事实,当到达24小时,赤经跳为0。在使用列表值进行插值时必须考虑到这一点。例如,假设我们要计算1992年4月6.2743 TD时刻水星的赤经,使用以下3个值: 239 | 240 | 1992年4月5.0 TD α=23h 51m 56s.04 241 | 1992年4月6.0 TD 23h 56m 28s.49 242 | 1992年4月7.0 TD 00h 01m 00s.71 243 | 244 | 不仅要把赤经转为带小数的小时数,还要把最后那个值写为24h 01m 00s.71,否则机器认为,从4月6.0到7.0,赤经α由23h56m...变到0h01m... 245 | 246 | 我们发现还有其它的类似情况。例如,以下是连续几天的太阳的中央子午圈经度: 247 | 248 | 1992年6月14.0 UT 37°.96 249 | 1992年6月15.0 24°.72 250 | 1992年6月16.0 11°.48 251 | 1992年6月17.0 358°.25 252 | 253 | 很明显,每天大约变化-13.24度。然而,但我们不能在11.48和358.25之间插值。应把前者写为271°.48,或者把后者写为-1.75度。 254 | 255 | 3、要尽可能避免插值在|n|>0.5。在任何情况下,插值因子应限制在-1到+1之间。计算函数极值点(nm)或零值点(no)也有同样的限制。应按这种方式选择中央的y:列表值应靠近极值或零值。当然,事先我们并不知道nm或no的准确值,但我们可以先算出估计值,之后即可根据估值确定中央值(y3或y2)。 256 | 257 | 如果选择的值距离零点或极点太远,那么本章提供的相应公式将计算不正确,甚至是荒谬的结果。让我们给出一个例子。我们知道sin(x)在x=90度时达到最大值。但让我们考虑以下含有10位有效数字正弦值: 258 | 259 | sin29° 0.4848096202 260 | sin30° 0.5000000000 261 | sin31° 0.5150380749 262 | sin32° 0.5299192642 263 | sin33° 0.5446390350 264 | 265 | 使用3节点插值,由公式(3.4)得 ym = 1.22827(而不是1),由(3.5)得到 nm = +95.35,即极值是 31° + 95°.35 = 126°.35,而不是90°. 266 | 使用5节点插值,由(3.9)式得 nm = +57.30,因此最大值位于88°.30,相应的极值是0.99348。虽然,这个结果比3节点插值要好得多,但仍然欠佳。 267 | 268 |   269 | 270 | ◆ 在中点插值 271 | 272 | 如果等间距横坐标x1、x2、x3、x4对应的函数值是y1、y2、y3、y4,那么x2到x3之间的中点对应的函数值为: 273 | 274 | y = [ 9(y2+y3) - y1 - y4 ] / 16 (3.12) 275 | 276 | 3.f:——以下是月亮的视赤经: 277 | 278 | 1994年3月25日 08h TD α=10h 18m 48s.732 279 | 1994年3月25日 10h TD 10h 23m 22s.835 280 | 1994年3月25日 12h TD 10h 27m 57s.247 281 | 1994年3月25日 14h TD 10h 32m 31s.983 282 | 283 | 试计算 11h 00m TD 时刻的赤经。 284 | 285 | 把10h后面的分秒转化“秒”单位,得: 286 | 287 | y1 = 1128.734秒 288 | y2 = 1402.835 289 | y3 = 1677.247 290 | y4 = 1951.983 291 | 292 | 由公式(3.12)得 y = 1540.001秒 = 25m 40s.001,所以要求的赤经是α=10h 25m 40s.001。 293 | 294 |   295 | 296 | ◆ 横坐标不等间距插值公式:拉格朗日插值公式 297 | 298 | 当给定的横坐标值(即x的值)是不等间距的,可以使用拉格朗日插值公式。当然,该公式也可以用于等间距的情况下。 299 | 300 | 这个简单的公式由法国数学家拉格朗日发现,它使用n个点拟合一个n-1次的多项式。如果给定的点是(xi,yi),i=1到n,那么对于给定的x,公式如下: 301 | 302 | 303 | 304 | 要注意的是,所有的xi须是不同的点。 305 | 306 | 以下BASIC程序可以使用。 307 | 308 | 10 DIM X(50),Y(50) 309 | 20 PRINT "NUMBER OF GIVEN POINTS = "; 310 | 30 INPUT N 311 | 40 IF N<2 OR N>50 THEN 20 312 | 50 PRINT 313 | 60 FOR I=1 TO N 314 | 70 PRINT "X,Y FOR POINT No."; 315 | 80 INPUT X(I),Y(I) 316 | 90 IF I=1 THEN 30 317 | 100 FOR J=1 TO I-1 318 | 110 IF X(I)=X(J) THEN PRINT "THIS VALUE OF X HAS ALREADY BEEN USED!":GOTO 70 319 | 120 NEXT J 320 | 130 NEXT I 321 | 140 PRINT : PRINT "POINT X FOR INTERPOLATION = "; 322 | 150 PRINT Z 323 | 160 V=0 324 | 170 FOR I=1 TO N 325 | 180 C=1 326 | 190 FOR J=1 TO N 327 | 200 IF J=I THEN 220 328 | 210 C=C*(Z-X(J))/(X(I)-X(J)) 329 | 220 NEXT J 330 | 230 V=V+C*Y(I) 331 | 240 NEXT I 332 | 250 PRINT : PRINT "INTERPOLATED VALUE = ";V 333 | 260 PRINT : PRINT "STOP(0) OR INTERPOLATION AGAIN(1)"; 334 | 270 INPUT a 335 | 280 IF A=0 THEN STOP 336 | 290 IF a=1 THEN 140 337 | 300 GOTO 260 338 | 339 | 程序选请求你要输入的数据点的个数,并立刻让你输入。然后重复请求你感兴趣的中间值(x的值),程序返回每个插值。 340 | 341 | 拉格朗日插值的一个显著特征是,不要求点数据是按顺序的,也不要求等间距。间距均匀时精度比较高。 342 | 343 | 作为一个例子,用以下6点数据调试程序: 344 | 345 | x=角度(单位:度) y=sin(x) 346 | 29.43 347 | 30.97 348 | 27.69 349 | 28.11 350 | 31.58 351 | 33.05 0.491 359 8528 352 | 0.514 589 1926 353 | 0.464 687 5083 354 | 0.471 165 8342 355 | 0.523 688 5653 356 | 0.545 370 7057 357 | 当请求30度时的正弦值,可得到精确值0.5。当x=0度或x=90度时,使用以上6个数据结合拉格朗日插值公式仍然可以得到很好的结果:+0.0000482和+1.00007,对应的正确值是0和1。 358 | 359 | 表达式(3.13)是一个n-1阶的多项式,这是利用y1、y2……yn所能得到的唯一的一个n-1阶多项式(注:多项式插值具有唯一性)。但拉格朗日公式本身有个缺点,就是没有给出所需的数据点数量,以争取达到理想的精度。不过,当我们希望表达一个函数的明确的插值多项式是,而x又远离插值节点,那么使用拉格朗日公式是有益的。 360 | 361 |   362 | 363 | 例3.g:——使用以下数据构造一个(唯一的)3次多项式: 364 | 365 | 366 | 367 |   368 | -------------------------------------------------------------------------------- /content/part04.md: -------------------------------------------------------------------------------- 1 | # 第4章 曲线拟合 2 | 3 | 4 | 在很多情况下,天文观测得到的数据是一组包含很大数量的序列点图象,每一点用x值和y值定义。这就可能需要画一条通过这些点的最佳拟合曲线。 5 | 6 | 有多种类型的曲线可以作为这些点的拟合曲线,如:直线、指数、多项式、对数曲线等。 7 | 8 | 为了避免只对个别数据分析,需要进行最佳曲线拟合。考虑图1的N个数据点,它们的坐标是(X1,Y1),(X2,Y2)...,(XN,YN)。假设这些值中的X是严格的精确值,Y的值是测量值(含有一些误差)。 9 | 10 | 11 | 12 | 对于一个给定的X,如X1,对应的值Y1与曲线C上对应的Y值将存在一个差值。在图中,我们用D1表示这个差值,有时我们也称这个差值为偏差、误差或残差,它可能是正、负或零。类似的,X2...,XN,对应的差值为D2,....,DN。 13 | 14 | 我们用D12 + D22 + ... + DN2 作为衡量曲线C拟合的“最佳”程度,这个值越小越好,越大则越不好。因此,我们做以下定义:任何一种类型的曲线,它们都有一个共同的特性,当ΣDi2最小时,称为最佳拟合曲线。注:∑指“取和”计算。 15 | 16 | 一条曲线具有这一特性时,称之为“最小二乘拟合”,这样的曲线称为“最小二乘曲线”。 17 | 18 | 正如上面说的,我们假设各个X的值是精确的。当然,有时候我们会考虑再对D1、D2...DN做一次最小二乘曲线拟合,不过,这不常用。 19 | 20 | 在本章,我们将考虑一个重要情形:拟合为一条直线,数学上称之为“线性回归”。“回归”一词看起来有点陌生,因为计算最佳曲线没什么好“回归”的,最好的术语就是“曲线似合”,在直线情况下就是“线性曲线拟合”。 21 | 22 | 线性曲线拟合 23 | 24 | 我们希望使用最小二乘法计算出以下线性方程的系数(斜率a以及y轴的截距b): 25 | 26 | y = a*x + b (4.1) 27 | 28 | a和b可以使用以下公式计算: 29 | 30 | 31 | 32 | 式中N是数据点的个数。注意,以上两式具有相同的分母,∑指逐项加法计算(取和)。∑x指对所有的x值求和,∑y指对所以的y值求和,∑(x^2)指对所有x的平方求和。∑xy指对所有的积xy进行取和计算。应注意,∑xy 与 ∑x*∑y是不相同的(“积的和”与“和的积”是不同的),同样(∑x)^2与∑(x^2)也是不相同的(“和的平方”与“平方的和”是不相同的)。 33 | 34 | 有个有趣的天文应用,找出某个慧星亮度与它到太阳距离之间的关系。慧星的视星等m一般用以下公式表示: 35 | 36 | m = g + 5*logΔ + k * log r 37 | 38 | 式中,Δ和r是距离,单位是天文单位,分别是慧星到地球和太阳的距离。log是以10为底的对数。绝对星等g和系数k须由天文观测数据间接推导,可以在一个足够长的时期内测星出星等m,然后再用适当方法计算(下文将使用最小二乘法算出g和k)。为了更精确,r的变化范围要足够大。对于每个m,相应的Δ和r须从星历表中推导出或者使用轨道要素计算出。 39 | 40 | 在这种情况下,g和k是未知的。公式改写为: 41 | 42 | m - 5 logΔ = k * log r + g 43 | 44 | 它的形式与公式(4.1)相同,当我们写作 y = m - 5 logΔ,x = log(r)。我们把y称为“日心”星等,因为慧星到地球的距离变化效果已被移除。 45 | 46 | ---------------------------- 47 | 48 | 例4.a:——表4.A是Wild2(1978b)周期慧星的可视星等,John Bortle提供的。对应的r和Δ已经利用轨道要素计算出。 49 | 50 | 用x和y计算各个和项:∑x,∑y,∑x2以及∑xy。我们得到: 51 | 52 | N=19 53 | ∑x = 4.2805 ∑y = 192.0400 54 | ∑x2 = 1.0031 ∑xy = 43.7943 55 | 56 | 因此,由公式(4.2)得 a = 13.67,b = 7.03 57 | 58 | 所以,这些观测值的最佳曲线拟合是:y = 13.67x + 7.03 或 m - 5 logΔ = 13.67 log r + 7.03 59 | 60 | 因此,周期慧星Wild2在1978年的星等为:m = 7.03 + 5 log Δ + 13.67 log r 61 | 62 | 63 | 64 | -------------------------- 65 | 66 | 关系系数(“互相关联程度”系数,概率论上称之为“相关系数”) 67 | 68 | 一个“关系系数”是指两个变量相互联系程度的统计测量值。对于线性方程,关系系数是: 69 | 70 | 71 | 72 | 这个系数介于+1到-1之间。如果值为+1或-1,说明x和y之间有完全的线性关系,所有的点(x,y)精确的在同一条直线上。如果 r = +1,y随x增加而增加(如图2),如果 r = -1,也是一条直线,但y随x增加而减小(如图3)。 73 | 74 | 当r=0,x和y之间就没有关系了(如图4)。不过,在实践中,当数据没有联系时,我们得到的r可能没有精确为0,这是由于一般会存在偶然因素,除非数据点无穷多个。 75 | 76 | 当|r|在0到1之间,x和y之间存在一定的“趋势”,虽然它们之间没有严格的关系(如图5)。要注意,即使两个变是是严格的线性关系,但我们计算的r值却可能不是精确等于+1或-1,那是因为测量值存在误差。 77 | 78 | 79 | 80 | 应当注意,r的值是一个带小数的值,它没有单位。 81 | 82 | r的正负号仅告诉我们y是随x增加的还是减小的。事实上重要的不是符号,而是r的大小,因为r的大小表示直线逼近的程度。 83 | 84 | 需要强调的是,在任何情况下,计算值r是用来衡量数据点与函数(线性方程)的相关程度。因此,当r接近于0,那么两个变量之间几乎线性无关,然而这不一定说明它们之间没有一点关系,因为它们可之间可能存在某种非常精确的非线性关系。做为一个例子,我们考查以下几个点: 85 | 86 | x -4 -3 -2 -1 0 +1 +2 87 | y -6 -1 +2 +3 +2 -1 -6 88 | 由公式(4.3)得r=0,而这些数据是精确的抛物线关系 y = 2 - 2x -x*x,如图6。 89 | 90 | 91 | 92 | 还应指出,很高的“关系系数”(接近下+1或-1),不一定直接说明变量之间的“物理”关系紧密。因此,如果考虑管理领域的一个足够大量的数据,我们可以在各精神病院的病床数量和电视接收机数量之间得到一个很高的“关系系数”。的确,它们具有很高的数学关系,但“物理”关系却是没有意义的。 93 | 94 | ------------------------------------ 95 | 96 | 例4.b:——表4.B,给出1761年到1989年,22次太阳黑子最大的情况。x是时间间隔(单位是月),从上一次太阳黑子最小算起。高度y是太阳黑子的最大值。 97 | 98 | 我们得到: 99 | 100 | ∑x = 1120 ∑y = 2578.9 ∑xy = 122337.1 101 | ∑x2 = 60608 ∑y2 = 340225.91 N = 22 102 | 103 | 然后由公式(4.2)和(4.1)得到: 104 | 105 | y = 244.18 - 2.49x (4.4) 106 | 107 | 108 | 109 | 110 | 111 | 方程(4.4)对应这22个点的最坐直线拟合。这些点和直线显示在图7。 112 | 113 | 由公式(4.3)得 r = -0.767。这表明存在明显"关系",r是负值表明x和y的关系是负的:太阳黑子活动,从一个最小值达到下一个最大值的时间越长,太阳黑子的最大值则越小。 114 | 115 | -------------------------------- 116 | 117 | 要注意,正如统计学研究的,为了得到一个有意义的结果,样品要足够大。如果基于很小的样品数,我们得到“关系系数”接近于1或-1,那是没有“物理”意义的。当样品数很小时,我们可能偶然得到很大的“关系系数”。 118 | 119 | -------------------------------- 120 | 121 | 作为一个练习,请证实比利时Uccle天文台的降雨量与太阳黑子的活动无关。使用表4.C提供的数据,其中: 122 | 123 | x = 每年明显的Zurich太阳黑子数量, 124 | y = Uccle每年的降雨量,单位是毫米 125 | 126 | 答案:“关系系数”r=-0.064,这表时x和y之间没有关系。 127 | 128 | 如果去掉最后两点,系数(从1901到1988年)为-0.027。 129 | 130 | 131 | 132 | 二次曲线拟合 133 | 134 | 假设我们希望画一条逼近N个点的最佳二次曲线: 135 | 136 | y = ax2 + bx + c 137 | 138 | 这是一个纵轴的抛物线。 139 | 140 | 141 | 142 | --------------------------- 143 | 144 | 一般曲线拟合 (多重线回归) 145 | 146 | 最佳线性拟合的原理可以被扩展到其它函数,这个函数可以含有超过两个未知的线性系数。 147 | 148 | 让我们考虑三个函数的线性组合的情况。假设我们已知: 149 | 150 | y = a f0(x) + b f1(x) + c f2(x) 151 | 152 | 式中f0、f1和f2是三个关于x的已知函数,但系数a、b和c是未知的。此外,假设已知3个x对应的y值。那么系数a、b、c可按如下得到。 153 | 154 | 155 | 156 | ---------------------------- 157 | 158 | 例4.c:——已知y表达为: 159 | 160 | y = a sin x + b sin 2x + c sin 3x 161 | 162 | 并且y的值如下: 163 | 164 | 165 | 166 | 我们把这道题留者。最后答案是: 167 | 168 | y = 1.2 sin x - 0.77 sin 2x + 0.39 sin 3x 169 | 170 | 它的图像见上图。 171 | 172 | 读者无须得到1.2、-0.77、+0.39的精确数,因为表中的y值只给出了4位有效数字。 173 | 174 | ---------------------------- 175 | 176 | 让我们考虑一种特殊的情况: 177 | 178 | y = ax2 + bx + c 179 | 180 | 令:f0=x2,f1=x,f2=1 181 | 182 | 这样算得 T = N (N是给定的点数),Q=R,这样,由公式(4.7)就可推导出(4.5)和(4.6),只是所用的字母符号不同。 183 | 184 | 另一种特殊情况,考虑y=a*f(x),只有一个未知系数。我们容易得到: 185 | 186 | a = Σy·f / Σf2 (4.8) 187 | 188 |   189 | 190 | 例4.d: 191 | 192 | y = a*sqrt(x) (x>=0) 193 | 194 | 寻找经过以下数据点的最佳曲线拟合: 195 | 196 | x: 0 1 2 3 4 5 197 | y: 0 1.2 1.4 1.7 2.1 2.2 198 | 这里f(x)=sqrt(x),所以Σf2只是简单的对x求和,由公式(4.8)得:a = 15.2437/15 199 | 200 | 所以,所需的函数是:y = 1.016*sqrt(x) 201 | 202 |   203 | 204 | 参考资料 205 | 206 | 1.Helmut Alt, Angewandte Mathematik, Finanz-Mathematik, Statistik,Informatik fur UPN-Rechner, P.125(Vieweg,Braunschweig,1979). 207 | 208 | 2.国际天文联合会3177号通告(1978年2月24日)。 209 | -------------------------------------------------------------------------------- /content/part05.md: -------------------------------------------------------------------------------- 1 | 第5章 迭代 2 | 3 | 4 | 迭代(英语Iteration译为迭代,来自拉丁语 Iterare = 重复)是一种“重复计算数次,直到未知量算出为止”的方法。通常,在每次重复计算后,结果将更接近正确解。我们已经看到,第3章中,解方程(3.6)、(3.7)、(3.9)、(3.10)、(3.11)时已经使用了迭代方法。 5 | 6 | 当找不到直接的容易的方法求解未知量时,可以考虑使用迭代法。例如: 7 | 8 | ·五次方程:x5 + 17x - 8 = 0 9 | 10 | ·对于给定的地表上的某一位置,计算日食(或月亮对恒星的星食)的起止时刻 11 | 12 | ·求解开普勒方程E=M+e*sin(E)(见第29章),式中E是未知量。 13 | 14 | 执行一次迭代,为了取得更好的未知量结果,需要未知量的起始估计值,并代入一个迭代公式或公式组。重复这一过程(即迭代),直到达到了所需的精度。 15 | 16 | 一个古的例子是,计算一个数的平方根,计算过程如下。当然,今天,我们可能对此失去兴趣(除了某些特殊情况),因为所有的珍袖计算器及所有的计算机语言都含有开方函数。 17 | 18 | 设我们要对N进行开方,其开方根的初始估值是n,如果无法知道初始估值,不妨取1。算出N/n与n的算术平均值,那么开方根的更好的估值是(n+N/n)/2。然后重复上述计算。 19 | 20 | ------------------------- 21 | 22 | 例5.a:计算sqrt(159),取8位有效数字。 23 | 24 | 我们知道12*12=144,所以可以用12作为sqrt(159)的估值。用159除12,得到13.2500。那么12与13.2500的算术平均值是12.6250,这就是更好的估值。 25 | 26 | 我们现在用159除12.6250,得到12.59406,12.59406与12.6250的平均值是12.60953,这个值将更准确了。 27 | 28 | 依这种方法,我们依次得到: 29 | 30 | 12 = 开始值 31 | 12.62500000 32 | 12.60952971 33 | 12.60952022 34 | 12.60952022 35 | 36 | 我们看到12.60952022到12.60952022已不再变化,所以这就是159的平方根。 37 | 38 | ------------------------------- 39 | 40 | 例5.b:计算以下方程的真根。 41 | 42 | x5 + 17x - 8 = 0 (5.1) 43 | 44 | 因为5次方程的根,没有直接解法或公式可以使用,我们求助迭代法。在方程(5.1)中,我们反x的5次方移到方程右边,得到: 45 | 46 | x = (8 - x5)/17 (5.2) 47 | 48 | 现在,方程右边也含有未知量x,但不要紧,我们看到,用 x = 0 作为初值代入右边,公式(5.2)得到: 49 | 50 | x = 8/17 = 0.470 588 235 51 | 52 | 此值,已经比x=0要准确了。现在,我们把x=0.470588235再次代入方程右边,得到x=0.469230684。在4次迭代后,我们得到确定值,即x=0.469249878。 53 | 54 | --------------------------------- 55 | 56 | 然而,迭代法并不总是没有问题,以下用一个例子说明。 57 | 58 | 例5.c:考虑方程 x5 + 3x - 8 = 0 59 | 60 | 和前面的例子一样,把x5移到方程右边,得到: 61 | 62 | x = 8 - x5 63 | 64 | 从 x = 0 开始,我们依次得到: 65 | 66 | 0.0000(开始值) 67 | 2.6667 68 | -42.2826 69 | 45049099 70 | -6.18*1037 71 | 等等... 72 | 73 | 可见,在这种情况下,此方法不能正常工作。结果是无穷大,其绝对值越变越大,走向错误的方向。 74 | 75 | -------------------------------- 76 | 77 | 为什么这种方法适用于“例5.b”,而不适用于“例5.c”?当x在0到1之间,x^5也在0到1之间,并且x^5小于x,这就是“例5.b”逐次迭代能够收敛于一个明确数值(方程的根)的原因。这个根在0到1之间。 78 | 79 | 但是,我们看到,例5.c方程的根大于1。当x>1时,x^5>x>1(如x=2,则有x^5=32),x微小的变化,将引起x^5很大的变化。因此,执行与“例5.b”相同的方法却不能收敛于所需的结果,逐次迭代的结果是发散的。然而,如果我们把迭代公式改写为其它形式,仍然可以得到答案。 80 | 81 | ---------------------------- 82 | 83 | 例5.d:让我们再次考虑方程 x^5+3x-8=0,但是,我们考虑这个事实,方程的根大于1,x^5>x。因此,我们不能把x^5直接移到方程的右边。相反,我们把x^5保留在方程的左边,所以方程变为: 84 | 85 | x5 = 8 - 3x 或 x = 5√ 8 - 3x 86 | 87 | 初始取x=0,通过14次迭代后,我们得到方程的根为 x = 1.321785627。 88 | 89 | --------------------------------- 90 | 91 | 在例5.b中,我们寻找方程的根: 92 | 93 | x5 + 17x - 8 = 0 94 | 95 | 然而,我们可以改写方程为: 96 | 97 | x(x4+17) = 8,因此 x = 8/(x4+17) 98 | 99 | 我们现在可能使用最后这个式子代替(5.2)式。做为一个例子,你可以用迭代法解这个方程,你将得到与“例5.b”相同的结果。 100 | 101 | 如果我们希望使用同样的方法处理“例5.C”的方程,可以得到以下迭代算式: 102 | 103 | x = 8/(x4+3) 104 | 105 | 用 x = 0 做为初始值代入方程右边,得到x=8/3=2.666...。我们将惊喜地发现:几次迭代之后,结果很快的由2.666223459变到0.149436927。由此,我们看到,并不是所有情况下都能迭代成功,它依赖于迭代公式。 106 | 107 | 再来看一个例子,考虑方程:sinφ=3cosφ。把φ=0°代入方程的右边,得到sinφ=3,显然不合理。相反,用φ=90°代入方程右边,得到sinφ=0,从而得到φ=0°,如此继续迭代,则又回到了第一种情况案。 108 | 109 | 但是,如果我们把方程改写为cosφ=(sinφ)/3,用φ=0°起步,几次迭代后最后将得到φ=71°.565051。 110 | 111 | 或者,考虑一下方程sinφ=cos2φ。解为30°,因为sin 30° = cos 30°。如果我们用φ=29°代入方程右边,我们发现之后的迭代是发散的。但是,如果方程改写为cos2φ=sinφ,那么迭代是收敛的。 112 | 113 | 为了进一步说明迭代过程,让我们考虑一下含单一未知量方程的牛顿寻根法。 114 | 115 | 设f(x)是关于x的函数,我们要求解f(x)=0时x的值。设f'(x)是f(x)的导函数。如果xn是方程根的估值,然后计算出f(x)的函数值yn以及相应的导函数f'(x)值yn',其中,yn'是曲函数曲线在xn点的切线的斜率,详见下图。那么,方程根的更好估值是: 116 | 117 | xn+1 = xn - yn/y'n 118 | 119 | 120 | 121 | 然后,用这个新的估值重复计算,直到x达到所需的值。 122 | 123 | 在这一过程中,选择良好的起步x值,是个关键问题。例如,方程 x5 - 3x - 8 = 0,其导函数是 5x4 - 3,如果起步值取 x = 0,我们将得到以下摆动值: 124 | 125 | 0.000 000 000 126 | -2.666 666 667 127 | -2.126 929 222 128 | -1.672 392 941 129 | -1.227 532 073 130 | -0.376 965 299 131 | -2.749 036 974 132 | -2.194 266 642 133 | -1.731 201 846 134 | -1.293 218 530 135 | -0.588 844 800 136 | -3.216 865 068 137 | -2.572 967 057 138 | -2.049 930 313 139 | -1.603 831 482 140 | -1.145 086 797 141 | 142 | 原因是,函数在x=-0.88时达到最大值,所以,在该点两边,其切线的斜率方向是相反的。 143 | 144 | 但是,如果起步值使用x=1,那么通过11次迭代后,即可得到9位有效数它的正确值。 145 | 146 | +1.000 000 000 147 | +6.000 000 000 148 | +4.803 458 391 149 | +3.850 111 311 150 | +3.095 824 107 151 | +2.510 476 381 152 | +2.080 081 724 153 | +1.807 461 730 154 | +1.690 945 284 155 | +1.671 102 262 156 | +1.670 579 511 157 | +1.670 579 156 158 | +1.670 579 156 159 | 160 | ----------------------------------- 161 | 162 | 用“小于”判断结果 163 | 164 | 以上描述的迭代方法——重复计算,直到结果不再变化。换句话说,只要最后一个结果与上一个结果不同,新的迭代就必须继续执行。但由于计算机本身有截断误差,这样做会有点问题。 165 | 166 | 考虑以下3次方程:s3 + 3s - W = 0 167 | 168 | 该式用于抛物线轨道计算(详见第33章)。式中,W一个给定的常数,而s是未知量。这个方程可以很容易地使用迭代法求解。用任意值起步,一个良好的选择是s=0,然后,s更好的值是: 169 | 170 | (2s3 + W) / [3(s2+1)] 171 | 172 | 经过几次迭即可获得正确结果。比较,取W=0.9,在HP-85微机上执行,依次得到以下结果: 173 | 174 | 0.000 000 000 000 175 | 0.300 000 000 000 176 | 0.291 743 119 266 177 | 0.291 724 443 641 178 | 0.291 724 433 546 179 | 0.291 724 433 548 180 | 0.291 724 433 548 181 | 182 | 因此,12位有效数字的精确结果是0.291724443548。但是,当W=1.5时,在同样的微机上执行,我们惊的发现:程序不会停止,结果如下: 183 | 184 | 0.000 000 000 000 185 | 0.500 000 000 000 186 | 0.466 666 666 667 187 | 0.466 220 600 162 188 | 0.466 220 523 909 189 | 0.466 220 523 911 190 | 0.466 220 523 910 191 | 0.466 220 523 908 192 | 0.466 220 523 911 193 | 0.466 220 523 910 194 | 0.466 220 523 908 195 | 196 | 永远重复着:...911,...910,...908。然而,同相的计算,我们拿到另外两种计算机上执行,迭代过程却是收敛的,可换个W的值,又不敛了。 197 | 198 | 这个问题的补救方法:用“小于”代替代“等于”来判断是否继续迭代。即,如果新迭代结果与上一次结果之差的绝对值,小于某个给定值(如10^-10),就停止迭代。 199 | 200 |   201 | 202 | 二分法 203 | 204 | 这是一种绝对可靠的方法,因为它既不会失控也不会发散,总会收敛于计算机所能达到的最高精度的一个确值。这种方示不必寻找“下一个更佳的根的表达式”,它仅使用“二分查找”确定方程的根。 205 | 206 | 让我们重新考虑“例5.b”的方程x^5+17x-8=0,并借此阐述二分法。 207 | 208 | 当x=0和x=1时,方程左边的值分别是-8和+10。所以我们知道,方程的根介于0到1之间。 209 | 210 | 现在,让我们偿试x=0.5,它是0和1的算术平均值。当x=0.5时,函数值为+0.53125,它与x=0时的函数值的符号相反,所以,现在我们知道,方程的根介于0到0.5(注1)。 211 | 212 | [注1:只有在连续区间才是正确的。如,tan86°>0和tan93°<0,我们无法在86°与93°之间确定tan(x)=0时的x的值。] 213 | 214 | 我们再偿试x=0.25,它时0和0.25的算术平均值。其余类推。 215 | 216 | 每执行一步,根所在的区间减小一半。32步之后,将得到很高的精度。在“例5.b”中,获得同样的精度仅需6步,但是,我们已经指出,二分法是绝对安全的,在“普通”迭代法失效的情况下它也可能使用。 217 | 218 | 对于二分法,我们知道,前进n步后的精度是:初始区间宽度除以2n 219 | 220 | 以上的那个例子,用二分法求解的BASIC程序如下。其中第60行并不是真正需要的,它展示了x逐步逼近的过程。 221 | 222 | 10 DEF FNA(X) = X*(X^4+17)-8 223 | 20 X1 = 0 : Y1 = FNA(X1) 224 | 30 X2 = 1 : Y2 = FNA(X2) 225 | 40 FOR J=1 TO 33 226 | 50 X = (X1+X2)/2 227 | 60 PRINT J,X 228 | 70 Y = FNA(X) 229 | 80 IF Y=0 THEN PRINT J,X : END 230 | 90 IF Y*Y1>0 THEN 120 231 | 100 X2 = X : Y2 = Y 232 | 110 GOTO 130 233 | 120 X1 = X : Y1 = Y 234 | 130 NEXT J 235 | 140 END 236 | -------------------------------------------------------------------------------- /content/part06.md: -------------------------------------------------------------------------------- 1 | # 第6章 排序 2 | 3 | 计算机不仅是计算的机器,它还可存贮并处理数据。比如,它可以重新排序数据,排序是计算机用户普遍使用的。例如,在天文学中:按赤经或赤纬排序恒星;按年代顺序排序;按半长轴排序小行星,或按字母顺序排序。有各种不同的排序方法。在本章,我们将给出3种方法,提供BASIC程序,并比较计算时间。 4 | 5 | 一种最简单的排序方法,在表6.A中的“最简单排序”。我们开始从N个数据X(1)、X(2)、...,X(N)。这些数据可以是任意的,相同的数据可以出现多次。 6 | 7 | 在执行这段程序之后,数组X(I)是按各升序排队的。如果希望它们按降序排队,在120行把“>=”换为“<=”即可,或者把X(I)换为-X(I)。 8 | 9 | 每执行一步,交换两个元素。依次,最小的元素置前(I=1时),然后下一个,等等,最后是N-1。注意100行,索引I只到N-1,而不是N。 10 | 11 | 这种方法也叫做“插入法”。当然,对N个数排序所需的时间取决计算机的型号及程序设计语言,但是任何情况下时间开销大约与N的平方成正比。这就意味着,这种方法不适合N很大的情况。 12 | 13 | 表中名为“较好”的排序方法,速度快一些,但时间开销还是与N的平方成正比。这种排序方法很简单:找到较小的元素,就交换这两个元素,使小的置前。 14 | 15 | 当数据量很大时,可以使用一种更好的方法,称为“快速排序”,它是C.A.R.Hoare发明的。这种排序程序比较长,但计算时间非常少。另外,当N足够大,计算时间大约与N成正比,而不是N的平方(实际上,它接近与N*lon(N)成正比)。 16 | 17 | “快速排序”技术需要两个较小的一维辅助数组:L(M)和R(M)。M至少取大于log2(N)的整数(log2是指以2为底的对数)。对于所有实际应用,M取30显然足够了。 18 | 19 | 20 | 21 | 在表6.B中,我们描述了,在HP-85微机上,以上三种程序在不同N值下的时间开销。正如我们已经说过的,在不同的计算机上,这个时间开销有所不同,但不管怎样,我们发现,除了“快速排序”算法,时间开销随N的增加而迅速增加。 22 | 23 | 24 | 25 | 为了使我们对大数据量排序的速度有个概念,我们使用了更快的计算机,并且把这些程序改写为FORTRAN语言。测度结果如表6.C,在此,快速排序的优势是很显的。当N=300,“快速排序”的时间开销仅是“较好排序”的15%,当N=1500时,仅为1%。 26 | 27 | 28 | 29 | 有时情况下,我们甚至不用编写排序程序。例如,在TRS-80 I型电脑上已经包含有排序函数,对1000个数排序仅需9秒,8000个数仅需83秒,这表明其排序时间开销大约与N成正比,而不是N的平方,所以该函数很可能使用了“快速排序”算法。 30 | 31 | 结论:当数据量不大时(如N<200),我们推荐使用“插入排序”(即上面说的“简单排序”),当数据量很大时,应单使用“快速排序”。 32 | 33 | 另外,数据常以字串类型存贮,如 X$(1)="Ceres"、X$(2)="Pallas"等。每个字符都有一个序号值(内码)。所有的字符构成以下列表,称为ASCII表,表6.D给出了ASCII表的一部分。 34 | ASCII = American Standard Code for Information Interchange] 35 | 36 | -------------------------------------------------------------------------------- /content/part07.md: -------------------------------------------------------------------------------- 1 | # 第7章 儒略日 2 | 3 | 4 | 本章中我们将给出一种方法,将儒略历或格里高利历中的日期转换成相应的儒略日数(JD),以及反向转换。 5 | 6 | 概述 7 | 8 | 儒略日数(简称儒略日),是指从公元 -4712 年开始连续计算日数得出的天数及不满一日的小数,通常记为 JD (**)。传统上儒略日的计数是从格林尼治平午,即世界时12点开始的。若以力学时(或历书时)为标尺,这种计数通常表达为“儒略历书日”,即JDE (**),其中E只是一种表征,即按每天86400个标准秒长严格地计日。例如: 9 | 10 | 1977年4月26.4日 UT = JD 2443 259.9 11 | 12 | 1977年4月26.4日 TD = JDE 2443 259.9 13 | 14 | 在下面将要描述的方法中,我们得考虑将其它历日换算为格里高利历日期。因而,1582年10月4日(儒略历)的下一日为1582年10月15日(格里高利历)。 15 | 16 | 格里高利历并非在所有国家迅速得到一致采用,这一点在历史研究中要引起注意。例如在大不列颠,晚至公元1752年才变更历法,而土耳其则要等到1927年。 17 | 18 | 儒略历由尤里乌斯·恺撒于公元前45年在罗马帝国创立,而其最终形式确立于公元8年前后,尽管如此,我们仍可以借助天文学家的演算无止境地向前推算儒略历。比如在这一系统中,我们可以说某次日食发生在公元前1203年8月28日,虽然在那个遥远的年代,罗马帝国根本还未被创建,而8月这个月份更有待设立。 19 | 20 | 对于公元1年之前的年份如何计数,天文学家同历史学家并不一致。在本书中,“公元前”的年份以天文方法计数。这样,+1年的前一年为0年,再之前才是-1年。所以历史学家所说的公元前585年实际上是-584年。 21 | 22 | 天文上以负数计数年份只是为算术目的起见。比如,在历史学计数中的,可被4整除的年份为儒略历闰年这个规则不再有效了。虽然像公元前1,5,9,13,…这些年份的确也在天文学上的闰年序列中,然而它们却被记为0,-4,-8,-12 …,它们都能被4整除。 23 | 24 | 我们以INT(x)来表示数x的整数部分,即小数点前的整数。例如: 25 | 26 | INT(7/4) = 1 INT(5.02) = 5 27 | 28 | INT(8/4) = 2 INT(5.9999) = 5 29 | 30 | 这里负数可能会造成些问题。在某些计算机或程序语言中,INT(x)为小于等于x的最大整数。那样的话就有INT(-7.83) = -8,因为-7的确比-7.83大。如果你的程序是javascript,取整函数是 Math.floor(x),它返回小于等于x的最大整数。如果你用的是C++,那么用 (int)x 强制转换,得到是的整数部分。 31 | 32 | 但在其它一些语言中,INT为所给数的整数部分,也即小数点前的部分。这样就有INT(-7.83) = -7,这被称为舍位(Truncation)。某些程序包含了这两项功能:表示前一种涵义的INT(x)以及TRUNC(x)。 33 | 34 | 因此,对负数进行取整时要特别注意(对正数,二者所得结果一致)。在本书给出的算式中,INT的使用总是针对正数的。 35 | 36 | 儒略日的计算 37 | 38 | 下面的方法对正数年和负数年都是有效的,负的儒略日数除外。 39 | 40 | 设Y为给定年份,M为月份,D为该月日期(可以带小数)。 41 | 42 | 若M > 2,Y和M不变,若 M =1或2,以Y–1代Y,以M+12代M,换句话说,如果日期在1月或2月,则被看作是在前一年的13月或14月。 43 | 44 | 对格里高利历有 :A = INT(Y/100) B = 2 - A + INT(A/4) 45 | 46 | 对儒略历,取 B = 0 47 | 48 | 要求的儒略日即为:JD = INT(365.25(Y+4716))+INT(30.6001(M+1))+D+B-1524.5 (7.1) 49 | 50 | 使用数值30.6取代30.6001才是正确的,但我们仍使用30.6001,以确保总能取得恰当的整数。事实上可用30.601甚至30.61来取代30.6001。例如,5乘30.6精确等于153,然而大多数计算机不能精确表示出30.6(参见第二章关于BCD的说明),这导致得出一个152.999 9998的结果,它的整数部分为152,如此算出的JD就不正确了。 51 | 52 | 例7.a:计算1957年10月4.81日,即苏联发射第一颗人造卫星的日期相应的儒略日。 53 | 54 | 这里我们有 Y =1957,M = 10,D = 4.81。因 M > 2,则Y与M不变. 55 | 56 | 日期为格里高利历,于是算得: 57 | 58 | A = INT(1957/100) = INT(19.57) = 19 59 | 60 | B = 2-19+INT(19/4) = 2-19+4 = -13 61 | 62 | JD = INT(365.25*6673)+INT(30.6001*11)+4.81-13-1524.5 = 2436116.31 63 | 64 | 例 7.b:计算333年1月27日12时相应的儒略日。 65 | 66 | 因 M = 1,有 Y = 333 -1 =332 且 M = 1 +12 =13;又因日期为儒略历日期,故 B = 0 67 | 68 | JD = INT(365.25*5048)+INT(30.6001*14)+27.5+0-1524.5=1842713.0 69 | 70 | 下表列出了一些历日所对应的儒略日,可作测试程序之用。 71 | 2000年 1月 1.5日 2451 545.0 72 | 1987年 1月27.0日 2446 822.5 73 | 1987年 6月19.5日 2446 966.0 74 | 1988年 1月27.0日 2447 187.5 75 | 1988年 6月19.5日 2447 332.0 76 | 1900年 1月 1.0日 2415 020.5 77 | 1600年 1月 1.0日 2305 447.5 78 | 1600年12月31.0日 2305 812.5 79 | 837年 4月10.3日 2026 871.8 80 | -1000年 7月12.5日 1356 001.0 81 | -1000年 2月29.0日 1355 866.5 82 | -1001年 8月17.9日 1355 671.4 83 | -4712年 1月 1.5日 0.0 84 | 85 | ·如果你只对1900年3月1日至2100年二月28日之间的日期感兴趣,那么在公式(7.1)中可取B = -13。 86 | 87 | ·在一些应用中需要知道某一给定年1月0.0日的儒略日JD0,它与上一年的12月31.0日是同一日。对格里高利历中的年份可按如下计算。 88 | 89 | Y = year-1, A=INT(Y/100) 90 | 91 | JDo=INT(365.25Y)-A+INT(A/4)+1721424.5 92 | 93 | 特别地,对1901年至2099年间的年份,上式简化为:JDo=1721409.5+INT(365.25*(year-1)) 94 | 95 | 闰年是如何设定的? 96 | 97 | 在儒略历中,能被4整除的年份为闰年,这一年有366天,其它年份为平年(365天)。 98 | 99 | 如900年和1236年为闰年,而750年和1429年为平年。 100 | 101 | 格里高利历法也采用这一规则,但下列年份除外:不能被400整除的百年为平年,如1700年,1800年,1900年和2100年。其余能被400整除的百年则为闰年,如1600年,2000年和2400年。 102 | 103 | “修正儒略日” 104 | 105 | 现代工作中有时会用到修正儒略日(Modified Julian Day, MJD),比如在提到人造卫星轨道根数时。对比儒略日,修正儒略日从格林威治时间平午夜开始计算,相当于: 106 | 107 | MJD = JD – 2400000.5 108 | 109 | 因而MJD = 0.01指向的是1858年11月17日世界时0时。 110 | 111 | 由儒略日推算历日 112 | 113 | 下面的方法对正数年和负数年都是有效的,负儒略日数除外。 114 | 115 | 将JD加上0.5,令 Z 为其整数部分,F 为尾数(小数)部分。 116 | 117 | 若 Z < 2299161,取A = Z 118 | 119 | 若 Z 大于等于2299 161,计算 α=INT((Z-1867216.25)/36524.25) ,A=Z+1+α-INT(α/4) 120 | 121 | 然后计算 122 | B = A+1524 123 | C = INT((B-122.1)/365.25) 124 | D = INT(365.25C) 125 | E = INT((B-D)/30.6001) 126 | 127 | 该月日期(带小数部分)则为:d = B - D - INT(30.6001E) + F 128 | 129 | 月份m为: 130 | 131 | IF E < 14 THEN m = E – 1; 132 | 133 | IF E=14 or E=15 THEN m = E – 13 134 | 135 | 年份为y: 136 | 137 | IF m>2 THEN y = C – 4716 138 | 139 | IF m =1 or m=2 THEN y = C – 4715 140 | 141 | 和公式(7.1)的情况一样,这个公式里求E时用的数30.6001不能代之以30.6,哪怕计算机没有先前所说的问题。否则,你得到的结果会是2月0日而不是1月31日,或者4月0日而不是3月31日。 142 | 143 | 例 7.c:计算JD 2436 116.31所对应的历日。 144 | 145 | 2436 116.31 + 0.5 = 2436 116.81 146 | 147 | Z = 2436 116 且 F = 0.81 148 | 149 | 因 Z > 2299 161,故有:α = INT((2436116-1867216.25)/36524.25) = 15,A = 2436116+1+15-INT(15/4) = 2436129 150 | 151 | 于是我们求得:B = 2437653, C = 6637,D = 2437313, E = 11 152 | 153 | 该月日期 = 4.81 154 | 155 | 月份 m = E – 1 = 10 (因 E < 14 ) 156 | 157 | 年份 = C – 4716 = 1957 (因 m > 2 ) 158 | 159 | 因此,求得的日期为1957年11月4.81日。 160 | 161 | 练习:计算JD = 1842 713.0 和 JD = 1507 900.13 所对应的历日。答案:333年1月27.5日 和 -584年5月28.63日。 162 | 163 | 给定日期间的相隔天数 164 | 165 | 两个历日间的相隔天数可以通过计算它们相应的儒略日之差求得。 166 | 167 | 例 7.d — 周期彗星哈雷于1910年4月20日及1986年2月9日两次过近日点。这两次经过的时间间隔是多少? 168 | 169 | 1910年4月20.0日对应 JD 2418 781.5 170 | 171 | 1986年2月9.0日对应 JD 2446 470.5 172 | 173 | 其差值为27 689天。 174 | 175 | 练习:1991年7月11日之后恰相隔10 000天的日期。答案: 2018年11月26日。 176 | 177 | 星期几的问题 178 | 179 | 给定日期是星期几可由以下方法获得 — 计算该日0时的儒略日,加上1.5,再除以7 ,所得余数将指示出星期几:若余数为0,则为星期日,1为星期一,2为星期二,3为星期三,4为星期四,5为星期五,6为星期六。 180 | 181 | 儒略历到格里高利历的换算并不影响星期。因而,在1582年,10月4日星期四接下来的一天便是10月15日星期五。 182 | 183 | 例 7.e:找出1954年6月30日是星期几。 184 | 185 | 1954年6月30.0日对应 JD 2434 923.5 186 | 187 | 2434 923.5 + 1.5 = 2434 925 188 | 189 | 2434 925除以7所得的余数为3. 190 | 191 | 所以这一天是星期三。 192 | 193 | 年内的序数日 194 | 195 | 年内的序数日 N 可由以下公式得出:N = INT(275M/9) - K*INT((M+9)/12) + D - 30 196 | 197 | 此处 M 为月份,D为该月日期,闰年 K = 1,平年 K = 2 198 | 199 | N取整数,自1月1日开始取值1,直至12月31日取值365(或闰年取值366)。 200 | 201 | 例 7.f 1978年11月14日。 202 | 203 | 平年 K=2,M = 11, D = 14, K = 2。得 N = 318 204 | 205 | 例 7.g 1988年4月22日。 206 | 207 | 闰年 K=1, M = 4, D = 22,K = 1。得 N = 113. 208 | 209 | 现在让我们考虑逆问题: 年内序数日N已知,要求相应的日期,M为月份,D为该月日期。下面的算法是由比利时民间天文协会的A. Pouplier发现的。 210 | 211 | 如上所述,令 212 | K = 1 若为闰年 213 | K = 2 若为平年 214 | M = INT(9(K+N)/275+0.98),若 N < 32 ,则令 M = 1 215 | D = N – INT(275M/9) + K*INT((M+9)/12) + 30 216 | 217 | 参考书目 218 | 219 | 1、《Almanac for Computers for the Year 1978》第B2页,特区华盛顿,美国海军天文台,航海天文年历办公室。 220 | 221 | 2、A. Pouplier致Jean Meeus的信件, 1987年4月10日。 222 | 223 | 224 | 225 | 226 | 227 | -------------------------------------------------------------------------------- /content/part08.md: -------------------------------------------------------------------------------- 1 | # 第8章 复活节日期 2 | 3 | 本章我们将给出计算指定年基督教复活节星期日(Easter Sunday)日期的方法 — 注意并非犹太教的逾越节。 4 | 5 | 格里高利复活节 6 | 7 | 以下方法由Spencer Jones在他的《普通天文学》(General Astronomy)(1922年版73-74页)中给出。这一方法后来重新印刷在《英国天文协会期刊》(Journal of the British Astronomical Association)第88卷91页(1977年12月)中,并说明这一方法发明于1876年,曾出现在《Butcher’s Ecclesiastical Calendar》上。 8 | 9 | 和高斯给出的公式不同,这种方法适用于格里高利历中始自1583年的所有年份,并无例外。找出复活节日期的程序如下: 10 | 11 | (注意表中的英文l与数值1是不同的) 12 | 13 | 被除数 除数 商 余数 14 | 年份X 19 - a 15 | 年份X 100 b c 16 | b 4 d e 17 | b + 8 25 f - 18 | b - f + 1 3 g - 19 | 19a + b - d - g + 15 30 - h 20 | c 4 i k 21 | 32 + 2e + 2i - h - k 7 - l 22 | a + 11h + 22l 451 m - 23 | h + l- 7m + 114 31 n p 24 | 则有 n = 月份 (3 = 3月,4 = 4月),p + 1 = 本月内复活节星期日所在的日期。 25 | 26 | 如果所用的计算机语言没有模(modulo)或求余(remainder) 功能,则计算余数时必须特别注意。假设要求34除以30的余数,在HP-67及HP-41C便携式计算器上我们得到34/30 = 1.133 333333,尾数部分为0. 133 333 333,将它乘上30时,结果变成了3.999 999 990,这个结果不等于原本的正确答案4。最终这可能导致得到一个错误的复活节日期。 27 | 28 | 逾越节 (出埃及记 12; 利未记 23:5) 开始於尼散月十四日(宗教历的正月,即阳历3月至4月期间),连接七天,每天要献许多祭,头一日和第七日休息,给百姓守严肃会。在正月十四日逾越节开始那天,耶稣被钉十架 (约翰福音 19:14),三天后的星期日身体复活,始为复活节。 — 译者注 29 | 30 | 可用以下年份测试你的程序: 31 | 32 | 1991年 → 3月31日 1954年 → 4月18日 33 | 1992年 → 4月19日 2000年 → 4月23日 34 | 1993年 → 4月11日 1818年 → 3月22日 35 | 36 | 复活节日期总在3月22日(如1818年和2285年)到4月25日(如1886年,1943年和2038年)之间。 37 | 38 | 复活节星期日的推算规则众所周知:它为春分后(含春分)的第一次满月后的第一个星期日。事实上,推算规则在很久以前就由基督教神职人员确定了。为应用这一规则所使用的满月日期是通过一种教会推算得出的结果而不是真实的天文学上的满月;同样,春分日也总是被定在3月21日,但实际上则可能会早一到两天。 39 | 40 | 例如,1967年的春分在3月21日,满月在3月26日(UT),3月26日之后的第一个星期日是4月2日。然而,复活节星期日却在3月26日。在1900至2100年间,使用纯粹天文规则推算出了一些不同于教会规则的复活节星期日,这些年份是:1900,1903,1923,1924,1927,1943,1954,1962,1967,1974,1981,2038,2049,2069,2076,2089,2095,2096。 41 | 42 | 格里高利历的复活节日期要5 700 000年才循环一次。有人发现格复活节最常见的日期是4月19日。 43 | 44 | 儒略历复活节 45 | 46 | 儒略历中的复活节日期可按以下方法推算。 47 | 48 | 被除数 除数 商 余数 49 | 年份X 4 - a 50 | 年份X 7 - b 51 | 年份X 19 - c 52 | 19c + 15 30 - d 53 | 2a + 4b - d + 34 7 - e 54 | d + e + 114 31 f g 55 | 则有 f = 月份 (3 = 3月,4 = 4月),g + 1 = 本月内复活节星期日所在的日期。 56 | 57 | 儒略历的复活节日期有为期532年的循环。比如,179年,711年和1243年的复活节都在4月12日。 58 | -------------------------------------------------------------------------------- /content/part09.md: -------------------------------------------------------------------------------- 1 | # 第9章 力学时和世界时 2 | 3 | 世界时(UT),即格林威治地方时,它基于地球的自转。当涉及地方时角,对于日常生活及与天文计算必需用到UT。 4 | 5 | 然而,地球自转一直在变缓,而且变缓规律难以预测,这使得世界时成了一种不均匀的时间系统。 6 | 7 | 但是,天文学家们需要一个均匀的时间标尺来进行精确计算(天体力学,轨道,星历)。1960——1983年,《Astronomical Ephemeris》等权威天文年历使用一种均匀的时间标尺编制,这种时间尺称为历书时(ET),它由力学定律定义:基于行星运动。1984年,ET被力学时取代,它由原子钟定义。事实上,力学时是历书时的一个延伸。 8 | 9 | 这里有个太阳系质心力学时(TDB)和地心力学时(TDT)的区分。这两个系统最多相差0.0017秒,此种差异与地球以椭圆轨道绕日运动有关(相对论效应)。因这一差异小到可以被大多数实际应用忽略,故此处我们对质心力学时和地球力学时不加区分,统称为力学时(TD)。 10 | 11 | 力学时和世界时之间的精确差值 ΔT = TD - UT 只能由天文观测值推算。表9.A列出了一些年份的年首 ΔT值,除最后两个值外,其它的均取自1988年的《天文年历》。 12 | 13 | 译者注:本书出版于1991年,作者写时可能还更早,所表中的最后两项是当时做的外推。 14 | 15 | 对于不远的将来1,我们可以继续推算表9.A中的值。例如,可使用临时值: 16 | 17 | ΔT = + 60 秒 1993年 18 | ΔT = + 67 秒 2000年 19 | ΔT = + 80 秒 2010年 20 | 21 | 表9.A 22 | 23 | 年 ΔT 年 ΔT 年 ΔT 年 ΔT 年 ΔT 24 | 1620 124 25 | 1622 115 26 | 1624 106 27 | 1626 98 28 | 1628 91 29 | 1630 85 30 | 1632 79 31 | 1634 74 32 | 1636 70 33 | 1638 65 34 | 1640 62 35 | 1642 58 36 | 1644 55 37 | 1646 53 38 | 1648 50 39 | 1650 48 40 | 1652 46 41 | 1654 44 42 | 1656 42 43 | 1658 40 44 | 1660 37 45 | 1662 35 46 | 1664 33 47 | 1666 31 48 | 1668 28 49 | 1670 26 50 | 1672 24 51 | 1674 22 52 | 1676 20 53 | 1678 18 54 | 1680 16 55 | 1682 14 56 | 1684 13 57 | 1686 12 58 | 1688 11 59 | 1690 10 60 | 1692 9 61 | 1694 9 62 | 1696 9 63 | 1698 9 1700 9 64 | 1702 9 65 | 1704 9 66 | 1706 9 67 | 1708 10 68 | 1710 10 69 | 1712 10 70 | 1714 10 71 | 1716 10 72 | 1718 11 73 | 1720 11 74 | 1722 11 75 | 1724 11 76 | 1726 11 77 | 1728 11 78 | 1730 11 79 | 1732 11 80 | 1734 12 81 | 1736 12 82 | 1738 12 83 | 1740 12 84 | 1742 12 85 | 1744 13 86 | 1746 13 87 | 1748 13 88 | 1750 13 89 | 1752 14 90 | 1754 14 91 | 1756 14 92 | 1758 15 93 | 1760 15 94 | 1762 15 95 | 1764 15 96 | 1766 16 97 | 1768 16 98 | 1770 16 99 | 1772 16 100 | 1774 16 101 | 1776 17 102 | 1778 17 1780 17 103 | 1782 17 104 | 1784 17 105 | 1786 17 106 | 1788 17 107 | 1790 17 108 | 1792 16 109 | 1794 16 110 | 1796 15 111 | 1798 14 112 | 1800 13.7 113 | 1802 13.1 114 | 1804 12.7 115 | 1806 12.5 116 | 1808 12.5 117 | 1810 12.5 118 | 1812 12.5 119 | 1814 12.5 120 | 1816 12.5 121 | 1818 12.3 122 | 1820 12 123 | 1822 11.4 124 | 1824 10.6 125 | 1826 9.6 126 | 1828 8.6 127 | 1830 7.5 128 | 1832 6.6 129 | 1834 6 130 | 1836 5.7 131 | 1838 5.6 132 | 1840 5.7 133 | 1842 5.9 134 | 1844 6.2 135 | 1846 6.5 136 | 1848 6.8 137 | 1850 7.1 138 | 1852 7.3 139 | 1854 7.5 140 | 1856 7.7 141 | 1858 7.8 1860 7.9 142 | 1862 7.5 143 | 1864 6.4 144 | 1866 5.4 145 | 1868 2.9 146 | 1870 1.6 147 | 1872 -1 148 | 1874 -2.7 149 | 1876 -3.6 150 | 1878 -4.7 151 | 1880 -5.4 152 | 1882 -5.2 153 | 1884 -5.5 154 | 1886 -5.6 155 | 1888 -5.8 156 | 1890 -5.9 157 | 1892 -6.2 158 | 1894 -6.4 159 | 1896 -6.1 160 | 1898 -4.7 161 | 1900 -2.7 162 | 1902 0 163 | 1904 2.6 164 | 1906 5.4 165 | 1908 7.7 166 | 1910 10.5 167 | 1912 13.4 168 | 1914 16 169 | 1916 18.2 170 | 1918 20.2 171 | 1920 21.2 172 | 1922 22.4 173 | 1924 23.5 174 | 1926 23.9 175 | 1928 24.3 176 | 1930 24 177 | 1932 23.9 178 | 1934 23.9 179 | 1936 23.7 180 | 1938 24 1940 24.3 181 | 1942 25.3 182 | 1944 26.2 183 | 1946 27.3 184 | 1948 28.2 185 | 1950 29.1 186 | 1952 30 187 | 1954 30.7 188 | 1956 31.4 189 | 1958 32.2 190 | 1960 33.1 191 | 1962 34 192 | 1964 35 193 | 1966 36.5 194 | 1968 38.3 195 | 1970 40.2 196 | 1972 42.2 197 | 1974 44.5 198 | 1976 46.5 199 | 1978 48.5 200 | 1980 50.5 201 | 1982 52.2 202 | 1984 53.8 203 | 1986 54.9 204 | 1988 55.8 205 | 1990 56.9 206 | 1992 58.3 207 | 对表9.A以外的历元, 可使用Morrison及Stephenson的表达式计算ΔT(秒)的近似值: 208 | 209 | ΔT = -15 + 0.00325(year-1810)2 210 | 211 | 此处的year可以带小数。上式可改写为:ΔT = 102.3 + 123.5T+32.5T2 212 | 213 | 式中T是历元2000.0起算的世纪数。如果使用儒略日:ΔT = -15 + (JD-2382148)2/41048480 214 | 215 | 根据这些表达式,计算到公元前4000年时,世界时的不确定性将达到2小时。改进公式将有益于TD和UT间的换算,但它不会影响算法、程序、历法,以及使用力学时的星历表。 216 | 217 | 1984年Stephenson和Morrison又发表了另两个抛物线表达式来推算以往年代的ΔT。公元前390至公元后1600年适用以下两种抛物线拟合: 218 | 219 | -390年至 +948年:ΔT = 1360 + 320T + 44.3T2 220 | 221 | +948年至 +1600年:ΔT = 25.5T2 222 | 223 | T为从公元1800年算起相差的世纪数,得到的ΔT以秒为单位。 224 | 225 | 两年后,Stephenson和Houlden给出了另两个推算以往年代ΔT的表达式: 226 | 227 | (i) 公元948年以前: ΔT = 1830 - 405E + 46.5E2 228 | 229 | (ii) 公元948年至1600年: ΔT = 22.5t2 230 | 231 | E为从公元948年算起的世纪数,t为从公元1850年算起的世纪数。公式(i)和(ii)等价于以下表达式,该处T为从公元2000.0年算起的世纪数( T < 0 ): 232 | 233 | 公元948年以前:ΔT = 2715.6 + 573.36T + 46.6T2 234 | 235 | 公元948年至1600年:ΔT = 50.6 + 67.5T + 22.5T2 236 | 237 | 公元1871年至1901年之间的ΔT值为负。值得注意的是,无论对遥远的过去还是遥远的将来,ΔT值都是正的。 238 | 239 | 除了1871——1901年,世界时总是落后于相同的数值力学时。比如1990年1月27日0时 UT,比1990年1月27日 TD落后57秒,那么,我们有UT = TD –ΔT。 240 | 241 | 例9.a 某次新月开始于1977年2月18日3h37m40s(力学时)(见例题47.a)。 242 | 243 | 该时刻的ΔT值等于+48秒。于是该月相相应的世界时为:3h37m40s - 48s = 3h36m52s 244 | 245 | 例9.b 假设需要计算+333年2月6日日6时(UT)时的水星位置。 246 | 247 | 我们有:T = (333.1-2000)/100 = -16.669 248 | 249 | 代入公式(9.1)得 ΔT = +7074秒,即118分钟。因此,TD = 6h + 118分钟 = 7h58m,故应在333年2月6日7h58m TD 执行计算。 250 | 251 | Schmadel与Zech的多项式表达 252 | 253 | Schmadel与Zech构造了以下多项式近似表达ΔT,在1800-1988年范围内有效。该式得出的结果与表9.A最多有1.9秒的误差。 254 | 255 | ΔT = -0.000014 + 0.001148θ + 0.003357θ2 - 0.012462θ3 256 | - 0.022542θ4 + 0.062971θ5 + 0.079441θ6 257 | - 0.146960θ7 - 0.149279θ8 + 0.161416θ9 258 | + 0.145932θ10 - 0.067471θ11 - 0.058091θ12 259 | 260 | 上式中ΔT的单位是天,θ是1900.0起算的儒略世纪数。 261 | 262 | Schmadel与Zech也提供了较短时间范围的表达式。 263 | 264 | (1)在1800-1899范围内,以下表达式给出的ΔT值(以天为单位)最大误差1.0秒: 265 | 266 | ΔT = -0.000009 + 0.003844θ + 0.083563θ2 + 0.865736θ3 267 | + 4.867575θ4 + 15.845535θ5 + 31.332267θ6 268 | + 38.291999θ7 + 28.316289θ8 +11.636204θ9 269 | + 2.043794θ10 270 | 271 | (2)在1900-1987,以下表达式给出的ΔT(天)最大误差1.0秒: 272 | 273 | ΔT = -0.000020 + 0.000297θ + 0.025184θ2 - 0.181133θ3 274 | +0.553040θ4 - 0.861938θ5 + 0.677066θ6 - 0.212591θ7 275 | 276 | 式中θ与第1个公式的含义相同。 277 | 278 | 应注意,以上三个表达式均是经验公式。不可超出它们的定义域之外使用它们! 279 | 280 | 281 | -------------------------------------------------------------------------------- /content/part10.md: -------------------------------------------------------------------------------- 1 | # 第10章 地球形状 2 | 3 | 4 | 地球表面的精确形状,包括起伏的山和谷,这是无法用几何方法定义的。因此,大地测量学中理想的形状平均海平面,并延申到各大洲形成封闭曲面。这是大地水平面,其每一处表面都垂直与重垂线。 5 | 6 | 然而,地球内部的不均匀性及大山的引力等因素,以至大地测量学的地表不能用任何一个可定义的固体严格的描述。一种可足够地理学及天文学使用的近似假设是:把它看作回转椭球。 7 | -------------------------------- 8 | 9 | 地心直角观察者 10 | 11 | 图中表示地球子午圈截面图。C是地心,N是北极,S是南极,EF是赤道,HK是观测点O的地平面,OP垂直HK。OM平行SN,它与OH的夹角是φ,φ也就是O点的地理纬度,角OPF等于φ. 12 | 13 | 14 | 15 | 半径向量OC(观测点到地心的连线),角OCF=φ',它是地心纬度。在极点和赤道上φ=φ',在其它纬度上|φ'|<|φ| 16 | 17 | 设f是地球编率,b/a = NC/CF,极半径NC=b,赤道半径CF=a,在1976IAU中提供以下值: 18 | a = 6378.14km, f=1/298.257 19 | 20 | 由此得: 21 | b = a(1-f) = 6356.755km 22 | b/a = 1 - f = 0.99664719 23 | 24 | 地球子午圈的离心率: 25 | e = sqrt(2f - f*f) = 0.08181922 26 | 27 | 我们有以下关系式: 28 | f = (a-b)/a, 1-e^2 = (1-f)^2 29 | 30 | 在海平面上一点: 31 | tan(φ') = (b^2/a^2)*tan(φ) 32 | 33 | 如果观测者距海平面的高度是H,那么计算周日视差、日月食、星蚀所需要的量ρsin(φ')和ρcos(φ')可以用下式计算: 34 | 35 | 36 | ρsin(φ')值在北半球为正,南半球为负,而ρcos(φ')始终为正。 37 | 38 | ρ表示观测者到地心的距离(图中的OC),地球的赤道半径看作1个单位。 39 | 40 | ------------------------------- 41 | 42 | 例10.a:——计算ρsin(φ')和ρcos(φ'),观测站是Palomar,位于: 43 | φ = +33°21'22", H = 1706米 44 | 我们得到: 45 | φ = 33°.356111 46 | u = 33°.267796 47 | ρsin(φ') = +0.546861 48 | ρcos(φ') = +0.836339 49 | 50 | --------------------------------- 51 | 52 | 关于地球椭球的其它公式 53 | 54 | 在椭球上给定的一点,地理纬度与地心纬度的差值为: 55 | φ - φ' = 692".73sin(2φ) - 1".16sin(4φ) 56 | 当u=45°时,φ-φ'达到最大值。如果φo和φo'是此时相应的地理纬度和地心纬度,我们有: 57 | tan(φo) = a/b, tan(φo') = b/a, φo+φo'=90° 58 | 59 | 因此,对于IAU1976椭圆有: 60 | φo = 45°.05'46".36, φo' = 44°54'13".64 61 | φo - φo' = 11'32".73 62 | 63 | 海平面上,ρ的值可以用下式计算: 64 | ρ = 0.9983271 + 0.0016764*cos(2φ) - 0.0000035*cos(4φ) 65 | 66 | 同纬度φ的圆的半径: 67 | Rp = a*cos(φ)/sqrt(1-(e*sin φ)^2) 68 | 式中,e就是上面说的子午圈椭圆的离心率。 69 | 70 | 因此,在同一纬度φ上,经度变化1度,相应的长度变化为:(π/180)Rp 71 | 72 | 地球旋转的角速度(相对于恒星,不是相对于春风点): 73 | ω = 7.292115018*10^-5(弧度/秒) 74 | 75 | 严格的说,这是历元1989.5时的值。它缓慢的变小,因为地球自转变慢(详见第9章)。 76 | 77 | 由于地球自转,在纬度φ,线速度是ω*Rp 78 | 79 | 地球子午圈的曲率半径,在纬度φ: 80 | 81 | 82 | 83 | 因此,纬度变化1度,相应的长度变化:(π/180)Rm 84 | 85 | 在赤道时,Rm达到最大值,值为a(1-e^2)=6335.44km,在极点时达到最小值,值为a/sqrt(1-e^2)=6399.60km 86 | 87 | ------------------------------ 88 | 89 | 例10.b:—— Chicago的纬度是φ = +42°,我们算得: 90 | Rp = 4747.001km 91 | 经度1° = 82.8508km 92 | 线速度 = ω*Rp = 0.34616km/s 93 | Rm = 6364.033km 94 | 纬度1° = 111.0733km 95 | 96 | ----------------------------------- 97 | 98 | 地球表面两点间的距离 99 | 100 | 如果地球表面两点的地理坐标已知,那么,从地表测量的这两点间的最短距离就可以计算了。 101 | 102 | 设第1点的经度和纬度是分别是L1和φ1,第二点的是L2和φ2,我们假设这两点在海平面。 103 | 104 | 如果精度要求不高,可以把地球看作球形,平均半径为6371km。使用下式可得到两点间的角距离: 105 | cos(d) = sin(φ1)sin(φ2) + cos(φ1)cos(φ2)cos(L1-L2) ……(10.1) 106 | 天球上两个星体间的角距离公式(16.1)与该式类似。当d很小时,该式不能很好的工作,详见第16章。 107 | 108 | 那么,我们需要的最短距离是: 109 | s = (6371*π*d)/180,单位:千米 ……(10.2) 110 | 式中d表达为“度”单位 111 | 112 | 高精度计算可使用以下方法,归功于H.Andoyer。这种方法的相对误差是地球扁率的二次方项。 113 | 114 | 和前面的一样,设赤道半径为a,扁率为f,然后计算: 115 | 116 | 117 | 118 | --------------------------------- 119 | 120 | 例10.c:——计算 法国巴黎(Paris)观测站到美国华盛顿(Washington)的海军观测站的距离。提供下列坐标: 121 | Paris: 122 | L1 = 2°20'14" 东 = -2°20'14" 123 | φ1 = 48°50'11" 北 = +48°50'11" 124 | Washington: 125 | L2 = 77°03'56" 西 = +77°03'56" 126 | φ2 = 38°55'17" 北 = +38°55'17" 127 | 128 | 我们计算得到: 129 | F = 43°.8788889 130 | G = +4°.9575000 131 | λ=-39°.7013889 132 | S = 0.21642696 133 | C = 0.78357304 134 | ω= 27°.724274 = 0.48387987弧度 135 | R = 0.8510555 136 | D = 6172.507km 137 | 138 | 最后得到 s = 6181.63km,最大误差为50米 139 | 140 | 如果使用近似表达式(10.1)和(10.2),我们得到 141 | cos(d) = 0.567146 142 | d = 55°.44855 143 | s = 6166km 144 | 145 | --------------------------- 146 | 147 | 参考资料 148 | 149 | 1、国际地球自转服务局,1989年度报告(巴黎观测站) 150 | 2、《经度年鉴》,1950(巴黎),第145页 151 | -------------------------------------------------------------------------------- /content/part11.md: -------------------------------------------------------------------------------- 1 | # 第11章 恒星时与格林尼治时间 2 | 3 | 一个给定的世界时日期的(0h UT),格林尼治子午圈的恒星时可按如下计算。 4 | 5 | 先计算当天(0h UT)对应的JD,它是以.5结束的数字。那么就有: 6 | 7 | T = (JD - 2451545.0) / 36525 ……(11.1) 8 | 9 | 那么(0h UT)的格林尼治平恒星时使用以下表达式计算,该式采用IAU1982的表达式: 10 | 11 | θo = 6h 41m 50s.54841 + 8640184s.812866*T + 0s.093104*T^2 - 0s.0000062*T^3 ……(11.2) 12 | 13 | 上式表达为度单位,则公式改写为: 14 | 15 | θo = 100.46061837 + 36000.770053608*T + 0.000387933*T^2 - T^3/38710000 ……(11.3) 16 | 17 | 重要的是,公式(11.2)及(11.3)仅在T对应(0h UT)时有效。 18 | 19 | 为了找出任意UT时刻的恒星时,先计算UT*1.00273790935,再把计算结果加入(0h UT)时刻对应的平恒星时,即得到UT时刻的平恒星时。 20 | 21 | 当平恒星时表达为度单位,也可使用下式直接得到任意UT刻的恒星时,式中的JD是任意时刻的儒略日数(不在要求JD对应在0点),T由公式(11.1)式计算。 22 | 23 | θo = 280.46061837 + 360.98564736629*(JD-2451545.0) + 0.000387933*T^2 - T^3/38710000 24 | 25 | 如果要求高精度,那么要求计算机处理足够的有效数字位数。 26 | 27 | 由(11.2)、(11.3)、(11.4)得到的恒星时是平恒星时,也就是平春分点起算的格林尼治时角(黄道与Date平赤道的交点)。 28 | 29 | 要取得视恒星时(即真春点起算的格林尼治时角),应加上修正值Δψ*cos(ε),式中Δψ是黄经章动,ε是真黄赤交角(见21章)。这个修正值也就作赤经章动(也称作分点方程)。因为Δψ是个小量,所以ε误差10"也没关系。 30 | 31 | 如果Δψ的单位是角秒(1度是3600秒),则以时秒(1小时是3600秒)为单位的修正值是:Δψ*cos(ε)/15 32 | 33 | 译者补充:IAU2000的恒星时 34 | 35 | θo = 2*Pi*(0.7790572732640 + 1.00273781191135448*(JD-2451545.0)) 36 | + 0".014506 + 4612".15739966T + 1".39667721T2 - 0".00009344T3 + 0".00001882T4 37 | + 赤经章动 + 非多项式,(JD是UT1时间,T力学时世纪数) 38 | 39 | 上式中,4612".15739966t +...+0".00001882t^4实际上由岁差相关的表达得到。严格推导比较烦琐,以下做个估算: 40 | 41 | 设γo是J2000平分点,γm是Date平分点。Q是Date赤道与J2000赤道交点(详见岁差图)。在Date赤道上取Qγm' = Qγo,这样子午圈经过γm'才真正经过一个自转周期。θo的起算点是Date平分点γm,而不是γm',显然γm与γm'之间的角距离是 Qγm' - Qγm = (90 + z) - (90 - ζ) = z + ζ = 4612".15739966t + ...,因此θo的前半部分2*Pi*(0.7790572732640 + 1.00273781191135448*(JD-2451545.0))是不含岁差恒星时,真正反映了恒星日的长度,实现上这部分称为自球自转角ERA。 42 | 43 | IAU2000的恒星时表达与原文表达形式与式有点不同,但计算的结果几乎同。 44 | 45 | 例11.a ——求1987年4月10日(0h UT)的“平”及“视”恒星时。 46 | 47 | 解: 48 | 49 | 1、求平恒星时 50 | 51 | 该日期对应的儒略日是 JD 2446895.5,由公式(11.1)得: 52 | T = -0.127296372348 53 | 54 | 那么我们利用(11.2)式可得: 55 | θo = 6h 41m 50s.54841 - 1099864.18158秒 56 | 57 | 或者,可再简化:上式可以再加上86400秒(1天的秒数)的适当倍数,把结果转到0到86400秒以内: 58 | θo = 6h 41m 50s.54841 + 23335s.81842 59 | = 6h 41m 50s.54841 + 6h 28m 55s.81842 60 | = 13h 10m 46s.3668 61 | 62 | 这就是所要求解的平恒星时。 63 | 64 | 2、求视恒星时: 65 | 66 | 由例21.a,我们得到此时的Δψ = -3".788及ε = 23°26'36".85,事实上这两个值是(0h TD)时刻的,而不是(0h UT),但我们忽略在ΔT = TD - UT期间内Δψ的微小差别。 67 | 因此,赤经章动是 -3.788/15*cos(23°26'36".85) = -0s.2317,则所要计算的视恒星时为: 68 | 13h 10m 46s.3668 -0s.2317 = 13h 10m 46s.1351 69 | 70 | 例11.b ——1987年4月10日 19h 21m 00s UT时刻的平恒星时。 71 | 72 | 首先,我们计算0h UT的平恒星时。我们得到 13h 10m 46s.3668(详见上一个例子),然后: 73 | 74 | 1.00273790935 * (19h 21m 00s) 75 | = 1.00273790935 * 69660秒 76 | = 69850.7228秒 77 | = 19h 24m 10s.7228 78 | 79 | 那么,要计算的平恒时是: 80 | 81 | 13h 10m 46s.3668 + 19h 24m 10s.7228 82 | = 32h 34m 57s.0896 83 | = 8h 34m 57s.0896 84 | 85 | 另外,我们也可以使用11.4式,直接计算。 86 | 87 | 1987年4月10日 19h 21m 00s UT时,对应的儒略日数是:JD = 2446896.30625 88 | 89 | 由(11.1)式,相应T的值为 -0.12727430。则,由公式(11.4)得:θo = -1677831°.2621266 90 | 91 | 转到0到360度得:θo = 128°.7378734 92 | 93 | 这就是要求计算的平恒星时,单位是度。除以15后,可变换为时角单位(因为1小时是15度): 94 | θo = 8h.58252489 = 8h 34m 57s.0896 95 | 96 | 结果与上面的相同。 97 | -------------------------------------------------------------------------------- /content/part12.md: -------------------------------------------------------------------------------- 1 | # 第12章 坐标变换 2 | 3 | 4 | 我们将使用到以下符号: 5 | 6 | α = 赤经。这个量一般表达为时间单位,也就是用时、分、秒表示。因此,在公式中使用到它时,应先转为“度”单位,必要时还要转为弧度单位。相反,如果使用公式计算出α,通常表达为“度”或“弧度”单位,应除转为小时单位(如果是度单位,除15即可),然后,还可以转为时分秒格式。 7 | δ = 赤纬。天赤道以北为正,以南为负。 8 | α1950 = 涉及B1950.0标准分点的赤经。 9 | δ1950 = 涉及B1950.0标准分点的赤纬。 10 | α2000 = 涉及J2000.0标准分点的赤经。 11 | δ2000 = 涉及J2000.0标准分点的赤纬。 12 | λ = 黄经。从春风点,沿黄道测量的经度。 13 | β = 黄纬。黄道以北为正,以南为负。 14 | l = 银经。 15 | b = 银纬。 16 | h = 地平纬度,地平线以上为正,以下为负。 17 | A = 地平经度(方位角)。由南向西测量。值得注意的是,航海家、气象学家的指南针方向(或地平经度),北方向为0度,东90度,南180度,西270度。但天文学家(注1)不同意,他们从南开始测量,因为时角也是从南开始测量的。因此,一个天体正好在子午圈的南方向,就有 A = H = 0度。 18 | ε= 黄赤交角。黄道与天赤道的夹角。平黄赤交角可用(21.2)式计算。然而,如果使用视赤经及视赤纬(受光行差及章动影响),那么计算时就要用到真黄赤交角ε+Δε(详见第21章)。如果α、δ是涉及J2000.0标准分点坐标的,那么该历元的ε就时ε2000=23°26'21".448 = 23°.439291。对于历元B1950.0标准分点坐标,ε1950=23°.4457889 19 | φ= 观测者(站)纬度,北半球为正,南半球为负。 20 | H = 本地时角,从南向西测量。 21 | 22 | 如果θ是本地恒星时,θo是格林尼治恒星时,L是观者站经度(从格林尼治向西为正,东为负),那么本地时角计算如下: 23 | H = θ - α 或 H =θo - L - α 24 | 如果α含章动效果,那么H也含章动(见11章)。 25 | 26 | 要从赤道坐标转到黄道坐标,可以使用以下公式: 27 | 28 | tan(λ) = ( sin(α)*cos(ε) + tan(δ)*sin(ε) ) / cos(α) ……12.1式 29 | sin(β) = sin(δ)*cos(ε) - cos(δ)*sin(ε)*sin(α) ……12.2式 30 | 31 | 注1:William Chauvenet在它的《球面几何和实用天文学》(第5版,1981),卷I,第20页说到:地平经度的原点选取得很随意,所以他们计算出的方向也很随意。但天文学家通常选取地平的南点为原点,... 然而,航海家通常根据他们所在位置是北纬还是南纬来选择原点在北或在南。 32 | S.Newcom在它的《球面天文学概论》第95页中写道:“在实践中,可以从北点或南点测量,并且方向可以是东或西...”——所以说,伟大的美国天文学家没有特别选择。 33 | 34 | 地理经度 35 | 36 | 在这里,地理经度是从子午圈向西测量的,而不是向东。这个约定被多数天文学家认可长达1个世纪——见实例参考1—6。例如:华盛顿经度,D.C.,+77°04';奥地利维也纳经度是:-16°23'。 37 | 38 | 我们不能理解,为什么IAU(国际天文联合会)最初决所有的行星地理经度从它们自转轴相反的方向测量,于是,1982年为地球修改了这个系统。我们将不跟从IAU的决定,我们将考虑西经为正。其它行星也遵照这个系统,向西测量为正,这正是为什么它们的中心子午圈经度和地球一样,随时间不断增加。 39 | 40 | 黄道坐标转到赤道坐标: 41 | 42 | tan(α) = ( sin(λ)*cos(ε) - tan(β)*sin(ε) ) / cos(λ) ……12.3式 43 | sin(δ) = sin(β)*cos(ε) + cos(β)*sin(ε)*sin(λ) ……12.4式 44 | 45 | 计算本地地平坐标: 46 | 47 | tan(A) = sin(H)/( cos(H)*sin(φ) - tan(δ)*cos(φ) ) ……12.5式 48 | sin(h) = sin(φ)*sin(δ) + cos(φ)*cos(δ)*cos(H) ……12.6式 49 | 50 | 如果希望地平经度A是从北点开始计算的,而不是上面的南点起算,则只须对(12.5)式算出的A加上180°即可。 51 | 52 | 地平坐标转到赤道坐标: 53 | 54 | tan(H) = sin(A)/( cos(A)*sin(φ) +tan(h)*cos(φ) ) 55 | sin(δ)= sin(φ)*sin(h) - cos(φ)*cos(h)*cos(A) 56 | 57 | 当前的银河系统坐标已在1959年IAU中定义了。在B1950.0标准赤道系统,银河(银河系)北极的坐标是: 58 | α1950 = 12h 49m = 192°.25, δ1950 = +27°.4 59 | 60 | 银经的原点在银道上,该点距银道与B1950.0赤道升点33度。 61 | 62 | 这些值都是固定的惯例值,因此我们还须严格考虑它们与B1950.0赤道坐标的关系。 63 | 64 | 从B1950.0标准分点赤道坐标转到银道坐标: 65 | 66 | tan(x) = sin(192.25-α) / ( cos(192.25-α)*sin(27.4) - tan(δ)*cos(27.4) ) ……12.7式 67 | l = 303° - x 68 | sin(b) = sin(δ)*sin(27.4) + cos(δ)*cos(27.4)*cos(192.25-α) …12.8式 69 | 式中角度单位是度。 70 | 71 | 从银道坐标转到B1950.0标准分点坐标: 72 | 73 | tan(y) = sin(l-123) / ( cos(l-123)*sin(27.4) - tab(b)*cos(27.4) ) 74 | α = y + 125° 75 | sin(δ) = sin(b)*sin(27.4) + cos(b)*cos(27.4)*cos(l-123) 76 | 如果给定恒星2000.0的平位置而不是1950.0平位置,那么在使用公式(12.7)及(12.8)之前,应将α2000转为α1950,将δ2000转为δ1950,详见第20章。 77 | 78 | 公式(12.1)、(12.3)等,分别tan(λ)、tan(α)等的值,进而使用反正切函数算出λ、α等。然而,直接使用反正切函数将造成无法确定这些角度所在的象限,会产生不确定的180度角问题。可直接使用二参数函数ATN2,分子及分母作为入口参数传入。参见第1章的“正确象限” 79 | 80 | 例12.a——计算恒星Pollux(β Gem)的黄道坐标,它的赤道坐标是: 81 | 82 | α2000 = 7h 45m 18s.946, δ2000 = +28°.026183 83 | 84 | 解: 85 | 86 | 使用这些值α=116°.328942,δ=+28°.026183,和ε=23°.4392911,由公式(12.1)及(12.2)得: 87 | tan(λ) = (+1.03403986)/(-0.44352398),因此λ=113°.215630 88 | β = +6°.684170 89 | 90 | 因为α、δ涉及J2000.0标准分点坐标,所以λ、β也涉及同样的分点。 91 | 92 | 练习:利用上面计算出的λ和β值,利用12.3式及12.4式反算出α和δ 93 | 94 | 例12.b——计算在1987年4月10日(19h 21m 00s UT)时刻,在华盛顿U.S Naval天文台(经度 = +77°03'56" = 5h 08m 15s.7,纬度 = +38°55'17")金星的地平经度及纬度。此时金星的赤道视坐标是:α= 23h 09m 16s.641,δ= -6°43'11".61 95 | 96 | 解: 97 | 98 | 这是行星的视赤经及视赤纬。我们需要此刻的视恒星时。 99 | 100 | 我们先计算格林尼治1987年4月10日(19h 21m 00s UT)的平恒星时,得到的值是: 101 | 8h 34m 57s.0896(详见例11.b) 102 | 103 | 利用第21章描述的方法,我们得到该时刻的以下值: 104 | 黄经章动: Δψ = -3".868 105 | 真黄赤交角: ε = 23°26'36".87 106 | 107 | 格林尼治视恒星时是: 108 | θo = 8h 34m 57s.0896 + (-3.868/15)*cos(ε)秒 = 8h 34m 56s.853 109 | 110 | 金星在华盛顿的时角: 111 | H = θo - L - α 112 | = ( 8h 34m 56s.853) - (5h 08m 15s.7) - (23h 09m 16s.641) 113 | = -19h 42m 35s.488 = -19h.7098578 = -295°.647867 114 | = +64°.352133 115 | 116 | 由公式(12.5)和(12.6)得: 117 | tan(A) = (+0.9014712)/(+0.3636015) 因此 A = +68°.0337 118 | h = +15°.1249 119 | 120 | 所以,行星在地平线上面15度,在西南方向到正西方向之间。 121 | 122 | 应注意到,公式(12.6)没有考虑大气折射的影响,也没有考虑行星视差。大气折射问题参见第15章。视差改正将在第39章中研究。 123 | 124 | 作为一个练习,请计算Nova Serpentis 1978的银道坐标。它的赤道坐标是: 125 | α1950 = 17h 48m 59s.74, δ1950 = -14°43'08".2 126 | 127 | 答案: l = 12°.9593, b = +6°.0463 128 | 129 | 黄道和地平线 130 | 131 | 如果ε是黄赤交角,φ是观测站的纬度,θ是本地恒星时,那么在地平线(地面与天球交的大圆)与黄道相交的两点的黄经是(注意:只需计算1点,另一点与它相距180度): 132 | tan(λ) = (-cos(θ)) / (sin(ε)tan(φ) + cos(ε)*sin(θ)) ……(12.9)式 133 | 134 | 黄道面与地平面的夹是: 135 | cos(I) = cos(ε)*sin(φ) - sin(ε)*cos(φ)*sin(θ) ……(12.10)式 136 | 137 | 在一个恒星日期间,角度I在两个极限值之间。例如,纬度48°00'N,ε=23°26',那么I的两个极限值是: 138 | θ = 90°时, I = 90°- φ + ε = 65°26' 139 | θ =270°时, I = 90°- φ - ε = 18°34' 140 | 141 | 要注意的是,I不是太阳周日运动的平面与地平面的夹角。译者注:而是周年运动平面(黄道面)与地平的夹角,当然上式还未涉及视差问题。 142 | 143 | 例12.c——ε=23°.44,φ=+51°,θ = (5h 00m) =75°, 144 | 利用公式(12.9),得到: 145 | tan(λ) = -0.1879,因此 λ =169°21'和 λ = 349°21' 146 | 利用(12.10)式得: 147 | I = 62° 148 | 149 | 参考资料 150 | 151 | 1、《1835年航海年历和天文历书》,第508页(伦敦,1833)。 152 | 2、《1857年美国星历及航海年历》,第491页(华盛顿,1854) 153 | 3、《1960年天文历书》,第434页等(伦敦,1958) 154 | 4、W.Chauvenet,《球面学和实用天文学手册》,卷I,第317页等(费城,1891) 155 | 5、A.Danjon,《Astronomie Generale》,第46页(巴黎,1959) 156 | 6、S.Newcomb,《球面天文学概论》,第119页(纽约,1906) 157 | -------------------------------------------------------------------------------- /content/part13.md: -------------------------------------------------------------------------------- 1 | # 第13章 视差角 2 | 3 | 4 | 假设在晴朗的早晨,我们通过一片深色的玻璃看太阳,我们看到一个大黑子在太阳边缘的西边(右侧),如图1.A,到了中午,太阳接近了南边的子午圈,我们注意到,这个黑子降低了,如图1.B,到了下午,我们看到则离开得更远了,如图1.C。 5 | 6 | 7 | 8 | 太阳黑子并没有正真在太阳表面上那么移动,那是整个太阳面图像顺时针旋转。同样的情况,看月亮则更为直观,见图2。 9 | 10 | 11 | 12 | 如果我们考虑天球的周日运动,上述的这种视旋转就很容易理解了。如图3,对某个天体描画了平行圈、周日角。仅当太阳(或月亮)正好在南子午圈时,它的北方向正好指向天顶(注,本地子午圈过天顶)。 13 | 14 | 星座也有同样的效果。一个观察者在北半球,在东南方时,猎户座倾斜在左边,升起到南方向后则正立,在西南方时则向右倾斜。 15 | 16 | 在图4,画出了太阳(或月亮)圆盘。虚线弧AB是(箭头是周日运动方向)它在天球上周日运动的一段弧。C是盘面的中心。天顶及天北的方向如图中所示。天北方向是垂直AB的。Z是圆盘上的天顶点。对观测量来说,这个时刻,整个圆盘面在天空中的最高点就是Z点。N是圆盘的北点,CN方向指向天北极。 17 | 18 | 19 | 20 | 角ZCN,叫做视差角,通常记作q。这个视差角与视差完全无关。使用这个名称源于一个事实,天体沿着平行圈运动。对照这个“视差角”安装望远镜。 21 | 22 | 我们约定,通过子午圈之前q为负,之后为正。正好在子午圈上q = 0度。 23 | 24 | 可以利用以下公式计算视差角q: 25 | 26 | tan(q) = sin(H) / (tan(φ)*cos(δ) - sin(δ)*cos(H)) ……(13.1)式 27 | 式中,φ和前面的章节一样,它是观测站地理纬度。δ是天体的赤纬,H是该时刻的时角。 28 | 29 | 当天体正好在天顶,角q则没有定义。的确,当H=0度,δ=φ,由公式(13.1)得到q = 0/0。我们可以比较这种情况,如果某人正好站地球的北极,它的地理经度也是没有定义的,因为所有的子午圈都经过他那里。对于这个特殊的观测者,地平线上所有的点都在南方向。 30 | 31 | 当一个天体正好通过天顶,那么视差角q则从-90度跳变到90度。 32 | 33 | 如果天体在地平线上(升或降),公式(13.1)将简化为: 34 | cos(q) = sin(φ) / cos(δ) 35 | 在这种情况下,就不须要知道角度H 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /content/part14.md: -------------------------------------------------------------------------------- 1 | # 第14章 天体的升、中天、降 2 | 3 | 4 | 天体的升(出)或降(没)时刻对应的时角可由公式(12.6)计算,把h=0代入该式得: 5 | 6 | cos(Ho) = -tan(φ)*tan(δ) 7 | 8 | 然而,这样取得的是几何上的星体中心的升降。由于大气折射,当我们看到星体升或降时,星体的真实位置在地平线之下0°34'(在地平线时,一采用这个值)。对于太阳,视升降一般指太阳圆盘上边缘的升与降,因此需加上16分的太阳半径进行计算。 9 | 10 | 实际上,折射受到观测站温度、大气压等因素的影响(详见第15章)。冬天与夏天的温度变化,会引起升降时间改变20秒(在南中纬度或北中纬度)。类似的,观测太阳升降时间,大气压强的变化也会导至十几秒的时间差。不过,在本章,我们将对地平上的大气折射影响取均值,即上面提到的0°34'。 11 | 12 | 我们将使用以下符号: 13 | 14 | L = 观测者的地理经度,单位是度,从格林尼治测量,向西为正,向东为负 15 | 16 | φ=观测者的地理纬度,北半球为正,南半球为负。 17 | 18 | ΔT = TD - UT,单位是秒 19 | 20 | ho = “标准”地平纬度,也就是该时刻天体中心视升降的几何地平纬度,换句话说: 21 | 22 | ho = -0°34' = -0°.5667 (恒星或行星) 23 | ho = -0°50' = -0°.8333 (太阳) 24 | 对于月亮,这个问题更复杂,因为ho不是常数。考虑半径变化及地平视差,我们得到月亮的: 25 | ho = 0.7275π - 0°34' 26 | 式中π是月亮的地平视差(不是上章所说的视差角)。如果精度要球不高,ho可以取均值ho = 0°.125。 27 | 28 | 假设,在某一观测点,我们希计算某一日期及时间(UT时)天体的升、中天(天体在本地子午圈上,最高点)、降。我们可以先从天文年历中取得以下数据(也可以自已用电脑程序计算): 29 | 30 | ——格林尼治D日0h(UT时)的视恒时θo,并转为“度”单位; 31 | ——天体的视赤经及视赤纬(单位是度): 32 | α1和δ1,在力学时 D-1日0h 33 | α2和δ2,在力学时 D 日0h 34 | α3和δ3,在力学时 D+1日0h 35 | 36 | 我们先使用下式估算时间:cos(Ho) = (sin(ho) - sin(φ)*sin(δ2) ) / ( cos(φ)*cos(δ2) ) ……14.1式 37 | 38 | 注意!计算前先检查等式右边的数是否介于-1到+1之前,然后计算出Ho。见本章末的“注意2” 39 | 40 | Ho单位是度,Ho应转换到0度到180度。那么我们有: 41 | 42 | 中天: mo = (α2 + L - θo)/360 43 | 升起: m1 = mo - Ho/360 ……14.2式组 44 | 降落: m2 = mo + Ho/360 45 | 46 | 式中m是D日的时间(即D日m时),单位是日。因此m的值在0到1,如果m(即m0或m1或m2)的值超过这个范围,那么应加1或减1。例如:m = 0.3744,则不用变;m = -0.1709,则应加1变为+0.8291;m = +1.1853则应减1变为+0.1853。 47 | 48 | 译者注:θo是格林尼治恒星时,本地恒星时为θ = θo - L,本地时角(天顶与天体的经度差)为H = θo - L - α,用θ标定天顶经度,用α标定天体经度。 49 | 50 | 现在,对上面的3个m值执行以下计算。 51 | 52 | 得到格林尼治恒星时(单位度):θ = θo + 360.985647 * m, 式中m是mo、m1或m2 53 | 54 | 对于三个时间点 n = m + ΔT/86400(即原来的三个m是TD时,计算后得三个n是UT时),结合(α1、α2、α3)插值得α,结合(δ1、δ2、δ3)插值得δ,插值公式使用(3.3)式。计算中天时间,无需计算δ. 55 | 56 | 计算星体的本地时角:H = θ - L - α,那么星体的地平纬度h可由(12.6)式得到。计算中天时间,无需这个地平纬度。 57 | 58 | 那么m的修正量可由式得到: 59 | 60 | ——中天:Δm = H/360,式中H的单位是“度”,介于-180度到180度之间。在多数情况下,H是一个介于-1度到+1度之间的小角。 61 | ——升降:Δm = (h - ho) / (360*cos(δ)*cos(φ)*sin(H)),式中h和ho的单位是“度”, 62 | 63 | 修正量Δm通常是个,多数情况下介于-0.01到+0.01。 64 | 65 | 正确的m值是m+Δm,如果需要,可利用修正后的m重新执行计算(迭代计算过程)。 66 | 67 | 最后的计算:把每个m的值乘上24转为小时。 68 | 69 | --------------------------------- 70 | 71 | 例14.a:——1988年3月20日,金星升、中天、降。 72 | 观测点,波士顿: 73 | 经度 = +71°05' = +71°.0833 74 | 纬度 = +42°20' = +42°.3333 75 | 准确星历如下: 76 | 1988年3月20,0h UT: θo = 11h 50m 58s.10 = 177°.74208 77 | 1988年3月19,0h TD: α1 = 2h 42m 43s.25 = 40°.68021 78 | 1988年3月20,0h TD: α2 = 2h 46m 55s.51 = 41°.73129 79 | 1988年3月21,0h TD: α3 = 2h 51m 07s.69 = 42°.78204 80 | 81 | 1988年3月19,0h TD: δ1 = +18°02'51".4 = +18°.04761 82 | 1988年3月20,0h TD: δ2 = +18°26'27".3 = +18°.44092 83 | 1988年3月21,0h TD: δ3 = +18°49'38".7 = +18°.82742 84 | 85 | 使用公式(14.1)得到ho = 0,ΔT = +56s,利用公式(14.1)得 86 | cos(Ho) = -0.3178735,Ho = 108°.5433,因此m的估值为: 87 | 中天:mo = -0.18035,因此 mo = +0.81965 88 | 升起:m1 = mo - 0.30148 = +0.51817 89 | 降落:m2 = mo + 0.30148 = +1.12113,因此 +0.12113 90 | 91 | 算出准确的时间: 92 | 93 | 升起 中天 降落 94 | m +0.51817 +0.81965 +0.12113 95 | θ 4°.79401 113°.62397 221°.46827 96 | n +0.51882 +0.82030 +0.12178 97 | α 42°.27648 42°.59324 +41°.85927 插值用的 98 | δ +18°.64229 ------- +18°.48835 插值用的 99 | H -108°.56577 -0°.05257 +108°.52570 100 | h -0°.44393 ------- -0°.52711 101 | Δm -0.00051 +0.00015 +0.00017 102 | m +0.51766 +0.81980 +0.12130 修正后的 103 | 104 | 利用上面修正后的m,再做一次修正计算,得到的新的修正量分别是: 105 | -0.000003,-0.000004,-0.000004 106 | 可见新的修正量已经很小了,可以忽略,所以我们最后得到: 107 | 108 | 升起:m1 = +0.51766, 24*0.51766 = 12h 25m UT 109 | 中天:mo = +0.81980, 24*0.81980 = 19h 41m UT 110 | 降落:m2 = +0.12130, 24*0.12130 = 02h 55m UT 111 | 112 | --------------------------------------------------- 113 | 114 | 注意: 115 | 116 | 1、在列14.a中,我们得到,在波士顿降落的时间是3月20日(02h 55m UT)。然而,转为本地标准时间,相当于前一天晚上的!如果确实需要使用3月20日下落的本地时间,首次计算时应使用m2 = +1.12113,而不是0.12113 117 | 118 | 2、如果天体在天极附近,公式(14.1)右边的绝对值可能大于1,将得不到角Ho,在这种情况下,星体整天都在地平线上。 119 | 120 | 3、如果仅需要大约的时间,使用公式(14.2)计算mo、m1和m2的初值就可以了,无须迭代修正。 121 | 122 |   123 | 124 |   125 | 126 |   127 | 128 |   129 | 130 |   131 | 132 |   133 | 134 |   135 | 136 |   137 | 138 |   139 | 140 |   141 | -------------------------------------------------------------------------------- /content/part15.md: -------------------------------------------------------------------------------- 1 | # 第15章 大气折射 2 | 3 | 4 | 大气折射是光线通过地球大气层时光线发生弯曲。光线经过密度不断增加的大气时发生连续弯曲。这造成观测到的星体位置比真实位置高。在天顶,大气折射是零,越接近地平,折射越大。地平纬度是45度时,折射为约为1',在地平上,大约是35'。因此,太阳和月亮升起的时候,它们实际在地平线之下。由于折射率的变化,在低纬时我们看到的是椭圆形的太阳。当确定位置是,必须做大气折射修正,有以下两种情形: 5 | 6 | ·观测到星体地平纬度是ho,我们应找到一个适当的R值修正ho,真纬度(真高度角)是h=ho-R 7 | 8 | ·从天体坐标中得到没有空气情况下地平真纬度h,找一个适当的R修正h,,得到视纬度ho=h+R 9 | 10 | 我们遇到的大部分公式都是针对第一种情况的(已知观测值求真值)。但是这里,我们将考虑两种情况。 11 | 12 | 通常,我们可以使用'平均'的方法。然而,接近地平是的反常折射则不行,变形的夕阳告诉我们,在低纬度时,无法得到很高的精度。当天体的纬度大于15度,以下两个公式可供你选择,你可根据实际情况选择其一: 13 | 14 | R=58".294tan(90-ho)-0".0668tan3(90°-ho) 15 | 16 | R=58".276tan(90-h) -0".0824tan3(90°-h) 17 | 18 | 第1个公式是Smart提供的,第2个公式是由第一个公式导出的。当纬度低于15度,这两个表达式将变得不准确,甚至毫无意义。 从以上公式看出,在高纬度区,折射与90-h的正切值成正比。 19 | 20 | New South Wales大学的G.GBennett结出了一个出人意料的简单的折射公式,在0到90度范围内有很好的精度。 21 | 22 | 如果R表达为以分为单位,Bennett's公式是: 23 | 24 | R = 1/tan(ho+7.31/(ho+4.4))...(15.3) 25 | 26 | 式中ho是视纬度,单位是度。根据Bennett,对于任意ho,这个公式的精度是0.07'=4.2"。最大误差0.07'发生在ho=12度。应当注意的是:当ho=0时,R=-0".08(即0.0013515分),而不是0。可用第二项公式修正,先算出R,接下来利用下式修正R, 27 | 28 | dR = -0.06sin(14.7R+13), 29 | 30 | 结果的单位是分。括号中的表达式单位是度。修正后,在ho=0到90°范围内,最大误差0.015'=0.9"。注意,在ho=90°时,计算的结果是R=-0.89",不作第二项修正反而更好。 31 | 32 | 逆问题,已知真纬度,求折射的影响。有以下公式: 33 | 34 | R = 1.02/tan(h+10.3/(h+5.11))...(15.4) 35 | 36 | 该式与Bennett的公式勿合到4"。同样,h=90°时,该式算得R不等于零。差值是0.0019279。 37 | 38 | 以上公式假设观测式是在海平面,大气压是1010毫巴,温度10度摄氏度。 39 | 40 | 当气压增加温度下降,折射增加。设地表气压为P毫巴,气温是T摄氏度,那么以上各式R的值应乘以下式: 41 | 42 | (P/1010)*(283/(273+T)) 43 | 44 | 然而,这只是大约修正。因为折射率还与光的波长有关。这些表达式适用于黄光,它对人眼的灵敏度最高。 45 | 46 | ---------------------------------------------- 47 | 48 | 例15.a:表面光滑的太阳圆盘下边沿视纬度是30'。设太阳的真直径是32',气温及大气压为常规条件。求真位置。 49 | 50 | (1)ho1=30'=0.5°,由式1算得R=28'.754,则 51 | 52 | (2)下边沿真地平纬度h1=30'-28'.754=1'.246, 53 | 54 | (3)上边沿真地平纬度h2=1'.246+32'=33'.245 55 | 56 | (4)利用式2算得上边沿的视地平纬度(高度)ho2=57'.864 57 | 58 | 日圆盘的垂直方向直径与与水平方向的直径比:(ho2-ho1)/32=(57.864-30)/32=0.871 59 | 60 | 61 | 62 | 63 | -------------------------------------------------------------------------------- /content/part16.md: -------------------------------------------------------------------------------- 1 | # 第16章 角度差 2 | 3 | 当赤经和赤纬已知,两个天体间的角距离可由下式计算: 4 | 5 | cos(d) = sinδ1 sinδ2 + cosδ1 cosδ2 cos(α1-α2) ……16.1式 6 | 7 | 式中α1、δ1是一个天体的赤经和赤纬,α2、δ2是另一个天体的赤经和赤纬。 8 | 9 | 当天体的黄经λ黄纬β已知,天体角距离公式同样使用上式,只需把α1、α2、δ1、δ2换为λ1、λ2、β1、β2。 10 | 11 | 当d接近于0或180度时,(16.1)不在适用。因为此时|cos(d)|接近于1,并且其值随d变化很小,所以得到的d不精确。例如: 12 | 13 | cos(0°01'00") = 0.999999958 14 | cos(0°00'30") = 0.999999989 15 | cos(0°00'10") = 0.999999997 16 | cos(0°00'00") = 1.000000000 17 | 18 | 如果角度差非常小,如小于0°00'10",那么应改用下式计算: 19 | 20 | d = √(Δα*cosδ)2+(Δδ)2 ……16.2 21 | 22 | 式中Δα是两个赤经的差,Δδ是两个赤纬的差,δ是两个赤纬的平均值。应注意,Δα和Δδ应表达为相同的单位。 23 | 24 | 如果Δα是“小时”单位,Δδ是度单位,d是角秒单位,则公式如下: 25 | 26 | d = 3600√ (15*Δα*cosδ)2+(Δδ)2 ……16.3 27 | 28 | 如果Δα是“时秒”单位,Δδ是角秒单位,d是角秒单位,则公式如下: 29 | 30 | d = √(15*Δα*cosδ)2+(Δδ)2 ……16.4 31 | 32 | 公式(16.2)、(16.3)、(16.4)仅在d很小的时候才适用。 33 | 34 | 你还可以使用本章末的其它公式。 35 | 36 | ----------------------------------- 37 | 38 | 例16.a:计算Arcturus(α Boo)和Spica(α Vir)之间的角距离。这两颗的J2000.0坐标是: 39 | α Boo: 40 | α1 = 14h 15m 39s.7 =213°.9145 41 | δ1 = +19°10'57" = +19°.1825 42 | α Vir: 43 | α2 = 13h 25m 11s.6 = 201°.2983 44 | δ2 = -11°09'41" = -11°.1641 45 | 46 | 由公式(16.1)得cos(d) = +0.840633,因此d = 32°.7930 = 32°48' 47 | 48 | 当然,这个距离是J2000.0时它们的角距离。由于恒星自行,这个距离随时间缓慢变化。 49 | 50 | 练习:计算Aldebaran和Antares的角距离。答案:169°.58' 51 | 52 | ---------------------------------- 53 | 54 | 一个(或二个)天体可能是移动的。例如,一个行星和一个恒星,或者二个行星。在这种情况下,可以写个程序,先对δ1、δ2和α1-α2这三个量进行插值计算,之后再把插值结果代入公式(16.1)或(16.2)算出d。提示:利用插值结果并利用(16.1)式计算d时,如果cos(d)<0.999995,那么可以直接算出d,否则应改用(16.2)式。 55 | 56 | 译者注:为什么要先对(16.1)式所需的三个量δ1、δ2和α1-α2先做插值处理,而不是直接对距离d进行插值处理?因为,当星体之间的距离很近,接近会合时(比如它们可以会合),我们可以把星体之间的运动看做均速的,就会发现,两线星间是“线性”的靠近然后“线性”的远离,当我们画出“时间——距离”图象,将得到一条"V"字形的图象,这样星体会合时“时间——距离”图象的曲率非常大,插值的精度不高。 57 | 58 | 练习:使用以下坐标值,计算水星与土星之间的最近距离。 59 | 60 | 61 | 62 | 答案:两星体间的最短的角距离是0°03'44",发生在1978年9月13日 15h 06m.5 TD = 15h 06m UT。 63 | 64 | 我们看到,达到最近距离时,它们几乎会合了。我们必须强调这个事实,在这种情况下,应先对δ1、δ2和α1-α2进行插值计算,而不能直接对距离进行插值计算出最近距离。 65 | 66 | 假设我们直接对距离进行插值计算。利用16.1式,我们得到以下距离,单位是度,共5个: 67 | 68 | 1978 9月 12.0 TD d1 = 2.5211度 69 | 1978 9月 13.0 d2 = 0.9917度 70 | 1978 9月 14.0 d3 = 0.5943度 71 | 1978 9月 15.0 d4 = 2.2145度 72 | 1978 9月 16.0 d5 = 3.8710度 73 | 74 | 很明显,最小距离发生在9月13.0和14.0日之间,并且更接近14.0日一些。 75 | 76 | 现在,我们使用中间的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"。 77 | 78 | 以上两个结果都完全错误。在接近最小距离之前的一小段时间内,水星几乎是直线靠近土星,两星体间的角距离随时线性递减。同样,在达到最近距离之后的一小段时间内,水星以几乎按直线离开土星。 79 | 80 | 图中实线曲线表示两个星体角距离的真实变化。除了十分靠近最小距离的这段曲线外,两边几乎就是两条直线,一条经过B,另一条经过C和D,在这种情况下,插值将失效。 81 | 82 | 公式(3.3)、(3.4)和(3.5),是把函数的部分曲线拟合为抛物线。但是,这几乎是两条直线不是抛线,除非在十分靠近极点的那么小距矩中。 83 | 84 | 如果我们使用B、C、D三点及它们相应的距离d2、d3、d4,那么利用插值公式(3.3),我们得到通过这三点的抛物线,如图中的虚线。这条抛物线与真实曲线相差很大,尤其是在它的极值处相差更多。 85 | 86 | 87 | 88 | 使用5个值d1到d5,代替3点插值,仍然无济于事。因为实线与4次多项式仍然相差太大。 89 | 90 | 因此,对距离直接执行插值得不到准确结果。正如我们已经说的,我们应对原始坐标进行插值,只有它们才能准确推算出中间时刻的距离,接下来使用公式(3.8)插值,我们得到以下几个插值因子: 91 | 92 | n 距离(度) 93 | -0.50 0.21437 94 | -0.45 0.14057 95 | -0.40 0.07790 96 | -0.35 0.07028 97 | -0.30 0.12815 98 | 显然,最小距离对应的n在-0.40到-0.35之间,所以我们可以在这个范围内用更小的间隔来计算角距离: 99 | 100 | n 距离(度) 101 | -0.38 0.06408 102 | -0.37 0.06229 103 | -0.36 0.06448 104 | 现在,这个列表的间隔已经足够小,可以使用(3.4)式和(3.5)式了。我们得到最小的距离是 n = -0.370502 时取极值0°.06228 = 0°03'44",对应的时刻就是上面说到的 9月13.629498 = 9月13日15h 06m.5 TD。 105 | 106 | 然而,无需计算以上的几个插值因子n,而通过引入直角坐标计算出角距离也是可能的。这些坐标值是u和v,单位是角秒,用下式计算: 107 | 108 | 109 | 110 | 式中的α1和δ1是第一个行星的赤经和赤纬,而Δα=α2-α1,Δδ=δ2-δ1,其中α2和δ2是第二个行星的赤经和赤纬。 111 | 112 | 让我们计算3个等时间间隔的u和v的值。对于其它任意中间时刻,可以使用公式(3.3)插值计算得到,而它们的变化率(单位:角秒/列表时间隔)为: 113 | 114 | u' = ( u3 - u1 )/2 + n( u1 + u3 - 2u2 ) 115 | 116 | 式中n是插值因子,u1、u2、u3是u的三个计算值。v'的表达式与上式类似。 117 | 118 | 插值因子n从任意一个值开始,一个良好的选择是n=0。对于这个n,利用公式(3.3)进行插值得到u和v,进而得到变化率u'和v'。那么n的修正值为: 119 | 120 | Δn = -( uu' + vv' )/( u'2 + v'2 ) 121 | 122 | 所以,n的新值是 n+Δn,重复计算n,直到Δn是一个很小的量,例如绝对值小于0.000001。 123 | 124 | 得到n以后就可再算出u和v,那么最小距离是(单位是角秒):sqrt(u*u+v*v)。 125 | 126 | 让我们利用这个方法解决以上提到的水星与土星会合问题。选择3个时刻:1978年9月13.0、14.0、15.0日。我们得到以下u和v的值,保留了一些额外的小数位,以避免舍入误差: 127 | 128 | 129 | 130 | 因此Δn=-0.002142,则n修正后: -0.368582 - 0.002142 = -0.370724 131 | 132 | 再次迭代得到Δn=-0.000003,所以最后n的值是 -0.370724 - 0.000003 = -0.370727。 133 | 134 | [这个值与前面得到的n=-0.370502,因为前面的计算只用了行星的3个位置,而不是5个位置。不过相差只有0.000225日,即19秒] 135 | 136 | 对于n=-0.370727,我们得到 u = +70".20,v = -212".42,因此两个行星的最小距离是:sqrt(u*u+v*v) = 224" = 3'44",和前面的一样。 137 | 138 | 同样的方法可以用于其中一个星体是恒星的情况,只是把恒星的坐标值是个常数。但要注意,恒星的α和δ所涉及的赤道坐标系应与另一个移动星体所用的坐标系相同。(译者注:恒星坐标一般是FK5坐标系的,行星常用的坐标系可能是VSOP87的Date黄道坐标或其它坐标,应注意坐标变换) 139 | 140 | 如果移动的星体是主行星,给出的是Date分点坐标的视赤经和视赤纬涉,那么恒星坐标值也必须是相对于Date分点坐标系的。如果一个恒星位置坐标取自星库,涉及标准分点坐标(J2000.0赤道坐标),那么就应考虑恒星自行、岁差、章动及光行差(在第22章还会讲到),把这个坐标转换到Date分点坐标中。 141 | 142 | 如果移动的星体α和δ,已经是标准分点坐标(天文观测坐标),那么恒星的α和δ也必须是涉及标准分点坐标的,这时只需考虑恒自行即可。 143 | 144 | 译者注:插值计算时,几个插值节点的时间间隔很短,通常只用几天或几个小时,这么段的时间内,恒星的位置可以看做不变。但星库中的恒星位置通常是指J2000.0时刻的恒星位置坐标,这个时刻可能与我们计算的时刻相差很多年,此期间,恒星的自行造成恒星的实际位置与星库中的位置不相符,所以要做恒自行修正。 145 | 146 | ----------------------------------- 147 | 148 | 可供选择的替代公式 149 | 150 | 虽然,公式(16.1)是很准确的,但是,从算术计算的角度看来,当d很小时,精度是很糟糕的,这一点在本章开始部分就已经讲到了。正由于这个原因,有几个其它的方法已经被推荐。 151 | 152 | 其中一中方法是,考虑使用旧的半正矢(hav)函数,它对某些包含小角度的天文计算有很大的帮助,可以保留足够的有效数字。hav定义如下: 153 | 154 | havθ = (1-cosθ)/2 155 | 156 | 余弦公式(16.1)可精确等价于: 157 | 158 | hav d = havΔδ + cosδ1 cosδ2 hav Δα (16.5) 159 | 160 | 式中Δα = α1 - α2, Δδ = δ1 - δ2 161 | 162 | 在使用计算机计算时,我们还可以利用以下恒等式: 163 | 164 | havθ = sin2(θ/2) 165 | 166 | 利用公式(16.5),在接近180度到0度的整个范围内,角度差可以被计算十分精确。 167 | 168 | J.j.Slabinski 提供了另一种方法: 169 | 170 | sin2d = (cosδ1 sinΔα)2 + (sinδ2 cos δ1 cosΔα - cosδ2 sinδ1)2 171 | 172 | 不过,这个公式不能区分补角,例如144度与36度。在d接近90度时,这个公式精度很低。 173 | 174 | 参考文献 175 | 176 | 1、A.Danjon,《Astronomie Generale》,第36页,公式3.2(巴黎 1959) 177 | 2、《天空和望远镜》,卷68,第159页(1984年8月) 178 | 3、《天空和望远镜》,郑69,第158页(1985年2月) 179 | 180 |   181 | 182 |   183 | 184 |   185 | 186 |   187 | 188 |   189 | 190 |   191 | -------------------------------------------------------------------------------- /content/part17.md: -------------------------------------------------------------------------------- 1 | # 第17章 行星会合 2 | 3 | 4 | 给出两个行星的3个或5个不同时刻的位置,就可编写一个程序计算出赤经会合的时间以及此刻两星体之间的赤纬差值。这个方法包含了赤经的差值Δα的计算,即三点位置情况下利用公式(3.6)或(3.7),五点位置时得利用(3.10)或(3.11)计算出Δα=0对应的时刻(会合时刻)。当这个时刻找到后,直接用(3.3)或(3.8)插值计算出会合时刻的赤纬差值Δδ。 5 | 6 | 天体的黄经会合也可以使用同样的方法计算,当然,应使用地心黄经和黄纬代替赤经和赤纬。 7 | 8 | 须注意的是,不管是赤经会合还是黄经会合,都不是两星体的最小角距离。 9 | 10 | ------------------------------- 11 | 12 | 例17.a:——计算1991年8月7日水星与金星的会合。 13 | 14 | 以下是各日0时的精确星历: 15 | 16 | 17 | 18 | 我们先计算出二者的赤经差值及赤纬差值,单位是度: 19 | 20 | 21 | 22 | 应用公式(3.10)对Δα插值计算,当Δα=0时,插值因子是n = +0.23797。因此,赤经会合在: 23 | 24 | 1991年8月7.23797 = 1991年8月7日 5h 42m.7 TD 25 | = 1991年8月7日 5h 42m UT 26 | 27 | 用上面得到的n的值,代入插值公式(3.8)得到Δδ=+2°.13940或+2°08'。因此,赤经会合时,水星在金星北部2°08'。 28 | 29 | -------------------------- 30 | 31 | 如果第二星体是恒,在插值间隔时间范围内,它的坐标可以看做常数。那么我们有: 32 | 33 | 34 | 35 | 程序可以这样写,如果第二星体是恒星,那么它的坐标只需输入一次。 36 | 37 | 重要的注意事项,和上一章讲到的一样,恒星坐标与移动天体的坐标应使用同一个分点的参考系。 38 | 39 | 作为一个例子,试计算小行星4Vesta与恒θLeonis在1992年5月的赤经会合。小行星的赤经和赤纬涉及B1950.0标准分点坐标,来自Edwin Goffin星库: 40 | 41 | 42 | 43 | 历元1950.0分点的恒星坐标是α'=11h 11m 37s.089和δ=+15°42'11".49。百年自行(每100年的自行)是:赤经-0s.420,赤纬-7".87。 44 | 45 | 因此,算出从1950.0开始的42.38年(0.4238世纪)期间的恒星自行,我们可得到1950.0分点坐标中,历元1992.38时刻的恒星位置是: 46 | α'=11h 11m 36s.911和δ=+15°42'08".15 47 | 48 | 现在,就可以计算“会合”了。 49 | 50 | 答案:会合时间1992年5月19日7时 TD,Vesta在θLeonis南部0°40'。 51 | -------------------------------------------------------------------------------- /content/part18.md: -------------------------------------------------------------------------------- 1 | # 第18章 在一条直线上的天体 2 | 3 | 4 | 在本章以及下一章,我们将解决两个不是很重要的“科学”问题。但这对微妙天文事件感兴趣的人或对热门文章的作者来说却是有价值的。 5 | 6 | 设(α1,δ1)、(α2,δ2)、(α3,δ3)是三个天体的赤道坐标。这些天体在同一条直线上,是指它们位于天球上的同一个大圆。它们的坐标满足以下关系式: 7 | 8 | 9 | 10 | 这个公式对黄道坐标同样有效。只需把赤经α换为黄经λ,把赤纬δ换为黄纬β即可。 11 | 12 | 另忘了,赤经一般表达为“时分秒”格式。应把它们转为带小数的小时数,然后乘以15转为“度”单位。 13 | 14 | 如果一个或两个星体是恒星,那么,和前面讲到的一样,它们应转为和行星相同分点的坐标。 15 | 16 | --------------------------- 17 | 18 | 例18.a:——找出1994年火星、Pollux、Castor在同一条线上的时刻。 19 | 20 | 从火星的星历和恒星图,可以发现行星与这两个恒星在同一条直线的时刻大约在1994年10月1日。在这一天,恒星的视坐标是: 21 | 22 | 23 | 24 | 对于我们要解决的这个问题,在几天内,这些值(α1,δ1,α2,δ2)可以看作常数。 25 | 26 | 火星的视坐标(α3,δ3)是变化的。以下是它的值,取自精确的星历表: 27 | 28 | 29 | 30 | 使用这些值,代入公式(18.1)得到如下值: 31 | 32 | 33 | 34 | 使用公式(3.10)做插值计算,我们得到,值为零时发生在: 35 | 1994年10月1.2233 = 1994年10月1日 5h TD(UT) 36 | 37 | --------------------------------------- 38 | 39 | 在上一例子中,我们使用了火星的地心位置坐标。因此,严格的说,这个结果只适用于地心观测者,并且火星在观测者的天顶。但目前的问题是,没有必要精确计算行星视差(这个视差是很小的)。而处理月亮的时候,视差可达1度,在这种情况下,我们要用到月亮的地平位置坐标(详见第39章)。 40 | -------------------------------------------------------------------------------- /content/part19.md: -------------------------------------------------------------------------------- 1 | #第19章 包含三个天体的最小圆 2 | 3 | 4 | 设A、B、C是三个天体,在天球上,它彼此相邻不远,不超过6度。我们希望计算出包含这三个天体的最小圆的角直径。有以下两种情形: 5 | 6 | 类型I:最小圆的直径是三角形ABC的最长的边,这里,有一个顶点在圆内。 7 | 8 | 类型II:最小圆经过三个顶点A、B、C。 9 | 10 | 11 | 12 | 最小圆的直径Δ可由以下方法得到。 13 | 14 | 利用第16章的方法计算出三角形ABC各边的长度(单位是度)。设a是三角形最大的边长,b和c是另外两边的长度。 15 | 16 | 17 | 18 | -------------------------------- 19 | 20 | 例19.a:计算1981年9月11日0h力学时,水星、木星、土星的最小圆直径。此刻这三个行星的位置是: 21 | 22 | 水星 α = 12h41m08s.63 δ = -5°37'54".2 23 | 木星 α = 12h52m05s.21 δ = -4°22'26".2 24 | 土星 α = 12h39m28s.11 δ = -1°50'03".7 25 | 26 | 利用公式(16.1)得到三个角度差: 27 | 28 | 水星——木星 3°.00152 29 | 水星——土星 3°.82028 30 | 木星——土星 4°.04599 = a 31 | 32 | 因为 4.04599 < sqrt( (3.00152)2 + (3.82028)2 ) = 4.85836 33 | 34 | 所以利用(19.1)式计算Δ,结果是: 35 | 36 | Δ = 4°.26364 = 4°16' 37 | 38 | 这个例子属于类型II。 39 | 40 | 作为一个练习:请计算 1991年6月20日 0h TD时,金星、火星、木星的最小圆直径,使用以下位置数据: 41 | 42 | 金星 α = 9h05m41s.44 δ = +18°30'30".0 43 | 火星 α = 9h09m29s.00 δ = +17°43'56".7 44 | 木星 α = 8h59m47s.14 δ = +17°49'36".8 45 | 46 | 这题属于类型I,Δ = 2°19' 47 | 48 | --------------------------------- 49 | 50 | 可以写一个程序,利用插值方法得到行星赤经、赤纬,然后得到a、b、c,最后得到Δ。使用这样的程序,也许可能(试验)计算出三行星的Δ的最小值。的确,Δ是随时间变化的,而本章提供的仅是某一时刻的Δ值。 51 | 52 | 重要注意:行星的位置可以使用插方法计算,而Δ则不能。原因是,Δ的变化不能表达为一个多项式,详见“例19.c”中的图。(注:Δ的类型随时间推移会发生跳变)。 53 | 54 | --------------------------------- 55 | 56 | 例19.b:在1981年9月,有一组三星:水星、木星、土星。位置如下,不提供赤经赤纬,而提供黄经黄纬。 57 | 58 | 59 | 60 | 我们不再给出详细解答,留给读者作为练习。让我们看一下9月7.00到8.81,三体位置属于类型I,最小圆的直径Δ,从7°01'变化到5°00'几乎是线性的减小的。从9月8.81到12.19,三体位置属于类型II,Δ在9月10.53达到最小值4°14'。从9月12.19开始,三体位置又变为类型I,Δ随时间几乎线性增加。 61 | 62 | ------------------------ 63 | 64 | 例19.c:现在,让我们考虑以下虚构的情况。在3月12.0日,行星的黄道坐标如下(单位是度): 65 | 66 | 黄经 黄纬 黄经每日变化 67 | 行星P1 214.23 +0.29 +0.11 68 | 行星P2 211.79 +0.48 +0.20 69 | 行星P3 208.41 +0.75 +1.08 70 | 我们假设黄纬是常数,黄经匀速增加(详见表中最后一列)。 71 | 72 | 我们仍把具体计算留读者。我们用下图表示最小圆直径Δ的变化。注意图中的拐点A和B。除了两个很短的时期,A附近(3月15.87到15.91)和B附近(3月17.93到18.05)是类型II,其它的都是类型I。Δ的最小值是1°55',在图中的B点,是3月17.94日。 73 | 74 | 75 | 76 | 如果其中的一个星体是恒星,须注意:恒星的坐标应与行星的坐标使用同一参考坐标系。(在第16章同已讲到) 77 | -------------------------------------------------------------------------------- /content/part20.md: -------------------------------------------------------------------------------- 1 | # 第20章 岁差 2 | 3 | 4 | 译者注:在本文中将会用到J2000.0坐标的概念,解释如下。根据IAU及IAG,从1984年1月1日起采用新的固定坐标系FK5,它是以2000年1月1日12h TD时刻的平赤道及平分点为参考点,也称J2000.0坐标。该坐标系统的原点位于地心,x轴指向此刻的平春分点,z轴指向此刻的北极,y向与x、z轴正交,x-y-z构成右手系。 5 | 6 | 地球的自转轴的方向并不是真的固定在空间的某一方向上。随着时间的推移,它缓慢的漂移,就像陀螺一样,这种漂移称为岁差。这个效果源于月球和太阳对地球赤道突起部分的引力。 7 | 8 | 由于岁差,北极(目前位于αUrsae Minoris星或Polaris星附近)缓慢的围绕黄极转动,周期是26000年。因这一原因,春风点(黄道与赤道的交点)每年退行50"。 9 | 10 | 另外,行星的黄道在空间中也不是固定的。由于行星对地球的摄动,它回绕一个交点缓慢的移动,每世纪47"。 11 | 12 | 黄道面、赤道面及春风点,是黄道坐标及赤道坐标系统中的基本平面和起点。黄道坐标及赤道坐标也是天球中的两个重要的坐标系统:黄道坐标(黄经λ及黄纬β)及赤道坐标(赤经α及赤纬δ)。由于岁差,固定的恒星的坐标却是不断改变的。因此,星库中,赤经赤纬表中总要给定某一个历元时间,如1900.0或1950.0或2000.0。 13 | 14 | 在这一章中,我们还考虑赤经α及赤纬δ转换问题,即从一个历元坐标中转到另一个历元坐标中。这里只考虑平位置及岁差,而星体的视位置将在第22章中考虑。 15 | 16 | 如果精度要求不高,两个历元相差不远,并且如果星体没有太靠近天极,下面的公式可以用来计算赤经及赤纬的每年度岁差: 17 | Δα = m + n*sin(α)*tan(δ) Δδ = n*cos(α) ……20.1式 18 | 式中m和n是两个随时间不同速度缓慢变化的量。他们表达为: 19 | m = 3s.07496 + 0s.00186*T 20 | n = 1s.33621 - 0s.00057*T 21 | n = 20".0431 - 0".0085*T 22 | T是J2000.0起算的儒略世纪数。 23 | 24 | 以下是某些历元下的m和n的值: 25 | 26 | 历元 m(单位s) n(单位s) n(角秒) 27 | 1700.0 3.069 1.338 20.07 28 | 1800.0 3.071 1.337 20.06 29 | 1900.0 3.073 1.337 20.05 30 | 2000.0 3.075 1.336 20.04 31 | 2100.0 3.077 1.336 20.03 32 | 2200.0 3.079 1.335 20.03 33 | 34 | 计算Δα时,n值的单位是s。记住:1s=15"。 35 | 如果是恒星的情况,计算星体位置时,应把恒星自行效果加到20.1式。 36 | 37 | 例20.a ——Reulus(αLeonis)在历元J2000.0时的坐标是:αo = 10h 08m 22s.3 δo = +11°58'02" 38 | 每年自行速度是: 39 | -0s.0169 (赤经) 40 | +0".006 (赤纬) 41 | 请把该坐标转为历元1978.0的分点坐标。 42 | 43 | 解:依题意有: 44 | αo = 152°.093 m = 3s.075 45 | δo = +11°.967 n = 1s.336 = 20".04 46 | 用20.1式可算出: 47 | Δα = +3s.208, Δδ = -17".71 48 | 我们还应加上每年的自行速度,得到每所变化速度为: 49 | Δα = +3s.191, Δδ = -17".70 50 | 在2000.0到1978.0这-22年里,总变化量是: 51 | α的: +3s.191 * (-22) = -70s.2 = -1m 10s.2 52 | δ的: -17".70 * (-22) = +389" = +6'29" 53 | 最的得到: 54 | α = αo - 1m10s.2 = +10h 07m 12s.1 55 | δ = δo + 6'29" = +12°.04'31" 56 | 57 | 贝塞尔年及儒略年(两种常用历元) 58 | 59 | 国际天文学联合会决定,从1984年起,天文历表应使用以下系统。 60 | 61 | 新的标准历元是2000年1月1日12时(TD时),对应JDE 2451545.0。该历元写作J2000.0。为了星体位置计算方便,实历每年的年首与标准历元J2000.0中的各年年首是不同的,J2000中每年的单位是整倍数的儒略年(一个儒略年是365.25日)。例如,J1986.0是J2000.0之前14*365.25天,对应JDE是2451545.0 - 14*365.25 = 2446431.50。 62 | 63 | J2000.0或J1986.0中的字母J,指明了一个标准日历的时间单位是儒略年。之前,星体位置使用的标准历元始于贝塞尔年。贝塞尔年是太阳年,年首是:从春风点起算黄经280度时(修正了光行差:-20".5),这一时刻总是在格里高公历年附近。贝塞尔年长度是太阳年,即365.2421988日(公元1900)。 64 | 65 | 在新的系统中,为了区别基于贝塞尔年的旧历元,用字母B标识旧历元。例如: 66 | 67 | B1900.0 = JDE 2415020.3135 = 1900年1月0.8135 68 | B1950.0 = JDE 2433282.4235 = 1950年1月0.9235 69 | 而 70 | J2000.0 = JDE 2451545.00 (正好是整数) 71 | J2050.0 = JDE 2469807.50 (正好是0.5) 72 | …… 73 | J1986.0或J2000.0等,它们后面的那个".0"表示年首。 74 | 75 | 严格的岁差计算方法: 76 | 77 | 设T是J2000.0起算的儒略世纪数,设t是某一起始历元到终止历元之间的时间差,单位也是儒略世纪数。 78 | 79 | 换句话说,如果(JD)o和(JD)是儒略日,分别对应初始和结束历元,就有: 80 | 81 | T = ( (JD)o - 2451545.0 )/36525 82 | t = ( (JD) - (JD)o )/36525 83 | 84 | 那么我们有以下关于ζ、z、θ的数值表达式可用于精确坐标位置转换: 85 | 86 | (以下为 20.2式) 87 | 88 | ζ = ( 2306".2181 + 1".39656*T - 0".000139*T^2)*t + (0".30188 - 0".000344*T)*t^2 + 0".017998*t^3 89 | z = ( 2306".2181 + 1".39656*T - 0".000139*T^2)*t + (1".09468 + 0".000066*T)*t^2 + 0".018203*t^3 90 | θ = ( 2004".3109 - 0".85330*T - 0".000217*T^2)*t - (0".42665 + 0".000217*T)*t^2 - 0".041833*t^3 91 | 92 | 如果起始历元已经是J2000.0,那么T=0,则20.2式变为: 93 | 94 | ζ = 2306".2181*t + 0".30188*t^2 + 0".017998*t^3 95 | z = 2306".2181*t + 1".09468*t^2 + 0".018203*t^3 ……20.3式 96 | θ = 2004".3109*t - 0".42665*t^2 - 0".041833*t^3 97 | 98 | 然后,这个严格的公式就可用于某一起始历元赤道坐标(αo和δo)与终止历元赤道坐标(α和δ)的转换: 99 | 100 | A = cos(δo)*sin(αo+ζ) 101 | B = cos(θ)*cos(δo)*cos(αo+ζ) - sin(θ)*sin(δo) 102 | C = sin(θ)*cos(δo)*cos(αo+ζ) + cos(θ)*sin(δo) ……20.4式 103 | tan(α-z) = A/B sin(δ) = C 104 | 使用带两个参数的ATN2函数计算α-z,以保证得到正确的象限。也可以使用其它方法,见第1章。 105 | 106 | 如果星体接近天极,使用cos(δ) = sqrt(A*A+B*B)代替sin(δ)=C。 107 | 在把αo和δo转为α和δ之前,应先计算行星自行。 108 | 109 | 例20.b——恒星θPersei在J2000.0的历元平赤道坐标为: 110 | αo = 2h 44m 11s.986 δo = +49°13'42".48 111 | 该坐标中,它每年的自行速度是: 112 | +0s.03425 (赤经) 113 | -0".0895 (赤纬) 114 | 把该坐标转到2028年11月13.19日TD历元平坐标中。 115 | 116 | 解: 117 | 118 | 初始历元J2000.0(JD 2451545.0),终止历元是 JD 2462088.69。因此,t = +0.288670500儒略世纪数,或28.8670500儒略年。 119 | 120 | 我们先计算行星自行。在28.86705年中,变化: 121 | +0s.03425*28.86705 = +0s.989 (赤经) 122 | -0".0895 *28.86705 = -2".58 (赤纬) 123 | 124 | 因此,J2000.0平分点坐标中,历元2028年11月13.19日,该星的位置是: 125 | αo = 2h 44m 11s.986 + 0s.989 = 2h 44m 12s.975 = +41°.054063 126 | δo = +49°13'42".48 - 2".58 = +49°13'39".90 = +49°.227750 127 | 128 | 从初始坐标为J2000.0起算,所以可以使用20.3式。t的值是+0.288670500,我们得到: 129 | ζ = +665".7627 = +0°.1849341 130 | z = +665".8288 = +0°.1849524 131 | θ = +578".5489 = +0°.1607080 132 | 133 | A = +0.43049405 134 | B = +0.48894849 135 | C = +0.75868586 136 | 137 | α-z = +41°.362262 138 | α = +41°.547214 = 2h 46m 11s.331 139 | δ = +49°.348483 = +49°20'54".54 140 | 141 | 练习: 142 | 143 | αUrsae Minoris在J2000.0平赤道坐标是: 144 | α = 2h 31m 48s.704 δ = +89°15'50".72 145 | 该坐标中,星体的每年自行速度为: 146 | +0s.19877 (赤经) 147 | -0".0152 (赤纬) 148 | 计算该星体的B1900.0,J2050.0及J2100.0平赤道坐标 149 | 150 | 答案: 151 | 152 | B1900.0 α = 1h 22m 33s.90 δ = +88°46'26".18 153 | J2050.0 3h 48m 16s.43 +89°27'15".38 154 | J2100.0 5h 53m 29s.17 +89°32'22".18 155 | 156 | 应当注意的是,式20.2及20.3适用在有限在的时间范围内,比如,如果我们计算32700年,我们发现该历元的αUMi将在赤纬-87°,这完全错误。 157 | 158 | 使用黄道坐标 159 | 160 | 如果我们使用黄道坐标(黄经、黄纬)而不是赤道坐标(赤经、赤纬),那么可以使用以下严格的方法。 161 | 162 | T和t的含义与上述的相同,接下来计算: 163 | 164 | η = (47".0029 - 0".06603*T + 0".000598*T^2)*t + (-0".03302 + 0".000598*T)*t^2 +0".000060*t^3 165 | П = 174°.876384 + 3289".4789*T + 0".60622*T^2 - (869".8089 + 0".50491*T)*t + 0".03536*t^2 ……20.5式 166 | p = (5029".0966 + 2".22226*T - 0".000042*T^2)*t + (1".11113 - 0".000042*T)*t^2 -0".000006*t^3 167 | 参数η是起始历元黄道面到终历元黄道面的夹角。 168 | 169 | 如果起始历元是J2000.0,就有T=0,所以以上表达式化简为: 170 | 171 | η = 47".0029 *t -0".03302*t^2 +0".000060*t^3 172 | П = 174°.876384 -869".8089*t +0".03536 *t^2 ……20.6式 173 | p = 5029".0966*t +1".11113 *t^2 -0".000006*t^3 174 | 175 | 那么,以下严格的公式,要用于起始历元黄道坐标转到终止历元黄道坐标: 176 | A' = cos(η)*cos(βo)*sin(П-λo) - sin(η)*sin(βo) 177 | B' = cos(βo)*cos(П-λo) 178 | C' = cos(η)*sin(βo) + sin(η)*cos(βo)*sin(П-λo) 179 | tan(p +П-λ) = A'/B' sin(β) = C' 180 | 181 | 旧的岁差要素 182 | 183 | 正如以前所说的,为了星库及计算方便,现在使用J2000.0历元,单位是儒略年(365.25天)或儒略世纪(36525)。以前,贝塞尔年首由参考系时间决定,单位是太阳年世太阳年世纪数。然而,这不是旧系统(FK4)与新系统(FK5)的唯一区别。 184 | 185 | 首先,FK4的赤经零点有个小错误(分点改正)。 186 | 187 | 其次,在第22章还要讲到,地球公转造成恒星光行差,引起黄经偏移Δλ黄围编移Δβ: 188 | 189 | Δλ = -k*cos(Θ-λ)/cos(β) + e*k*cos(π-λ)/cos(β) 190 | Δβ = -k*sin(Θ-λ)*sin(β) + e*k*sin(π-λ)*sin(β) 191 | 式中Θ是太阳经度。π是地球轨道近点经度,e是轨道离心率,K是光行差常数。 192 | 193 | 现在,对于恒星,右边的第二项几乎是常数,因为e、π-λ、β随时间变化十分缓慢。正因如此,天文学上曾经把式中的第二项(也称E项修正)保留为恒星的平位置。 194 | 195 | 目前,依赖地球椭圆轨道的E项修正不再属于恒星的平位置。相反,它们被折算到了视位置中(详见第22章)。 196 | 197 | 基于Newcom岁差表达式的B1950.0赤道平分点坐标(FK4系统)转换到新的J2000.0的IAU系统(FK5系统),恒星平位置及自行的的转换步骤可以找到,例如在1984的天文年历中。 198 | 199 | 岁差公式20.2及20.3适用于FK5系统。如果只有FK4位置及自行可供使用,那么可按下面方法着手计算恒星在FK5系统中的位置: 200 | 201 | 1.使用Newcomb的岁差公式(见下面) 202 | 2.在平视位置转换时,E项修正应忽略。 203 | 3.最后的恒星视赤经应加下如下修正: 204 | Δα = 0s.0775 + 0s.0850*T 205 | 式中T是J2000.0起算的儒略世纪数 206 | 207 | Newcomb的岁差表达式是: 208 | 209 | 设(JD)o和(JD)分别是起始历元和终止历元,那么: 210 | T = ( (JD)o - 2415020.3135 ) / 36524.2199 211 | t = ( (JD) - (JD)o ) / 36524.2199 212 | 213 | ζ = (2304".250 + 1".396*T)*t + 0".302*t^2 + 0".018*t^3 214 | z = ζ + 0"791*t^2 + 0".001*t^3 215 | θ = (2004".682 - 0".853*T)*t - 0".426*t^2 - 0".042*t^3 216 | 如果起始历元是B1950.0,那么T=0.5,以上表达式变为: 217 | 218 | ζ = 2304".948*t + 0".302*t^2 + 0".018*t^3 219 | z = 2304".948*t + 1".093*t^2 + 0".019*t^3 220 | θ = 2004".255*t - 0".426*t^2 - 0".042*t^3 221 | 222 | -------------------------------------------------------------------------------- /content/part21.md: -------------------------------------------------------------------------------- 1 | # 第21章 章动及黄赤交角 2 | 3 | 4 | 5 | 英国天文学家詹姆斯·布拉德利(1693—1762)发现了章动,它是地球自转轴围绕其平位置周期振动。由于章动,地球自转轴围绕黄极做岁差运动的同时,自转轴还会在岁差运动的轨迹上波动。章动主要是月球运动引起的,可以描述为一些周期项的和。主要项的周期是6798.4日(18.6年),但其它项是一些短周期项(小于10天)。 6 | 章动可以很容易的分解为黄道的水平分量和的垂直分量。黄道上的分量记为Δψ,称为黄经章动;它影响了天球上所有天体的经度。黄道的垂直分量记为Δε,称为交角章动,它影响了黄赤交角。 7 | 计算所有天体的“视位置”及“恒星时”,都需要计算章动。对于一个给定的时刻,Δψ和Δε可以按如下计算: 8 | T是J2000.0起算的儒略世纪数: 9 | T = (JDE -2451545)/36525 ……21.1 10 | 式中JDE是历书儒略日数,它与儒略日数JD之间存在一个ΔT(详见第7章)。(译者注:世界时的儒略日在天文计算中比较不常用,所以通常我将历书儒略日译为儒略日)。然后计算以下角度表达式,单位是度。这些表达式由国际天文联合会(International Astronomical Unio简称IAU)提供。与第45章的月球理论有轻微的不同。 11 | 平距角(日月对地心的角距离): 12 | D = 297.85036 +455267.111480*T - 0.0019142*T^2 + T^3/189474 13 | 太阳(地球)平近点角: 14 | M = 357.52772 + 35999.050340*T - 0.0001603*T^2 - T^3/300000 15 | 月球平近点角 16 | M'= 134.96298 + 477198.867398*T + 0.0086972*T^2 + T^3/56250 17 | 月球纬度参数: 18 | F = 93.27191 + 483202.017538*T - 0.0036825*T^2 + T^3/327270 19 | 黄道与月球平轨道升交点黄经,从Date黄道平分点开始测量: 20 | Ω= 125.04452 - 1934.136261*T + 0.0020708*T^2 + T^3/450000 21 | 对表21.A中各项取和计算,可以计算黄经章动Δψ及交角章动Δε。表中的系数的单位是0".0001。这些项来自IAU1980章动理论,然而,忽略了系数小于0".0003的项。 22 | 正弦(计算Δψ用sin)的角度参数及余弦(计算Δε用cos)的角度参数是D、M、M'、F、Ω这5个基本参数的线性组合。例如第二行:角度参数是-2D+2F+2Ω。 23 | 当然,如果精度要求不高。只需用到一些大系数的周期项。 24 | 如果Δψ的精度要求是0".5,Δε的精度要求是0".1,那么我们可以忽略以上表达式中的T平方项及T三次方项,这样就可以使用以下简单的表达式: 25 | Δψ = -17".20sin(Ω)-1".32sin(2L)-0".23sin(2L')+0".21sin(2Ω) 26 | Δε = +9".20cos(Ω) +0".57cos(2L)+0".10cos(2L')-0".09cos(2Ω) 27 | 式中L和L'是月球和太阳的平黄经,分别是: 28 | L = 280°.4665 + 36000.7698*T 29 | L'= 218°.3165 + 481267°.8813*T 30 | 31 | 表21.A 32 | 33 | 黄赤交角: 34 | 35 | 黄赤交角,也就是地球自转轴的倾角,它也是黄道面与赤道面的夹角。有平黄赤交角与真黄赤交角之分,前者是黄道与平赤道的夹角,后者是黄道与真赤道的夹角。 36 | 平黄赤交角可由IAU提供的公式取得: 37 | εo = 23°26'21".448 - 46".8150*T - 0".00059*T^2 + 0".001813*T^3 …21.2式 38 | 式中T是J2000.0起算的儒略世纪数。 39 | 如果时间范围很长,21.2式的精度并不令人满意:2000年为εo误差1",4000年εo误差为10"。Laskar提供了以下改良的的表达式,式中U是J2000.0起算的儒略万年数,或U=T/100: 40 | εo = 23°26'21".448 ……21.3式 41 | - 4680".93*U 42 | -1.55*U^2 43 | +1999.25*U^3 44 | -51.38*U^4 45 | -249.67*U^5 46 | -39.05*U^6 47 | +7.12*U^7 48 | +27.87*U^8 49 | +5.79*U^9 50 | +2.45*U^10 51 | 该表达式的精度是:1000年后误差0".01(公元1000到3000),10000年后误差数个角秒。 52 | 应当注意的是,21.3式适用于|U|<1,即J2000.0起算前后各10000年的范围内。例如:U=2.834,公式得到的结果是εo = 90°,这是完全错误的。 53 | 下图显示了J2000.0起算,10000年以前到10000年以后范围εo的变化。根据Laskar的公式,地球自转轴的倾角在-7530年达到最大值(24°14'07"),在+12030附近达到最小值(22°36'41")。很巧,目前大约在以上两个极值之间一半的地方,此时图中的相应曲线几乎是一条直线,这也正是21.3式中U的二次项系数很小的原因。 54 | 真黄赤交角是ε=εo+Δε,Δε是交角章动。 55 | 56 | 57 | 58 | 例21.a ——计算Δψ、Δε及真黄赤交角,日期1987年4月10日0时TD。 59 | 60 | 解:该日期对应JDE 2446895.5,我们得到: 61 | T = -0.127296372348 62 | D = -56383°.0377 = 136°.9623 63 | M = -4225°.0208 = 94°.9792 64 | M'= -60610°.7216 = 229°.2784 65 | F = -61416°.5921 = 143°.4079 66 | Ω = 371°.2531 = 11°.2531 67 | Δψ= -3".788 68 | Δε= +9".443 69 | εo= 23°26'27".407 70 | ε = 23°26'36".850 71 | -------------------------------------------------------------------------------- /content/part22.md: -------------------------------------------------------------------------------- 1 | # 第22章 恒星视位置 2 | 3 | 4 | 5 | 任意时刻恒星的平位置是:当观测者站在不动的太阳上(严格的说是太阳系的质心)看到它在天球上的视位置,并且,它的位置坐标涉及Date黄道平分点(或Date赤道平分点)。 6 | 7 | 任意时刻恒星的视位置是:当观测者站在移动着的地心看到它在天球上的位置,其视坐标涉及瞬时赤道、黄道及分点。应当注意到: 8 | 9 | ——平分点是:Date黄道与Date平赤道的交点。 10 | ——真分点是:黄道与Date瞬时(真)赤道的交点,它与平分点不同,因为瞬时赤道含章动效果。 11 | ——这里没有定义“平黄道”,因为黄道的变化是有规律的。 12 | 13 | 14 | 15 | 问题提出:恒星不是真正不动的,那么如何将某一时刻恒星的平位置(例如标准历元坐标中的位置)转换到另一时刻的视位置?我们需要考虑以下位置改正: 16 | 17 | (A)两个历元之间,恒星的自行。我们可以假设各恒星的自行是在一个很大的圆上匀速动动。当自行是恒星极距的重要部分这种情况之外,恒星自行速度基本可看作常数,不仅它本生自行,而且它的赤经及赤纬(相对固定分点坐标)分量在几个世纪内匀可看作常数。因此,我们开始寻找,当选用固定的参考系时的自行效果,正如例20.b 18 | 19 | (B)岁差效果。这已在第20章中解释了。 20 | 21 | (C)章动效果。见下文。 22 | 23 | (D)周年光行差。见下文。 24 | 25 | (E)周年视差。当然,在天文学中,恒星视差是非常重要的。正如Georgo Lovi说的:“在广阔的星际中,视差是我们和我们的近邻之间唯一的真正的几何连接。它使天文学家能够创建测定星体与我们之间的距离的方法” 26 | 然而,为了人们希望精确计算恒星位置,恒星视差就显得很讨厌。幸运的是,多数情况下恒星视差不超过0".8并且可以忽略。根据R.Burnham,只有13个恒星(亮度超过9.0)与我们之间的距离小于13光年(4秒差距),视差超过0".25。这些恒星是:αCentauri,Lalande21185(在Ursa Major),Sirius,εEridani,61Cygni,Procyon,εIndi,∑2398(在Draco),Groombridge34(在Andromeda),τCeti,Lacaile9352(在Piscis Austrinus),Cordoba29191(在Microscopium),Kapteyn(在Pictor)。这些恒星没有一个在黄道附近,也没涉及月亮星蚀或行星汇合。 27 | 正是由于这个原因,以下计算恒星视位置时,忽略了周年视差。 28 | 29 | ------------------------------------- 30 | 31 | 章动效果 32 | 33 | 为平位置修正章动的最简单、最直接的章动方法是:把黄经章动Δψ加到天体的黄经中。黄道及星体的黄纬并没有因章动而改变。 34 | 这个方法用很适用于在黄道坐标中计算行星的视位置。然而,恒星位置通常是在赤道坐标系统给出的,所以我们宁愿在赤经和赤纬中直接修正,赤经章动及赤纬章动公式如下: 35 | 36 | Δα1 = (cos(ε) + sin(ε)sin(α)tan(δ))*Δψ - cos(α)tan(δ)*Δε 37 | Δδ1 = sin(ε)cos(α)*Δψ + sin(α)*Δε ……22.1式组 38 | 当恒星靠近天极时,这两个公式无效。在这种情况下,用上面提到的,使用黄道坐标直接加上黄经章动Δψ效果很好。 39 | 40 | Δψ及Δε可以使用第21章描术的方法计算。而ε是黄赤交角,使用21.2式计算。 41 | 42 | ------------------------------ 43 | 44 | 光行差效果 45 | 46 | λ和β是恒星的黄经和黄纬,K是光行差常数(20".49552),Θ是太阳真黄经(也叫几何黄经),e是地球轨道的离心率,π轨道近日点经度。 47 | 48 | Θ可使用第24章描术的方法计算 49 | e = 0.016708617 - 0.000042037*T - 0.0000001236*T^2 50 | π= 102°.93735 + 1°.71953*T + 0°.00046*T^2 51 | 式中T是J2000.0起算的儒略世纪数,由21.1式算得。 52 | 53 | 那么,黄经及黄纬的周年视光行差修正值是: 54 | 55 | 56 | 57 | 在赤道坐标中,恒星的赤经α及赤纬δ的周年光行差是: 58 | 59 | 60 | 61 | 章动和光行差对α及δ的总的修正分别是:Δα1+Δα2和Δδ1+Δδ2,计算时应注意单位的统一。 62 | 63 | 重要注意事项:公式(22.2)和(22.3)是光行差的完整表达,它们包含了E项修正,应当使用于FK5系统的恒星位置坐标。如果使用FK4位置,(22.2)及22.3式中包含e的项应当忽略,如同第20章解释的,因e项几乎常数,在FK4系统中e项保留为平位置。 64 | ------------------------------------------ 65 | 66 | 例22.a:——计算θPersei的视位置,2028年11月13.19 TD。 67 | 68 | 该恒星在这一时刻的平位置,包含自行效果,可由例20.b得到,即: 69 | α = 2h 46m 11s.331 = +41°.5472 70 | δ = +49°20'54".54 = +49°.3485 71 | 该时刻的黄经章动及交角章动,可利用第21章的方法计算得到: 72 | Δψ = +14".861, Δε = +2".705 73 | 由公式(21.2)得到ε = 23°.436,而太阳的真黄经使用第24章的“低精度”方法得:Θ = 231°.328(得到0.01度的精度已足够),我们还得到: 74 | T = +0.2886705, e = 0.01669647, π = 103°.434 75 | 把α、δ、ε、Δψ、Δε、Θ、e、π代入公式(22.1)和(22.3)得到: 76 | Δα1 = +15".843, Δδ1 = +6".218 77 | Δα2 = +30".047, Δδ2 = +6".696 78 | 那么总修正为: 79 | Δα = +15".843 + 30".047 = +45".890 = +3s.059 80 | Δδ = +6".218 + 6".696 = +12".91 81 | 因此,恒星的视坐标是: 82 | α = 2h 46m 11s.331 + 3s.059 = 2h 46m 14s.390 83 | δ = +49°20'54".54 + 12".91 = +49°21'07".45 84 | ----------------------------------------- 85 | 86 | Ron-Vondrak的光行差表达 87 | 88 | 表达式(22.2)及(22.3)包含了地球轨道离心率的效果,可得到很高精度的结果。不过,结果也不是严格精确的,因为公式是基于地球不受摄动的椭圆轨道的。实际上,地球运动受到月球及行星的一些摄动。太阳本身受巨行星(木星和土星)运动的影响也围绕太阳系的质心运动。 89 | 90 | 如果需要很高的计算精度,事实上,须使用太阳相对于太阳系质心的速度来计算恒星光行差。完成这种计算的方法,已由Ron 和Vondrak提出。 91 | 92 | 如果 T = (JD -2451545)/36525是J2000.0起算的儒略世纪数,然后计算给定时刻的以下角度(单位弧度): 93 | L2 = 3.1761467 + 1021.3285546*T 94 | L3 = 1.7534703 + 628.3075849*T 95 | L4 = 6.2034809 + 334.0612431*T 96 | L5 = 0.5995465 + 52.9690965*T 97 | L6 = 0.8740168 + 21.3299095*T 98 | L7 = 5.4812939 + 7.4781599*T 99 | L8 = 5.3118863 + 3.8133036*T 100 | L' = 3.8103444 + 8399.6847337*T 101 | D = 5.1984667 + 7771.3771486*T 102 | M' = 2.3555559 + 8328.6914289*T 103 | F = 1.6279052 + 8433.4661601*T 104 | L2到L8是行星(金星到海王星)的J2000.0平分点黄经(水星及冥王星的影响忽略),而L'是月球平黄经。 105 | 106 | 地球速度的各分量,相对太阳系中心 107 | 序号 108 | 角参数 109 | 110 | X',sin  X',cos Y',sin Y',cos Z',sin Z',cos 111 | 1 L3 -1719914-2T -25 25-13T 1578089+156T 10+32T 684185-358T 112 | 2 2L3 6434+141T 28007-107T 25697-95T -5904-130T 11141-48T -2559-55T 113 | 3 L5 715 0 6 -657 -15 -282 114 | 4 L' 715 0 0 -656 0 -285 115 | 5 3L3 486-5T -236-4T -216-4T -446+5T -94 -193 116 | 6 L6 159 0 2 -147 -6 -61 117 | 7 F 0 0 0 26 0 -59 118 | 8 L'+M' 39 0 0 -36 0 -16 119 | 9 2L5 33 -10 -9 -30 -5 -13 120 | 10 2L3-L5 31 1 1 -28 0 -12 121 | 11 3L3-8L4+3L5 8 -28 25 8 11 3 122 | 12 5L3-8L4+3L5 8 -28 -25 -8 -11 -3 123 | 13 2L2-L3 21 0 0 -19 0 -8 124 | 14 L2 -19 0 0 17 0 8 125 | 15 L7 17 0 0 -16 0 -7 126 | 16 L3-2L5 16 0 0 15 1 7 127 | 17 L8 16 0 1 -15 -3 -6 128 | 18 L3+L5 11 -1 -1 -10 -1 -5 129 | 19 2L2-2L3 0 -11 -10 0 -4 0 130 | 20 L3-L5 -11 -2 -2 9 -1 4 131 | 21 4L3 -7 -8 -8 6 -3 3 132 | 22 3L3-2L5 -10 0 0 9 0 4 133 | 23 L2-2L3 -9 0 0 -9 0 -4 134 | 24 2L2-3L3 -9 0 0 -8 0 -4 135 | 25 2L6 0 -9 -8 0 -3 0 136 | 26 2L2-4L3 0 -9 8 0 3 0 137 | 27 3L3-2L4 8 0 0 -8 0 -3 138 | 28 L'+2D-M' 8 0 0 -7 0 -3 139 | 29 8L2-12L3 -4 -7 -6 4 -3 2 140 | 30 8L2-14L3 -4 -7 6 -4 3 -2 141 | 31 2L4 -6 -5 -4 5 -2 2 142 | 32 3L2-4L3 -1 -1 -2 -7 1 -4 143 | 33 2L3-2L5 4 -6 -5 -4 -2 -2 144 | 34 3L2-3L3 0 -7 -6 0 -3 0 145 | 35 2L3-2L4 5 -5 -4 -5 -2 -2 146 | 36 L'-2D 5 0 0 -5 0 -2 147 | 在J2000.0赤道坐标中,地球相对于太阳系中心的速度分量X'、Y'、Z'的各序列项在表22.A中。表中,每行的每个正弦或余弦的角参数是L2、L3…等的线性组合,而每行中的数字是相应的正余弦的振幅。以第12行为例: 148 | 角A = 5L3 -8L4 +3L5,该行对速度的贡献是: 149 | 对X':+8sin(A) - 28cos(A) 150 | 对Y':+25sin(A) - 8cos(A) 151 | 对Z':-11sin(A) - 3cos(A) 152 | 我们取得的速度值的单位是10^-8AU/日。光速c=17314463350AU/日。 153 | 那么,恒星视赤经及视赤纬的周年光行差修正值(弧度单位)可由22.4式得到: 154 | 155 | 156 | 157 | 要注意的是:表22.A的地球速度各分量,是涉及FK5的,是J2000.0历元固定赤道分点坐标,而不是Date平分点坐标。因此,如果考虑使用Ron-vondrak方法式而不使用22.3式,那么应在计算岁差和章动之前计算22.4式。换句话说,计算顺序是:FK5位置(J2000.0),自行,光行差(使用22.A表及22.4式),岁差(20.3和20.4式),章动(第21章和22.1式)。 158 | 159 | ------------------------------------------ 160 | 例22.b:——让我们再计算θPersei的视位置,2028年11月13.19 TD。这里使用Ron-Vondrak算法。 161 | 162 | 从例20.b,我们得到恒星在历元2028年11月13.19的坐标,此时,它在J2000.0平分点坐标系统中的坐标是(含自行): 163 | α = 2h 44m 12s.9747 = +41°.0540613 164 | δ = +49°13'39".896 = +49°.2277489 165 | 这两个值,比例20.b保留了更多的小数位数,以减少舍入误差。我们接下来计算得到: 166 | T = +0.288670500 L' = 2428.5515363 弧度 167 | L2 = 298.0035712 弧度 D = 2248.5657939 弧度 168 | L3 = 183.1273350 弧度 M' = 2406.6030750 弧度 169 | L4 = 102.6371070 弧度 F = 2436.1207984 弧度 170 | L5 = 15.8901621 弧度 171 | L6 = 7.0313324 弧度 X' = -1363700 172 | L7 = 7.6400181 弧度 Y' = + 990286 173 | L8 = 6.4126746 弧度 Z' = + 429285 174 | 175 | 由公式(22.4)得到: 176 | Δα = +0.000145252弧度 = +0°.0083223 177 | Δδ = +0.000032723弧度 = +0°.0018749 178 | 179 | 所以修正了光行差后的新α和δ的值(仍然在J000.0参考系)是: 180 | α = +41°.0540613 + 0°.0083223 = +41°.0623836 181 | δ = +49°.2277489 + 0°.0018749 = +49°.2296238 182 | 183 | 由20.4式计算岁差效果。该时刻的ζ、z、θ在例20.b中已算出。我们得到: 184 | A = +0.430549036 185 | B = +0.488867290 186 | C = +0.758706993 187 | 188 | 新的α = +41°.5555635 189 | 新的δ = +49°.3503415 190 | 191 | 最后,利用公式(22.1)修正章动。由(例22.a)得Δψ = +14".861,Δε = +2".705及ε = 23°.436,我们就得到: 192 | Δα1 = +15".844 = +0°.0044011 193 | Δδ1 = + 6".217 = +0°.0017270 194 | 195 | 因此,所需的视赤经和视赤纬是: 196 | 197 | α = +41°.5555635 + 0°.0044011 = 41°.5599646 = 2h 46m 14s.392 198 | δ = +49°.3503415 + 0°.0017270 = 49°.3520685 = 49°21'07".45 199 | 200 | 请与例22.a比较结果 201 | ------------------------------------------------- 202 | 203 | 参考资料: 204 | 205 | 1、《天空和望远镜》,卷77,第288页(1989年3月)。 206 | 2、Robert Burnham,Burnham的《天体手册》,卷III,第2126页(Dover 出版,纽约;1978)。 207 | 3、Fifth Fundamental Catalogue(FK5),Veroffentlichungen Astronomisches Rechen-Institut Heidelberg,No.32(Karlsruhe,1988) 208 | 4、C.Ron,J.Vondrak,"周年光行差的三角级数展开",Bull.Astron.Inst.Czechosl.,卷37,第96—103页(1986) 209 | 210 | -------------------------------------------------------------------------------- /content/part23.md: -------------------------------------------------------------------------------- 1 | # 第23章 轨道要素在不同坐标中的转换 2 | 3 | 4 | 在处理某些问题时,可能需要对主行星或慧星的轨道要素进行转换,从一个分点坐标中转到另一个坐标中。当然,转换过程中,半长轴及离心率是不会变化的,因此中有三个要素需要转换: 5 | i = 轨道倾角 6 | ω= 近点参数 7 | Ω= 升交点经度 8 | 设io、ωo、Ω是已知的,它是初始历元的轨道要素,设i、ω、Ω是未知的,它是终止历元的轨道要素。 9 | 在下图中,Eo和λo分别是初始历元的黄道和春风点,E和λ则是终止历元的黄道及分点。这两个黄道的夹角是η,轨道的近点是P。 10 | 11 | 12 | 13 | 14 | 同第20章一样,T是J2000.0起算的初历元的儒略世纪数,t则是从初始历元起算的终历元的儒略世纪数。 15 | 接下来计算角度η、П和p,这3个角用20.5式计算,如果初始历元是J2000.0,则可以用20.6式计算。 16 | 令ψ = П+p,则i、Ω(即先求得Ω-ψ,再得到Ω)的值可由下式算出: 17 | 18 | cos(i) = cos(io)*cos(η) + sin(io)*sin(η)*cos(Ωo-П) ……23.1式 19 | sin(i)*sin(Ω-ψ) = sin(io)*sin(Ωo-П) ……23.2式 20 | sin(i)*cos(Ω-ψ) = -sin(η)*cos(io) + cos(η)*sin(io)*cos(Ωo-П) 21 | 当倾角很小时,23.1式不能使用。 22 | 接下来:ω = ωo + Δω,式中Δω由下式计算: 23 | 24 | sin(i)*sin(Δω) = -sin(η)*sin(Ωo-П) ……23.3式 25 | sin(i)*cos(Δω) = sin(io)*cos(η) - sin(io)*sin(η)*cos(Ωo-П) 26 | 如果io=0,那么Ωo是不确定的,这时有i=0及Ω=ψ+180°。 27 | 要注意的是,用以上描述的方法进行转换,到新历元坐标的i、ω、Ω,它仍然是有效的初始要素。不过,事实上,换个新的历元坐标计算同一条轨道是完全不同的天体力学问题。 28 | 例23.a ——在他们的星库中(巴黎天文台天体物理de Meudon 1952),De Obaldia 给出了Klinkenberg(1744)慧星的轨道要素,B1744.0平分点坐标: 29 | 30 | io = 47°.1220 31 | ωo=151°.4486 32 | Ωo= 45°.7481 33 | 请把这些要素转到B1950.0标准分点坐标中。 34 | 解:最后历元是B1950.0,或(JD) = 2433282.4235(详见第20章),而初历元比它早206个太阳年(在为这两个历元都是贝塞尔年首),因此: 35 | (JD)o = 2433282.4235 - (206*365.2421988) = 2358042.5305。 36 | 则有: 37 | 38 | T = -2.559958097 39 | t = +2.059956002 40 | η= +97".0341 = +0°.026954 41 | П= 174°.876384 - 10205".9108 = 172°.041409 42 | P = +10352".7137 = 2°.875754 43 | ψ= 174°.917163 44 | 那么,由式23.2得: 45 | 46 | sin(i)*sin(Ω-ψ) = -0.59063831 = A 47 | sin(i)*cos(Ω-ψ) = -0.43408084 = B 48 | 使用以下变换: 49 | 50 | sin(i) = sqrt(A*A+B*B) = 0.73299372, i = 47°.1380 51 | Ω-ψ = ATN2(A,B) = -126°.313473 52 | Ω = 48°.6037 53 | 由23.3式得: 54 | 55 | sin(i)*sin(Δω) = +0.00037917 56 | sin(i)*cos(Δω) = +0.73299362 57 | 因此:Δω = +0°.0296, ω=151°.4782 58 | 在他的慧星轨道库中(第六版;1989),Marsden给出的值是: 59 | 60 | i = 47°.1378, 61 | ω= 151°.4783 62 | Ω= 48°.6030 63 | 这与上述计算的Ω存在0°.0007的差异,原因是新的IAU比普通岁差多出一出了一个被Newcomb忽略的黄经的小量(+1".1每世纪)。这造成206年(从1744到1950)积累了0.0006度。 64 | ----------------------- 65 | 如果初始历元分点坐标是B1950.0,终止历元坐标是J2000.0,那么公式简化为: 66 | 以下几个式子计为 ……23.4式 67 | 68 | S = 0.0001139788 C = 0.9999999935 69 | W = Ω。- 174°.298782 70 | A = sin(io)*sin(W) 71 | B = C*sin(io)*cos(W) - S*cos(io) 72 | sin(i) = sqrt(A*A+B*B) tan(x) = A/B 73 | Ω= 174°.997194 + x 74 | 最后 ω = ωo + Δω 75 | 式中tan(Δω) = -S*sin(W) / (C*sin(io) - S*cos(io)*cos(W)) 76 | 必须注意角度x与角度Δω的象限。为了安全,可使用ATN2()函数,即x=ATN2(A,B)。此外,当轨道倾角很小时,新的Ω应比初始Ωo大0.7°,Δω应接近0°而不是180°。 77 | ----------------------- 78 | 例23.b ——S.Nakano 计算出周期慧星1990返回(小行星通告12577),轨道如下: 79 | 80 | 历元 = 1990年12月5.0(TD) = JDE 2448200.5 81 | T = 1990年10月28.54502 TD 82 | B1950.0要素 83 | q = 0.3308858 i = 11°.93911 84 | a = 2.2091404 Ω=334°.04096 85 | e = 0.8502196 ω=186°.24444 86 | 我们希望将i、Ω、ω转到J2000.0分点坐标中,有以下计算过程: 87 | 88 | W = +159°.742178 89 | A = +0.0716284465 90 | B = -0.1941873149 91 | sin(i)= 0.2069767 Ω= 334°.75006 92 | i = 11°.94524 Δω= -0°.01092 93 | x = +159°.752866 ω= 186°.23352 94 | 其它的轨道要素(T,q,a,e)保持不变,历元还是1900年12月5.0日 95 | ------------------ 96 | 然而,23.4式采用的要素io、ωo及Ωo是FK5系统的。把这些要素从B1950.0/FK4转到J2000.0/FK5系统,可以使用Yeomans的如下算法: 97 | 设: 98 | 99 | L'= 4.50001688度 100 | L = 5.19856209度 101 | J = 0.00651966度 102 | W = L+Ωo 103 | 然后有: 104 | 105 | sin(ω-ωo)*sin(i) = sin(J) *sin(W) 106 | cos(ω-ωo)*sin(i) = sin(io)*cos(J) + cos(io)*sin(J)*cos(W) 107 | cos(i) = cos(io)*cos(J) - sin(io)*sin(J)*cos(W) 108 | sin(L'+Ω) *sin(i) = sin(io)*sin(W) 109 | cos(L'+Ω) *sin(i) = cos(io)*sin(J) + sin(io)*cos(J)*cos(W) 110 | 从以上算式可算出i、Ω及ω 111 | ---------------- 112 | 例23.c ——io、Ωo及ωo的初值与例23.b的相同。 113 | 我们得到: 114 | 115 | FK5,J2000.0 116 | i = 11°.94521 117 | Ω= 334°.75043 118 | ω= 186°.23327 119 | 120 | -------------------------------------------------------------------------------- /content/part24.md: -------------------------------------------------------------------------------- 1 | 第24章 太阳位置计算 2 | 3 | [许剑伟 于家里 2008-3-30下午] 4 | 5 | 一、低精度计算: 6 | 7 | 当计算精度要求为0.01度,计算太阳位置时可假设地球运动是一个纯椭圆,也就说忽略月球及行星摄动,计算表达如下。 8 | 9 | 设JD是儒略日数,可以用第7章表述的方法计算。T为J2000起算的儒略世纪数: 10 | 11 | T = (JD-2451545.0)/36525 12 | 13 | 计算时要保留足够的小数位数,5位小数是不够的(除非所需的太阳黄经的精度要求不高),注意,T表达为儒略世纪数,所以T误差0.00001相当于0.37日。 14 | 15 | 接下来, 16 | 17 | 太阳几何平黄经:Lo = 280°.46645 + 36000°.76983*T + 0°.0003032*T^2 (Date平分点起算) 18 | 19 | 太阳平近点角: M = 357°.52910 + 35999°.05030*T - 0°.0001559*T^2 -0°.00000048*T^3 20 | 21 | 地球轨道离心率: e = 0.016708617 - 0.000042037*T - 0.0000001236*T^2 22 | 23 | 太阳中间方程:C = +(1°.914600 - 0°.004817*T -0°.000014*T*T) * sin(M)+(0°.019993 - 0°.000101*T) * sin(2M)+ 0°.000290*sin(3M) 24 | 25 | 那么,太阳的真黄经是:Θ = Lo + C 26 | 27 | 真近点角是: v = M + C 28 | 29 | 日地距离的单位是"天文单位",距离表达为:R = 1.000001018 (1-e^2) / (1+e*cos(v)) ……24.5式 30 | 31 | 式中的分子部分的值变化十分缓慢。它的值是: 32 | 0.9997190 1800年 33 | 0.9997204 1900年 34 | 0.9997218 2000年 35 | 0.9997232 2100年 36 | 37 | 太阳黄经Θ可由上述的方法算出,它是Date黄道分点坐标中的真几何黄经,需通过计算地心坐标星体位置也可算出。 38 | 39 | 要取得Date黄道坐标中太阳的视黄经λ,还应对Θ进行章动修正及光行差修正。如果精度要求不高,可用下式修正: 40 | 41 | Ω = 125°.04 - 1934°.136*T 42 | λ = Θ - 0°.00569 -0°.00478*sin(Ω) 43 | 44 | 某此时候,我们需要把太阳黄经转到J2000坐标中,在1900-2100年范围内可利用下式进行: Θ2000 = Θ - 0°.01397*(year-2000) 45 | 46 | 如果还想取得更高的转换精度(优于0.01度),那么你可以使用第25章的方法进行坐标旋转。 47 | 48 | Date黄道坐标中的太阳黄纬不超过1".2,如果对精度要求不是很高,可以置0。因此,太阳的地心赤经α及赤纬δ可以用下式(24.6式,24.7式)计算,式中ε是黄赤交角(由21章的21.2式计算)。 49 | 50 | tanα = cosεsinΘ / cosΘ ……24.6式 51 | sinδ = sinεsinΘ ……24.7式 52 | 53 | 如果要想得到太阳的视赤经及赤纬,以上二式中的Θ应换为λ,ε应加上修正量: 54 | +0.00256*cos(Ω) 55 | 56 | [译者注]:实际上就是对Θ补上黄经章动及光行差,ε补上交角章动后再转到赤道坐标中。也可在赤道坐标中补章动及光行差,但公式不同。 57 | 58 | 公式24.6当然可以转为:tan(α) = cos(ε)*tan(Θ),接下来,我们要注意α与Θ应在同一象限。然而,如果你使用计算机语中有ATN2函数(C语言是atan2),那最好保持24.6式不变,这样就可直接利用ATN2函数算出α,即:α = ATN2( cos(ε)*sin(Θ),cos(Θ) ) 59 | 60 | 例24.a——计算1992-10-13,0点,即力学时TD=JDE 2448908.5时刻的太阳位置。 61 | 62 | 我们算得: 63 | 64 | T = -0.072183436 65 | Lo= -2318°.19281 = 201°.80719 66 | M = -2241°.00604 = 278°.99396 67 | e = 0.016711651 68 | C = -1°.89732 69 | Θ= 199°.90987 = 199°54' 36" 70 | R = 0.99766 71 | Ω= 264°.65 72 | λ= 199°.90897 = 199°54' 32" 73 | εo= 23°26'24".83 = 23°.44023 (由21章的21.2式算得) 74 | ε= 23°.43999 75 | α视= -161°.61918 = +198°.38082 = 13h.225388 = 13h 13m 31s.4 76 | δ视= -7°.78507 = -7°47' 06" 77 | 78 | 使用VSOP87行星理论计算出的的正确值是:(请与上面的结果做一下比较) 79 | Θ= 199°54' 26".18 80 | λ= 199°54' 21".56 81 | β= +0".72 82 | R = 0.99760853 83 | α视= 13h 13m 30s.749 84 | δ视= -7°47' 01".74 85 | 86 | 二、高精计算 87 | 88 | 在Bretagnon和Simon的书中给出一种计算太阳黄经的方法,其精度可以满足大部分应用.用他们的方法得到0—2800年的精度是0.0006度(2".2),-4000到+8000的精度是0.0009度(3".2),且计算时仅用到49个周期项。 89 | 90 | 有一个精度很高的,高达0.01角秒的方法,就是用31章要讲到的VSOP87理论进行计算,但对于地球,该理论用了2425个周期项(1080个黄经周期项,348个黄纬周期项,997个距离周期项)。显然这么的数量无法复制到本书,因此我们只从VSOP87中取出一些主要项(详见附录II),利用它计算得到的太阳位置在-2000到6000年范围内精度是1"。计算步骤如下: 91 | 92 | 使用附录II的地球数据,可计算出给定时刻的日心黄经L、黄纬B及距离R,具体详见第31章。别忘了,时间τ是JDE 2451545.0(即J2000.0)起算的儒略千年数,而不是世纪数,最后得到的结果L和B是弧度单位。 93 | 94 | 要取得地心黄经Θ及黄纬β,应按下式计算:Θ = L + 180°, β=-B 95 | 96 | 转换到FK5系统。太阳黄经Θ及黄纬β是P.Bretagnon的VSOP行星理论定义的动力学黄道坐标。这个参考系与标准的FK5坐标系统(详见20章)仅存在很小的差别。可按以下方法把Θ、β转换到FK5坐标系统中,其中T是J2000起算的儒略世纪数,或T=10τ。 97 | 98 | 先计算 λ' = Θ - 1°.397*T - 0°.00031*T^2 99 | 100 | 接下来Θ及β的修正量是: 101 | ΔΘ = -0".09033 ……24.9式 102 | Δβ = +0".03916*( cos(λ') - sin(λ') ) 103 | 104 | 仅在需要很精确计算时才进行这个修正。如果使用附录II中提供的被削减了一些项的VSOP87,那么此项修正可省略。 105 | 106 | ******** 107 | 译者注:VSOP动力学的黄道与FK5黄道有一点小差别,所以作以上修正。J2000.0动力学黄道和FK5黄道或赤道可以均可看作惯性系。这两种参考系存在小量差别。J2000.0的VSOP黄道与J2000.0的FK5黄道存在一个很小的夹角 E = 0".0554左右,VSOP黄道经过FK5黄道的升交点为N,N在春风点西侧135度。根据以上说明,易得VSOP的Date黄道与FK5的Date黄道的变换关系: 108 | 109 | Δβ=0.0554*sin(Θ+135-p),(式中p是Date黄道上的岁差) ……24.E1式 110 | 111 | 112 | 由于两个黄道之间的夹角很小,Δβ也可看作在春分点处两道的垂直距离(看作直线AB),设Date赤道与两黄道交于分别交于A、C,这样三角形ABC直角小三角形,B角是90度,于是有: 113 | Θ=0时, AB = Δβ = 0".0554*sin(135-p) 114 | 115 | 易得两个春风点相差,ΔΘ=AB/tan(ε) 116 | 117 | ε可值为常数23.44度,那么ΔΘ=0".1278*sin(135-p) ……14.E2式 118 | 119 | 当计算的时间跨度不大时(如几百年),p取0即可,那么ΔΘ=0".09035 120 | 121 | 实际上,原文的λ' = Θ - p 122 | 123 | 代入24.E1式得:Δβ = +0".03916*( cos(λ') - sin(λ') ) 124 | ********** 125 | 126 | 太阳的视位置。到止,我们得到的太阳黄经Θ是Date黄道分点坐标的真几何黄经。要取得视黄经λ,还应加上精确的黄经章动及光行差。 127 | 128 | 章动处理:根据第21章算出ΔΨ,并加到Θ中即可。 129 | 130 | 太阳地心黄经光行差修正项是: -20".4898/R ……20.10式 131 | 132 | 式中R是日地距离(天文单位)。分子是光行差常数(K=20".49552)乘以a*(1-e^2),与24.5式的分子相同。因此24.10中的分子中其实是一个缓慢变化的数,在0年是20".4893,在+4000年是20".4904。 133 | 134 | 但重要的是,24.10式本身不是一个严格的准确的表达式,因为它是假设地球轨道是不受摄动的标准椭圆。当受到摄动是,月球的摄动可引起0".01的误差。 135 | 136 | 当需要进行高精度计算时(比使用附录II计算精度要求更高时),可用以下方法进行光行差修正。找个太阳黄经的修正参数Δλ(单位是角秒/日),光行差修正量为: 137 | -0.005775518*R*Δλ 138 | 139 | 式中的R同上述的,是日地距离,单位是天文单位。 常数部分是1个距离单位的光行时间,单位是"日",(=8.3分)。 140 | 141 | 在章动与光行差修正之后,我们就得到了太阳的视黄经λ。 142 | 143 | 太阳的视黄经λ及视黄纬β可以由12.3式及12.4式转换为视赤经α及视纬δ,式中ε是真黄赤交角,含交角章动Δε。 144 | 145 | 太阳的地心黄经修正用的参数Δλ,单位是角秒/日,在J2000黄道坐标中,可由下页的公式计算,式中τ是J2000.0起算的儒略千年数,正弦内的角度的单位是度。 146 | 147 | 表达式中,仅保留了几个主要的周期项,因此结果不很严格,但Δλ最多只有0".1误差,用于光行差修正,误差只有0".001。 148 | 149 | 如果某些其它应用中,Δλ须是在Date黄道中的,则应把常数项3548.193换为3548.330 150 | 151 | Δλ的计算式 152 | J2000坐标, τ是J2000.0起算的儒略千年数, sin()的角度量的单位是度 153 | Δλ = 3548.193 154 | + 118.568 sin( 87.5287 + 359993.7286τ ) 155 | + 2.476 sin( 85.0561 + 719987.4571τ ) 156 | + 1.376 sin( 27.8502 +4452671.1152τ ) 157 | + 0.119 sin( 73.1375 + 450368.8564τ ) 158 | + 0.114 sin( 337.2264 + 329644.6718τ ) 159 | + 0.086 sin( 222.5400 + 659289.3436τ ) 160 | + 0.078 sin( 162.8136 +9224659.7915τ ) 161 | + 0.054 sin( 82.5823 +1079981.1857τ ) 162 | + 0.052 sin( 171.5189 + 225184.4282τ ) 163 | + 0.034 sin( 30.3214 +4092677.3866τ ) 164 | + 0.033 sin( 119.8105 + 337181.4711τ ) 165 | + 0.023 sin( 247.5418 + 299295.6151τ ) 166 | + 0.023 sin( 325.1526 + 315559.5560τ ) 167 | + 0.021 sin( 155.1241 + 675553.2846τ ) 168 | + 7.311τsin( 333.4515 + 359993.7286τ ) 169 | + 0.305τsin( 330.9814 + 719987.4571τ ) 170 | + 0.010τsin( 328.5170 +1079981.1857τ ) 171 | + 0.309τ^2 sin( 241.4518 + 359993.7286τ ) 172 | + 0.021τ^2 sin( 205.0482 + 719987.4571τ ) 173 | + 0.004τ^2 sin( 297.8610 +4452671.1152τ ) 174 | + 0.010τ^3 sin( 154.7066 + 359993.7286τ ) 175 | τ的系数为359993.7、719987或1079981的周期项,与地球离心率相关。 176 | τ的系数为4452671、9224660或4092677的周期项,与月球运动相关。 177 | τ的系数为450369、225184、315560或675553的周期项,与金星摄动相关。 178 | τ的系数为329645、659289、或299296的周期项,与火星摄动相关。 179 | 180 | 例24.b: 同例24.a一样,计算太阳位置, TD = JDE 2448908.5 181 | 182 | 使用附录II中的地球数据,计算方法详见第31章,得到: 183 | L = -43.63484796弧度 = -2500.092628度 = 19.907372度 184 | B = -0.00000312弧度 = -0.000179度 =-0".644 185 | R = 0.99760775 186 | 187 | 由此得: 188 | Θ= L + 180°= 199°.907372 189 | β= +0".644 190 | 191 | 转到FK5坐标系统 192 | λ' = 200°.01, ΔΘ = -0".09033 = -0°.000025, Δβ = -0".023 193 | 194 | 由此得: 195 | Θ = 199°.907347 = 199°54' 26".449, β = +0".62 196 | 197 | 章动计算(详见21章): 198 | ΔΨ = +15".908, Δε = -0".308, ε真 = 23°.4401443 199 | 200 | 由24.10算得光行差修正是:-20".539 201 | 202 | 因此,太阳的视黄经是: 203 | λ= Θ + 15".908 - 20".539 = 199°54' 21".818 204 | 205 | 由12.3及12.4式 206 | α = 198°.378178 = 13h 13m 30s.763 207 | δ = -7°.783871 = -7°47' 01".94 208 | 209 | 最后结果是: 210 | Θ = 199°54' 26".45 R = 0.99760775 211 | λ = 199°54' 21".82 α= 13h 13m 30s.763 212 | β = +0".62 δ= -7°47' 01".74 213 | 214 | 与例24.a中给出的正确的精确结果比较,这里的结果已经比低度算法好多了。 215 | -------------------------------------------------------------------------------- /content/part25.md: -------------------------------------------------------------------------------- 1 | 第25章 太阳的直角坐标 2 | 3 | 4 | 5 | 在计算小行星工慧星的星历时(参见第32章)要用到太阳的地心赤道直角坐标X、Y、Z。这些坐标的原点在地心。X轴的方向指向春风点(经度为0),Y转平放在赤道面上,经度是90度,Z轴方向是北极。 6 | 7 | 每日(0h TD)的X、Y、Z的值可在大的天文年历中找到。它们的单位是天文单位。通常它们不涉及Date平赤道平分点坐标,而是J2000.0标准分点坐标。 8 | 9 | Date平分点参考系 10 | 11 | 使用第24章中的"高精度方法"一节的方法计算出太阳的地心坐标,已做了转到FK5系统的修正,但不含章动和光行差的改正。 12 | 13 | 如果Θ和β是太阳的几何黄经和黄纬,R是距离向量(单位是天文单位),那么Date平赤道及分点坐标是: 14 | X = R*cos(β)*cos(Θ) 15 | Y = R*( cos(β)sin(Θ)cos(ε) - sin(β)sin(ε) ) 16 | Z = R*( cos(β)sin(Θ)sin(ε) + sin(β)cos(ε) ) 17 | 式中ε平黄赤交角,由21.2式计算得到。 18 | 19 | 因为Date黄道坐标中,太阳的纬度不超过1.2角秒,所以cos(β)=1可以安全的代入(25.1)式。 20 | 21 | ----------------------------------- 22 | 例25.a——1992年10月13.0 TD = JDE 2448908.5,我们由例24.b得到: 23 | Θ = 199°.907347, ε = +0".62, R = 0.99760775 24 | 对于刻时间,由公式(21.2)得: 25 | ε = 23°26'24".827 = 23°.4402297 26 | 因此,由(25.1)式得: 27 | X = -0.9379952 28 | Y = -0.3116544 29 | Z = -0.1351215 30 | 31 | ------------------------------------------------ 32 | 33 | J2000.0标准分点参考系 34 | 35 | 如第31章阐述的,计算给定时刻地球的相对于J2000.0分点的日心黄经L和黄纬B,及距离。为此,使用附表II的地球数据,不过,这个数据表需做一些修改(译者注:附表II提供的是Date坐标的,而不是J2000.0坐标的,所以要更换一些数据): 36 | 37 | ——在L1部分,系数"A"的第一个值由原来的628331966747替换为628307584999 38 | ——L2、L3和L4用25.A表替换。 39 | ——忽略L5表 40 | ——为了计算黄纬B,B0部分使和附表II的,但B1到B4使用表25.A的。 41 | 42 | 表25.A 43 | ---------------------------------- 44 | L2 序号 A B C 45 | 1 8722 1.0725 6283.0758 46 | 2 991 3.1416 0 47 | 3 295 0.437 12566.152 48 | 4 27 0.05 3.52 49 | 5 16 5.19 26.30 50 | 6 16 3.69 155.42 51 | 7 9 0.30 18849.23 52 | 8 9 2.06 77713.77 53 | 9 7 0.83 775.52 54 | 10 5 4.66 1577.34 55 | 11 4 1.03 7.11 56 | 12 4 3.44 5573.14 57 | 13 3 5.14 796.30 58 | 14 3 6.05 5507.55 59 | 15 3 1.19 242.73 60 | 16 3 6.12 529.69 61 | 17 3 0.30 398.15 62 | 18 3 2.28 553.57 63 | 19 2 4.36 5223.69 64 | 20 2 3.75 0.98 65 | ---------------------------------- 66 | L3 序号 A B C 67 | 1 289 5.842 6283.076 68 | 2 21 6.05 12566.15 69 | 3 3 5.20 155.42 70 | 4 3 3.14 0 71 | 5 1 4.72 3.52 72 | 6 1 5.97 242.73 73 | 7 1 5.54 18849.23 74 | ---------------------------------- 75 | L4 1 8 3.14 6283.08 76 | ---------------------------------- 77 | B1 1 227778 3.413766 6283.075850 78 | 2 3806 3.3706 12566.1517 79 | 3 3620 0 0 80 | 4 72 3.33 18849.23 81 | 5 8 3.89 5507.55 82 | 6 8 1.79 5223.69 83 | 7 6 5.20 2352.87 84 | ---------------------------------- 85 | B2 1 9721 5.1519 6283.07585 86 | 2 233 3.1416 0 87 | 3 134 0.644 12566.152 88 | 4 7 1.07 18849.23 89 | ---------------------------------- 90 | B3 1 276 0.595 6283.076 91 | 2 17 3.14 0 92 | 3 4 0.12 12566.15 93 | ---------------------------------- 94 | B4 1 6 2.27 6283.08 95 | 2 1 0 0 96 | ---------------------------------- 97 | 把L加上180度就得到了几何黄经Θ,B的正负号取反就得到太阳纬度β: 98 | Θ = L + 180度, β = -B 99 | 100 | [到此,如果只需要J2000.0标准分点的太阳几何黄经,Θ减去0".09033,以便把黄经从VSOP动力学分点转到FK5分点(FK5是几何方法的坐标),也就是(24.9)式的那个修正。否则,不要执行此项,请进行以下计算转到FK5赤道坐标] 101 | 102 | 计算: 103 | X = R*cos(β)*cos(Θ) ……(25.2) 104 | Y = R*cos(β)*sin(Θ) 105 | Z = R*sin(β) 106 | 当然,以上算式相当于: 107 | X = -R*cos(B)*cos(L) 108 | Y = -R*cos(B)*sin(L) 109 | Z = -R*sin(B) 110 | 111 | 由(25.2)式计算的坐标X、Y、Z,仍然是定义在J2000.0的动力学黄道上(VSOP)。可以用下式转换到FK5 J2000.0参考系中: 112 | 113 | Xo = 1.000000000000X + 0.000000440360Y - 0.000000190919Z 114 | Yo = -0.000000479966X + 0.917482137087Y - 0.397776982902Z 115 | Zo = 0.000000000000X + 0.397776982902Y + 0.917482137087Z ……25.3 116 | 117 | ------------------------------- 118 | 119 | B1950.0平分点参考系 120 | 121 | 如上进行J2000.0坐标计算,除了(25.3)外,还有: 122 | Xo = 0.999925702634X + 0.012189716217Y + 0.000011134016Z 123 | Yo = -0.011179418036X + 0.917413998946Y - 0.397777041885Z 124 | Zo = -0.004859003787X + 0.397747363646Y + 0.917482111428Z 125 | 要注意的是,用这个方法得到的直角坐标是历元B1950.0平赤道和分点的FK5系统,不是FK4系统,FK4与FK5的差别在于FK4受到“分点错误”的影响(见第20章)。 126 | ---------------------------------- 127 | 128 | 任意其它平分点参考系 129 | 130 | 首先,用上述的方法,利用(25.2)和(25.3)式计算出太阳的J2000.0的标准分点赤道直角坐标Xo、Yo、Zo。 131 | 132 | 然后,如果JD是刻分点的历元,计算: 133 | t = (JD -2451545.0)/365.25 134 | 135 | 接下来,由公式(20.3)算出角ζ、z、θ 136 | 137 | 那么所需的太阳直角坐标是: 138 | X' = Xx*Xo + Yx*Yo + Zx*Zo 139 | Y' = Xy*Xo + Yy*Yo + Zy*Zo 140 | Z' = Xz*Xo + Yz*Yo + Zz*Zo 141 | 式中: 142 | Xx = cos(ζ)cos(z)cos(θ) - sin(ζ)sin(z) 143 | Xy = sin(ζ)cos(z) + cos(ζ)sin(z)cos(θ) 144 | Xz = cos(ζ)sin(θ) 145 | Yx = -cos(ζ)sin(z) - sin(ζ)cos(z)cos(θ) 146 | Yy = cos(ζ)cos(z) - sin(ζ)sin(z)cos(θ) 147 | Yz = -sin(ζ)sin(θ) 148 | Zx = -cos(z) sin(θ) 149 | Zy = -sin(z) sin(θ) 150 | Zz = cos(θ) 151 | 152 | 应注意,X'、Y'、Z'是历元坐标,这个历元是指新坐标系的历元时间,与上面计算的用的其它时间无关。 153 | 154 | ------------------------------- 155 | 156 | 例25.b:——1992年10月13.0 TD = JDE 2448908.5,计算赤道直角坐标,相对以下参考系: 157 | (a) J2000.0标准分点坐标 158 | (b) B1950.0标准分点坐标 159 | (c) J2044.0平分点坐标 160 | 161 | 我们计算得到: 162 | τ = -0.0072183436003 163 | L = -43.63308803弧度 = -2499.991791度 = +20.008209度 164 | B = +0.00000386弧度 = +0.000221度 = +0".796 165 | R = 0.99760775(当然,如24.b) 166 | 167 | J2000.0,黄道,动力学分点坐标: 168 | X = -0.93739575 169 | Y = -0.34133625 170 | Z = -0.00000385 171 | J2000.0,赤道,FK5系: 172 | Xo= -0.93739590 173 | Yo= 0.31316793 174 | Zo= -0.13577924 175 | [如果使用完整的VSOP87理论得到的正确值是: 176 | Xo= -0.93739707 177 | Yo= 0.31316725 178 | Zo= -0.13577842] 179 | B1950.0,赤道,FK5系统 180 | Xo= -0.941487 181 | Yo= 0.302666 182 | Zo= -0.131214 183 | 184 | 最后一个,计算J2044.0的: 185 | 186 | JD = 2467616.0(从J2000.0起算,增量是44*365.25日) 187 | 188 | t = +0.440000 189 | 190 | ζ= +1014".7959 = +0°.2818878 191 | z = +1014".9494 = +0°.2819304 192 | θ= + 881".8106 = +0°.2449474 193 | 194 | Xx = +0.9999424 Yx = -0.0098403 Zx = -0.0042751 195 | Xy = +0.0098403 Yy = +0.9999516 Zy = -0.0000210 196 | Xz = +0.0042751 Yz = -0.0000210 Zz = +0.9999909 197 | 198 | J2044.0,FK5系统,赤道坐标 199 | X' = -0.933680 200 | Y' = -0.322374 201 | Z' = -0.139779 202 | 203 |   204 | 205 | 206 | 207 |   208 | 209 |   210 | -------------------------------------------------------------------------------- /content/part26.md: -------------------------------------------------------------------------------- 1 | 第26章 分点和至点 2 | 3 | 4 | 分点和至点时刻是指:太阳的地心视黄经(含光行差和章动)为90的整位数时对应的时刻。因太阳黄纬不是真正为零的,所以在分点时刻太阳赤纬也不是真正为零的。 5 | 6 | 大约时间可按以下方法获得。首先,使用表26.A或表26.B找到相应的平分点或平至点的是刻。注意,表26.A仅适用于-1000年到+1000年,表26.B适用于+1000到+3000。事实上,表26.A还可以适用于-1000年以前的几个世纪,表26.B还可以适用于+3000年以后的几个世纪,而且误差仍然很小。"Y"的计算公式在每个表的上方已给出,"year"是一个整数,其它"year"值是毫无意义的。 7 | 8 | 接下来计算: 9 | 10 | T = (JDEo - 2451545.0)/36525 11 | 12 | W = 35999°.373T - 2°.47 13 | 14 | Δλ= 1 + 0.0334 cos W + 0.0007 cos 2W 15 | 16 | 利用26.C表提供的24个周期项,对其取和计算得到S。这些项的形式是 A*cos(B+C*T),余弦的角度参数的单位是"度"。数学表达如下: 17 | 18 | S = 485 cos (324°.96 + 1934°.136T) + 203 cos (337°.23 + 32964.467T) + ... 19 | 20 | 要计算的分点或至点时刻(儒略历书时,即力学时)表达为: 21 | 22 | JDE = JDEo + 0.00001 S/Δ λ 日 23 | 24 | 最后得到的 JDE 是力学时,可以使用第7章描述的方法转为普通的日期时间。 25 | 26 | 应用这种方法,在公元1951——2050的精度的见表26.D 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 例26.a:计算1962年六月至点时刻。 37 | 38 | 我们依次得到: 39 | 40 | Y = -0.038 41 | 42 | JDEo = 2437837.38589 43 | 44 | T = -0.375294021 45 | 46 | Δλ = 0.9681 47 | 48 | S = +635 49 | 50 | JDE = 2437837.38589 + 0.00635/0.9681 = 2437837.39245 51 | 52 | 对就时间就是1962年6月21日21h 25m 08s TD. 53 | 54 | 使用完整的VSOP87行星理论计算的结果是 21h 24m 42s TD. 55 | 56 | ----------------------------------- 57 | 58 | 当然,高精度的结果,可通过计算2个或3个时刻的太阳视黄经,再用插值方法计算视黄经为0°或90°或180°或270°对应的时刻,得到分点至点时刻。 59 | 60 | 我们应有这样的一个概念,太阳沿黄道运动,每天大约移动3548角秒。因此太阳黄经的计算误差为1"时,相应的分点或至点时间的计算误差大约是24秒钟。 61 | 62 | 这种方法可供参考:先找出大约时间(使用26.A表或26.B表计算已足够),然后使用第24章的方法计算该时刻的太阳视黄经λ,并包含转到FK5系统的修正以及光行差和章动的修正。这样就可对“大约时间”进行修正: 63 | 64 | +58 sin (k·90° - λ) (26.1) 65 | 66 | 式中:三月分点取k=0,六月至取k=1,九月分点取k=2,12月至点取k=3。 67 | 68 | 重复以上计算(迭代计算过程),直到新的时间修正量很小,或者直到太阳视黄经等于k*90度。 69 | 70 | --------------------------- 71 | 72 | 例26.b:让我们再算一下1962年6月的至点。 73 | 74 | 在例26.a中,我们得到“平”至点发生在JDEo=2437837.38589(由表26.A得到)。让我们从这个大约时间开始计算,使用第24章的“高精度”方法算出刻时刻的太阳视黄经。我们得到: 75 | 76 | L = -234.04859559弧度 = 270.003272度 77 | 黄经章动:Δψ = -12".965 (详见第22章) 78 | FK5修正: -0".09033 (公式(24.9)) 79 | 光行差: -20".161 (公式(24.10)) 80 | 81 | 太阳视黄经: 82 | λ = 270°.003272-180°-12".965-0".09033-20".161 83 | λ = 89°.994045 84 | 85 | 由公式(26.1)得到对“大约时间”的修正量为: 86 | 修正 = +58sin(90°-λ) = +0.00603 87 | 因此,修正后的时间是: 88 | JDE = 2437837.38589 + 0.00603 = 2437837.39192 89 | 90 | 用这个时间重新计算一次,得到: 91 | λ=89°.999797 92 | 修正量是_0.00021日,则修正后的时间是:JDE = 2437837.39213 93 | 94 | 再用这个时间计算一遍,得到 95 | λ=89°.999998,时间修正量小于0.000005日 96 | 97 | 因此,最后得到的准确时刻是 JDE = 2437837.39213,对应1962年6月21日21h 24m 40s TD。 98 | 99 | [这个结果与例26.a最后讲到的正确值仅相差2秒] 100 | 101 | 在1962年,TD-UT的值是34秒(详见表9.A),所以结果可表示为 21h 24m UT。 102 | 103 | -------------------------------- 104 | 105 | 表26.E给出了1991到2000年的分点和至点时刻,精度接近于秒。 106 | 107 | 表26.F给出了一些历元的四个天文季节的时间长度。大约在-4080年,地球的近日点在秋分,这时夏季与秋季一样长,冬天和春天一样长。到了公元1246年,地球近日点在冬至,这时春天和夏天等长,秋天和冬天等长。从+1246,冬天是最短的季节,到了公元3500年达到最短值,并一直保持为四季中的最短季节到6427,此后,地球近日点为春分(3月分点)。 108 | 109 | 110 | 111 | 112 | 113 |   114 | 115 |   116 | -------------------------------------------------------------------------------- /content/part27.md: -------------------------------------------------------------------------------- 1 | 第27章 时差 2 | 3 | [许剑伟 于家里 2008年4月21日] 4 | 5 | 由于轨道离心率以及月球及行星的摄动,造成地球的的日心黄经不是均匀变化的,所以太阳在黄道上运行不是均速的。另外,太阳在黄道上运动而不是在天赤道上运动。由于这两个原因,造成太阳的赤经也不是均匀变化的。 6 | 7 | 我们可以假想一个太阳(第一假想太阳)沿道黄道均速运动,并且在近地点和远地点与真太阳重合。我们再假想一个太阳(第二假想太阳)沿道天赤道均速运动,并且在分点处与前面那个假想太阳重合。第二假想太阳叫做平太阳,从定义得知它的赤经增加的速度是均匀的,这就是说,平太阳运动没有周期项,但含有长期项τ2、τ3... 8 | 9 | 当平太阳经过观测者的子午圈时,是平正午,当真太阳经过子午圈是真正午。“时差(时间方程)”是视时间与平时间的差,换句话说,它是真太阳与平太阳的时角。 10 | 11 | 根据以上定义,给定时刻的时角由下式计算: 12 | 13 | E = Lo - 0°.0057183 - α + Δψ·cosε (27.1) 14 | 15 | 式中,Lo是太阳平黄经。根据VSOP87理论(见第31章),我们有以式(单位是度): 16 | 17 | Lo = 280.4664567 + 360007.6982779τ + 0.03032028τ2 + τ3/49931 - τ4/15299 - τ5/1988000 (27.2) 18 | 19 | 式中的τ是J2000.0=JDE 2451545.0起算的略儒千年(365250个历书日)数,Lo应化简为0到360度的值。 20 | 21 | 在法国年历和旧的教科书中,“时差”被定义为相反的符号,因此等于平时间减去视时间。 22 | 23 | (译者注:赤道平太阳用赤经度量,黄道平太阳用黄经度量,根据定义,它们的起算点均是平分点。由于赤道平太阳与黄道平太阳的运动速度相等,黄道平太阳黄经等赤道平太阳赤经,黄道平太阳黄经就是我们所说的太阳平黄经。时差 = 赤道平太阳的赤经 - 真太阳赤经 = 太阳平黄经 - 真太阳赤经。当然具体计算法还应注意光行差与章动) 24 | 25 | 在公式(27.1)中,常数0°.0057183是黄经光行差(-20".49552)与转到FK5系统的修正值(-0".09033)的和。α是以考虑了光行差和章动的太阳的视赤经。Δψ是黄经章动,ε是黄赤交角,把视赤经(Date分点起算的)的坐标参考转为Date平分点时候,Δψ*cos(ε)项是必需的,这样“视赤经”与平黄经Lo的参考点相同。 26 | 27 | 28 | 29 | 在公式(27.1)中,如果Lo、α、Δψ的单位是度,那么“时差(时间方程)”E的单位也是度,乘以4以后则转为“分”单位。 30 | 31 | “时差”E的值可能是正或负。如果E>0,那么真太阳比平太阳先经过观测者的子午圈。 32 | 33 | “时差”E的绝对值总是小于20分。如果|E|明显太大,则应加上或减去24小时。 34 | 35 | ------------------------------- 36 | 37 | 例27.a:——计算1992年10月13日0h力学时的“时差” 38 | 39 | 这个日期对应JDE=2448908.5,由此得到: 40 | 41 | τ= (JDE - 2451545.0)/365250 = -0.007218343600 42 | 43 | Lo= -2318°.192807 = +201°.807193 44 | 45 | 从例24.b,得到该时刻的如下参数: 46 | 47 | α = 198°.378178 48 | Δψ= +15".908 = +0°.004419 49 | ε = 23°.4401443 50 | 51 | 因此,由公式(27.1)得: 52 | 53 | E = +3°.427351 = 13.70940分钟 = +13m 42s.6 54 | 55 | ---------------------------- 56 | 57 | 做为一种选择,低精度的“时差”可使用Smart提供的以下方法得到。 58 | 59 | E = y sin 2Lo - 2e sin M + 4ey sin M cos 2Lo - (y2/2) sin 4Lo - (5/4 e2) sin 2M (27.3) 60 | 61 | 式中: 62 | 63 | y = tan2(ε/2),ε是黄赤交角 64 | 65 | Lo = 太阳平黄经 66 | 67 | e = 地球轨道离心率 68 | 69 | M = 太阳平近点角 70 | 71 | ε、Lo、e和M的值可分别由(21.2)、(27.2)或(24.2)、(24.4)、(24.3)得到。 72 | 73 | 公式(27.3)得到E的单位是弧度。这个结果应转为度,然后除以15得到带小数的小时数。 74 | 75 | ------------------------- 76 | 77 | 例27.b:和上例一样,计算1992年10月13.0TD = JDE 2448908.5的“时差”。 78 | 79 | 我们依次得到: 80 | 81 | T = -0.072183436 82 | e = 0.016711651 83 | ε= 23°.44023 84 | M = 278°.99396 85 | Lo= 201°.80720 86 | y = 0.0430381 87 | 88 | 由公式27.3得到:E = +0.059825557弧度 = +3.427752度 = +13分42.7秒 89 | 90 | -------------------------------- 91 | 92 | “时差”在一年中的变化曲线是众所周知的,在很多天文书籍中可以找到。目前,这个曲线在2月11日达到最小值,在11月3日达到最大值,而第二极大和极小值分别发生在5月14日和6月26日。 93 | 94 | 然而,“时差”曲线在几个世纪内逐渐变化,因为黄赤交角、地球轨道离心率以及轨道近日点黄经都在缓慢地变化。下图显示了公元前3000年到公元4000年,每间隔1000年的“时差”曲线。纵坐标每格单位是5分钟,横坐标对应E=0。横坐标每格是一个季节(3个月),左边开始于1月。例如,我们看到,之后的2月的最小值是很深的。 95 | 96 | 97 | 98 | 在公元1600到2100年,“时差”的极值的变化显示于表27.A。这些数据是“平”值:假设地球在黄道上做不受摄动的运动,并且没有考虑章动。 99 | 100 | 在公元1246,太阳近地点与冬至重合,“时差”的周年变化曲线相对横轴是上下对称的:2月最小与11月最大值的绝值是一样的,5月次最大值与7月最小值的绝值也是一样的,详见表中的最后一行。 101 | 102 | 103 | 104 | ------------------------------ 105 | 106 | 参考资料 107 | 108 | 1、W.M.Smart,《球面天文学》教科书;剑桥大学出版社(1956),第149页。 109 | -------------------------------------------------------------------------------- /content/part28.md: -------------------------------------------------------------------------------- 1 | 第28章 日面计算 2 | 3 | 4 | 5 | 本章的公式是基于Carrington(1863)的,这些公式已经使用过很多年了。对于给定的时刻,所需的参数是: 6 | P = 日轴方位角,自日面北点量起的太阳自转轴北端的方位角,向东为正。 7 | Bo= 日面中心的日面纬度 8 | Lo= 日面中心的日面经度 9 | 虽然位置角通常是0到360度的角(如月球、行星、双恒星等),对于太阳,习惯上使用P的绝对值,小于90度,并在前面分配一个正号或负号。当太阳自转轴北端向东倾斜P为正,向西为负。天北极与日面北极相差可达26度。大约在4月7日P达到最小值-26.3度,10月11日达到最大值26.3度,为零时大约在1月5日和7月7日。 10 | Bo表示太阳北点朝向(+)或远离(-)地球,在6月6日和12月7日时其值为0,达到最大值在3月6日(-7.25度)和9月8日(+7.25)。 11 | Lo每日减小13.2度。平均相合周期是27.2752日。每次“自转相合”开始于Lo经过0度时。第1号自转始于1853年11月9日。 12 | 设JD是儒略历书日,可以使用第7章的方法计算出。如果给定的时间是UT时间,则应加上ΔT=TD-UT(单位是日,详见第9章),如果ΔT表达为“秒”单位,那么JD的修正量是ΔT/86400 13 | 然后计算以下值: 14 | 15 | 16 | 17 | 式中I是太阳赤道与黄道的倾角,K是太阳赤道与黄道的升交点的黄经。关于θ的公式中,25.38是太阳自转的恒星周期,单位是“日”。这个值是个惯例常数(Carrington提供的)。它定义了太阳的太阳经度系统的零子午圈,因此要正确看待。 18 | 19 | 利用第24章的方法,计算出太阳的视黄经λ(含光行差,但不含章动),利用第21章的方法计算出黄赤交角ε(含章动)。设λ'是对λ修正了黄经章动的值。 20 | 21 | 然后利用下式计算角度x和y: 22 | 23 | 24 | 25 | 式中的x和y均为-90度到90度的角。然后P、Bo和Lo由下式计算: 26 | 27 | 28 | 29 | 式中的η应于λ-K±180°在同一象限。Lo=η-θ,应转到0到360度。 30 | 31 | ------------------------------ 32 | 33 | 例28.a:——1992年10月13日0h UT = JD 2448908.5,计算的P、Bo和Lo 34 | 35 | 我们使用ΔT=+59秒=+0.00068日。因此,改正后的儒略历书日是2448908.50068,接下来,我们依次得到: 36 | 37 | 38 | 39 | 由第24章和21章得: 40 | 41 | 42 | 43 | 光行差修正量 = -20".4898/R = -0°.005705,因此: 44 | 45 | 46 | 47 | ------------------------------------- 48 | 49 | 如前面叙述的,日面“自转相合”始于Lo等于0度。Carrington的第C号“自转相合”的大约时间是: 50 | 51 | 儒略历书日 = 2398140.2270 + 27.2752316*C ……(28.1) 52 | 53 | 当然,式中的C是整数。上式的误差不超过0.16日。 54 | 55 | 然而,上式得到的结果可以按如下修正: 56 | 57 | 58 | 59 | 在1850年到2100年,误差小于0.002日。 60 | 61 | 当然,要算出“自转相合”的正确开始时间,可以通过以上公式,计算两个接近正确时间的Lo,然后通过逆插值找出Lo等零的时刻。 62 | 63 | ----------------------------------- 64 | 65 | 例28.b:——计算第1699号“自转相合”的开始时刻。 66 | 67 | 由C=1699,利用公式(28.1)得 JDE = 2444480.8455 68 | 69 | 我们还得到 M = 45955°.287 = 235°.287,由(28.2)式得到修正值是-0.1225。 70 | 71 | 由力学时转到UT时,还要修正-0.0006日(在1980年,ΔT = TD-UT = 51秒)。 72 | 73 | 因此,最后得到: 74 | 75 | JD = 2444480.8455 - 0.1225 - 0.0006 = 2444480.7224 76 | 对应 1980年8月29.22日 77 | 78 | 《1980年天文历书》第359页给出了同样的值。 79 | 80 | ---------------------------------- 81 | 82 | 按照惯例,太阳的“自转相合”时刻只需给出0.01日精度,因此用日为单位,而不是小时和分。 83 | 84 |   85 | 86 |   87 | 88 |   89 | 90 |   91 | 92 | 93 | -------------------------------------------------------------------------------- /content/part29.md: -------------------------------------------------------------------------------- 1 | 第29章:开普勒方程 2 | 3 | 4 | 5 | 有多种方法计算星体(行星、小行星、慧星)在某一给定时刻的绕日运动轨道上的位置。 6 | —— 数值积分法,此法已超出本书讲述的范围。 7 | —— 使用第31章的方法,计算一些周期项的和,进而获得星体的黄道坐标。 8 | —— 利用第32章的方法,从星体的轨道要素计算出星体的位置。 9 | 其中,使用最后一种方法,我们需找出星体的真近点角。可以通过球解开普勒方程得到,也可以使用序列表达式得到(见第32章的"中心方程")。 10 | 11 | 12 | 13 | 图1表示半个椭圆轨道,太阳在椭圆的焦点S上,椭圆的另一个焦点是F。直线AP是长轴。C是远日点A与近日点P之间的中点,也是F与S的中点。 14 | 假设某一时刻,移动的星体位置在K点,那么SK就是此刻天体的径向量,记为r,它的单位是天文单位。真近点角(v)是角KSP,它是从日心看,天体移动的角度(从近点起算)。半长轴CP通常表示为a,单位是天文单位。轨道的离心率e=CS/CP,对于椭圆,e介于0到1之间。近日距离和远日距离通常分别表示为q和Q。在近日点,v=0°,r=q,在远日点v=180°,r=Q。因此有以下公式: 15 | 距离CS = ae 16 | 距离SP = q = a*(1-e) 近日点距离 17 | 距离SA = Q = a*(1+e) 远日点距离 18 | 距离PA = 2a =q+Q 19 | 现在我们考虑图2中的虑构的行星或慧星K',它的轨道是围绕太阳的圆,做均速运动,周期与真行星或慧K相同。同是假设,虑构天体在P'(该点在SP上)时,真天体在P点。过一段时间后,虚天体在K'点,真天体在K点,那么此刻v=∠PSK称为真近点角,M=∠PSK'称为平近点角。 20 | 21 | 22 | 23 | 24 | 换句话说,平近点角指把星体看作均速圆周运动时,星体到近点的角距离。 25 | 由以上定义,不难发现,当星体在近点时,M=0°,当真星体绕日一周时,M=360°。 26 | 如果已知平近点角M和离心率e,要如何求真近点v呢?除了第32章的使用周期序列的方法,还有一种方法就是求解开普勒方程。 27 | 在这个问题上,我们需引入一个辅助角E,称为偏近点角。它的几何定义见图1。虚线圆的直径是AP,做辅线KQ垂直AP,角PCQ就是偏近点角。 28 | 当星体在近日点时,v、E、M都是0°,在近点附近,真星体移动速度最快,快于平近点角。星体从近点移到远点的过程中,v>M,以因为M始终介于v和M之间,所以有0°PI THEN F=-1 209 | 160 IF M>PI THEN M=2*PI-M 210 | 170 E0=PI/2 : D=PI/4 211 | 180 FOR J=1 TO 33 212 | 190 M1=E0-E*SIN(E0) 213 | 200 E0=E0+D*SGN(M-M1) : D=D/2 214 | 210 NEXT J 215 | 220 E0=E0*F 216 | 217 | 第四种方法: 218 | 公式:tan(E) = sin(M) / (cos(M) -e ) ……29.9式 219 | 它可计算E的近似值,并且仅当e的值比较小时才是有效的。 220 | 与例29.a的数据一样,用29.9式得到 221 | tan(E) = 0.08715574/0.89619470 = 0.09725090 222 | 即E=5.554599度,准确值是5.554589,所以此时误差仅0".035。但在相同离心率时,M=82度,误差约为35"。 223 | 使用29.9式的最大误差是 224 | e=0.15时 0.0327度 225 | e=0.20时 0.0783度 226 | e=0.25时 0.1552度 227 | e=0.50时 1.42度 228 | e=0.99时 24.7度 229 | 对于地球,e=0.0167,误差将小于0".2。在这种情况下,公式29.9是可以被安全使用的,除非精度要求很高。 230 | -------------------------------------------------------------------------------- /content/part30.md: -------------------------------------------------------------------------------- 1 | 第30章 行星的轨道要素 2 | 3 | 4 | 5 | 虽然目录II中提到主要周期项须计算行星的日心坐标位置(第31章处理行星位置问题),但这里更感兴趣的是轨道的"平"要素。(注:这里的"平"是相对于"瞬时"而言的,如一周期内的平均) 6 | 大部分行星的轨道要素要台表达为多项式形式: 7 | a0 + a1*T + a2*T^2 + a3*T^3 8 | 式中T归算为J2000起算的儒略世纪数: 9 | T = (JDE-2451545.0) / 36525……30.1式 10 | 在2000年首之前,T的值是负值,之后为正值。轨道要素是: 11 | L = 行星经度 12 | a = 轨道半长径 13 | e = 轨道的离心率 14 | i = 行星轨道的倾角(与黄道的夹角) 15 | Ω = 升交点黄经 16 | π = 近日点经度 17 | 近日点经度常表示为ω.但是,如果使用该符号,容易造成混淆,因为近点角表示为ω(注,上面没有一横)。所以,我们宁愿使用π这个符号表示近日点经度。这样就有π=Ω+ω. 18 | 19 | 20 | 21 |   22 | 23 | 角γNX"是黄道的一部分,角NPXX'是行星轨道的一部分(也可看作行星轨道面与天球相交的大圆的一部分)。γ是春分点(黄经是0°),N是轨道的升交点,P是行星的近点。某一时刻,行星平位置在X点,真位置在X'点。这样就有: 24 | 25 | Ω = 角γN = 升交点黄经 26 | ω = 角 NP = 近日点到交点的角距离 27 | π = 角γN + 角NP = Ω+ω = 近日点经度 28 | L = 角γN + 角NX = Ω+ω+M = 行星经度 29 | M = 角PX = 行星平近点角 30 | C = 角XX' = 一个中间参数(中心差) 31 | v = 角PX' = M+C = 行星的真近点角 32 | i = 轨道倾角 = NP与NX"的夹角 33 | 34 | 应注意到,L与π的测量均涉及两个平面。即从γ开始,沿着黄道到N点,再沿道着轨道。 35 | 行星的平近点角是: M = L - π 36 | 37 | 表30.A结出了水星到海王星各大行星的轨道要素的a0、a1、a2、a3系数。半长径的单位是天文单位。角度值(L,i,Ω,π)的单位是度,这些参数涉及Date黄道分点。 38 | 表中的值,是从P.Bretagnon的行星理论VSOP87中导出来的。在第31章中查看关于VSOP82及VSOP87的更多信息。L,i,Ω,π涉及平动力学Date黄道坐标,与FK5坐标系统仅有很细微的差别(详见第24章)。 39 | 在某些情况下,可能希望将轨道要素L、i、Ω、π折算到标准坐标中。举个列子来说,如果想要计算某个慧星轨道与某个大行星的最小距离,当前者是关于标准坐标的,在这种情况下,我们就需要进行坐标变换了。 40 | 借助表30.B,可以计算J2000坐标的各行星要素,轨道要素a和e不会因参考系的不同而发生变化,所以可利用30.A表来计算。 41 | 对于地球,为了避免倾角变化不连续及升交点发生180度的跳变,轨道倾角(相对对于J2000黄道的夹角)在J2000.0之前定为负值。 42 | 43 | ------------------------------ 44 | 例30.a: ——计算2065年6月24日0时(力学时)水星的平轨道要素。 45 | 2065年6月24.0 = JDE 2475460.5 (本行计算详见第第7章) 46 | 再由30.1式得 T = +0.654770704997 47 | 由表30.A得到 48 | L = 252.250906 + 149474.0722491*0.654770704997 49 | + 0.00030397*0.654770704997^2 50 | + 0.00000018*0.654770704997^3 51 | = 98123.494702 = 203.494702 52 | a = 0.387098310 53 | e = 0.20564510 54 | i = 7.006171 55 | Ω= 49.107650 56 | π = 78.475382 57 | M = L-π = 125.019320 58 | ω = π-Ω = 29.367732 59 | 从表30.A和30.B表明,在Date黄道坐标中,水星的倾角是增加的,在J2000黄道坐标中,却是减小的。 相反的情况发生在土星和海王星。 60 | 在T=-30到+30,金星的轨道倾角(Date黄道坐标中)是连续增加的,在J2000坐标中,金星的倾角在+690年达到最大值。 61 | 天王星的轨道倾角(Date黄道坐标中)在+1000年达到最大值,在J2000坐标中,同时期它的倾角却是持续减小的。 62 | 在Date黄道坐标,所有行星轨道的交点黄经都是增加的,但在J2000坐标中却是减少的(木星及土星除外)。 63 | 64 | 65 | 数据表30.A 数据表30.B 66 | 67 | 68 |   69 | 70 |   71 | 72 |   73 | 74 |   75 | 76 |   77 | -------------------------------------------------------------------------------- /content/part31.md: -------------------------------------------------------------------------------- 1 | 第31章 行星位置 2 | 3 | 4 | 一、计算方法: 5 | 6 | 1982年,巴黎的P.Bretagnon发表了他的行星理论VSOP82。VSOP是"Variations Seculaires des Orbites Planetaires"的缩写。VSOP82由大星行(水星到海王星)的长长的周期项序列组成。给定一个行星及一个时间,对它的序列取和计算,即可获得下述的密切轨道参数。(注:密切轨道是行星的瞬时轨道,详见32章) 7 | 8 | a = 轨道半长径 9 | λ= 行星的平黄经 10 | h = e*sin(π) 11 | k = e*cos(π) 12 | p = sin(i/2)*sin(Ω) 13 | q = sin(i/2)*cos(Ω) 14 | 式中e是轨道的离心率,π是近日点黄经,i是倾角,Ω是升交点黄经 15 | 16 | 当a、λ、e和π(由h和k得到),i及Ω已知,某一时刻行星的空间位置即可获得。 17 | 18 | VSOP82方法有个不便之处是,当不需要完全精度时,应在何处截断。幸运的是,1987年 Bretagnon 和 Francou 创建了VSOP87,它提供了直接计算行星日心坐标的周期序列项。也就是说直接算得: 19 | 20 | L, 日心黄经 21 | B, 日心黄纬 22 | R, 行星到太阳的距离 23 | 24 | 要注意的是,L是行星的的真黄经,不是轨道经度。在第30章的图中,轨道经度(有时我译为黄经,但要注意,精确计算时这样番译显得不够准确)是γN + NX',这两段角度分别在两条不同的轨道上。通过行星的真位x'垂直画一条黄经线,在黄道上交于x",那么γx"就是黄经。 25 | 26 | 虽然VSOP82及VSOP87方法已在天文文献上发表,但这些理论数据仅保存在磁盘上。经许可,我们在附录II中给出VSOP87理论的主要周期项。每个星体,其序列标号为L0,L1,L2…,B0,B1…,R0,R1…。 27 | 28 | 序列L0,L1…计算黄经L;序B0,B1……计算黄纬;R0,R1…计算距离。 29 | 30 | 每个水平线下的列表,表示一组周期项,包含四列数字: 31 | 32 | 1)序号,这不是计算所必须的,仅是提供一个参考。 33 | 34 | 2)三个数字,分别命名为A,B,C 35 | 36 | 设JDE是标准的儒略日数,τ是千年数,则表达如下:τ= (JDE - 2451545.0) / 365250 37 | 38 | 则每项(表中各行)的值计算公式是:A*cos(B+C*τ) 39 | 40 | 如水星的L0表的第9行算式为:1803*cos(4.1033 + 5661.3320*τ) 41 | 42 | 附表II中,B、C的单位是弧度。系数A的单位是10-8弧度(适用于黄经和黄纬),10-8天文单位(适用于距离)。当系数A的数字较小,B及C的小数位数也较少。这样可减少一些无用数字,并不影结果。 43 | 44 | 对L0表各项取和计算得L0,对L1表各项取和计算得L1,其它表类推。按如下算式,可取得行星的Date黄道坐标的黄经(单位是弧度): 45 | 46 | L = (L0 + L1τ + L2τ2 + L3τ3 + L4τ4 +L5τ5)/108 ……31.2式 47 | 48 | 用同样的方法继计算B和R。 49 | 50 | 到此为止,我们得到行星在动力学Date平黄道坐标(Bretagnon的VSOP定义的)中的日心黄经L、黄纬B。这个坐标系与标准的FK5坐标系还有细微差别,详见第20章。按如下方法可将L和B转到FK5坐标系中,其中T是世纪数,T=10τ。 51 | 52 | 先计算:L' = L - 1°.397*T - 0.00031*T^2 53 | 54 | 然后计算L和B的修正值: 55 | 56 | ΔL = -0".09033 + 0".03916*( cos(L') + sin(L') )*tan(B) ……31.3式 57 | ΔB = +0".03916*( cos(L') - sin(L') ) ……31.3式 58 | 59 | 仅在十分精确计算时才需进行修正,如果按附表II提供的序列进行计算,则无需修正。 60 | 61 | 如何得到行星的地心坐标,将在第32章中叙述。 62 | 63 | 例31.a ——计算金星的日心坐标, 时间1992年12月20日0时(力学时) 64 | 65 | 该日期转为儒略日数是:JDE 2448976.5 66 | 67 | 这样可得: τ = -0.007032169747 68 | 69 | 对于金星,附表II中,其序列L0有24项(在原VSOP87理论中有很多很多项),L1有12项,L2有8项,L3及L4各有3项,L5有1项。这些序列取和计算后得到: 70 | L0 = +316 402 122 L3 = -56 71 | L1 = +1021 353 038 718 L4 = -109 72 | L2 = +50055 L5 = -1 73 | 74 | 因此,由31.2式即可得到金星的日心黄经 75 | L = -68.6592582弧度 = -3933°.88572 = +26°.11428 76 | 77 | 用同样的方法计算日心黄纬B及距离。这时金星没有B5及R5表项。计算结果是: 78 | B = -0.0457399(弧度) = -2°.62070, R = 0.724603 (AU) 79 | 80 | 结果的精度 81 | 82 | 当我们要取得更高精度时,VSOP87方法收敛得很慢。当我们截取部分序列进行计算时,那么产生的误差的数量级是多少呢? 83 | 84 | 以下经验已经由Bretagnon和Francou结出: 85 | 86 | 如果n是保留项数,A是保留项中最小的值,那么当前截断的序列的误差为: 87 | η*sqrt(n)*A, 式中η小于2,sqrt()是开方函数 88 | 89 | 举例来说,让我们来考虑一下水星的日心黄经。在附表II中,其L0包含38项,最小系数是100*10^-8弧度。因此,我们可以估计其最大可能误差约为: 90 | 2*sqrt(38)*100*10^-8弧度 = 2".54 91 | 92 | 当然序列L1,L2等也有截断误差,分别为0".41*τ,0".08*τ^2等。 93 | 94 |   95 | -------------------------------------------------------------------------------- /content/part32.md: -------------------------------------------------------------------------------- 1 | 第32章 椭圆运动 2 | 3 | 4 | 本章将描术椭圆轨道的地心坐标计算方法。第一种方法,从地球或其它主行星的日心黄道坐标取得它们的地心黄经及地心黄纬;第二种方法,比较适合小行星及周期慧星,直接获得赤经赤纬;本章使用了太阳的地心直角坐标(见第25章)。 5 | 6 | 第一种方法: 7 | 8 | 9 | 我们描述给定某一时刻的主行星的视赤经及赤纬的计算方法。 10 | 对于给定的时刻,通过附表II中的相应的序列,使用31章描述的方法得到行星的日心坐标L、B、R以及地球的日心坐标Lo、Bo、Ro。此时不要把Date黄道分点坐标转到FK5黄道坐标。 11 | 然后有: 12 | x = R cos(B) cos(L) - Ro cos(Bo) cos(Lo) ……32.1式 13 | y = R cos(B) sin(L) - Ro cos(Bo) sin(Lo) 14 | z = R sin(B) - Ro sin(Bo) 15 | 行星的地心黄经λ及黄纬β就是: 16 | tan(λ)=y/x ……32.2式 17 | tan(β)=z/sqrt(x2+y2) 18 | 要处理好λ的象限。使用两参数函数ATN2,即C语言中的atan2(),λ=ATN2(y,x)计算λ,或者使用第1章的关于"正确象限"中的方法。 19 | 20 | 然而,用这种方法得到的λ和β是地心Date黄道分点坐标的。如果是高精度计算,必需计算因光速有限引起的视位置偏移,这个偏移包括: 21 | (a)光行时间引起的偏移:当我们看到行星的光线时,该光线已经离开行星一段时间了。 22 | (b)地球运动引起的偏移:地球运动速度与光速矢量合成引起的视位置偏移,就象恒星的周年光行差。 23 | 以上两项合并,常称为行星光行差。然而,我们宁可保留"光行差"一词给(b),因为(b)的效果与恒星光行差是一样的。此外,有些应用中我们无须考虑(b)。假设我们要计算行星引起的恒星星蚀,光行时就需要考虑,而此时如果忽略了恒星的周年光行差,那么行星的(b)的偏移效果也应忽略。类似的,在这种特殊情况下,章动对恒星及行星的影响也可同时忽略。理由是明显的:周年光行差及章动对二者的影响是相同的,并不改变他们的相对位置。 24 | 25 | 关于(a)及(b)的具体计算: 26 | (a)光行时引起的位置偏移效果:在某时刻t,我们看到的星体是它在t-τ时的位置,因此我们获得的方向是t时刻地球位置到t-τ时刻行星位置连线方向,式中τ是光线从行星到达地球所需的时间。这个时间可由下式计算: 27 | τ = 0.0057755183*Δ日 28 | 式中Δ是行星到地球的距离,单位是天文单位。 29 | Δ = sqrt(x*x + y*y + z*z) 30 | (b)是恒星光行差引起的偏移效果。也就是式22.2式,式中θ等于Lo±180°. 31 | 然而,以上两种效果可以同时计算。对于一阶精度,我们站在地心看到星体运动,地球则是静止的,这样t时刻我们总是看么t-τ时刻的星体位置,换句话说,t-τ时行星的真位置方向就是t时刻的视位置,t-τ时的行星位置与地心连线就是视位置方向,注意,由于地球静止,t时与t-τ时刻地心位置不变,都是0。利用伽利略变换再扩展:不管变换到那个坐标系,t-τ时的地心位置与t-τ时刻的行星位置的连线方向就是t时刻的地心视位置方向。 32 | 当然,光行时τ的值无法马上取得,因为地球到行星的距离Δ未知。但是,这个距离可以通过迭代法取得。即先令Δ=0(即τ=0),然后使用前几章的方法算出距离。 33 | 要把行星的地心黄经λ及黄纬β从把动力学地心Date黄道分点坐标转到FK5黄道分点坐标中,如果需要高精度的计算,应使用31.3式进行转换,注意把L换为λ,B换为β。 34 | 为了完成行星视位置计算,还应进行章动计算。使用第21章的方法计算得到黄经章动ΔΨ及交角章动Δε,在地心黄经中加入ΔΨ,在黄赤交角中加入Δε。接下来就可以使用12.3及12.4式推导出地心视赤经及视赤纬。 35 | Ψ是行星的距角,即地心看行星与太阳的角距离,用下式计算: 36 | cos(Ψ)=cos(β)*cos(λ-λo) 37 | 式中λ、β是行星的视黄经及黄纬,λo是太阳的视黄经。太阳的黄纬总时小于1.2角秒,要以忽略。 38 | 39 | ------------------------- 40 | 例32.a ——计算金星的视位置。时间1992年12月20日12日0日(TD = DE 2448976.5) 41 | 42 | 解: 43 | 因为行星到地球距离未知,所以光行时未知。不过我们可先计算此时行星的真几何位置。我们得到如下日心坐标(详见例31.a): 44 | L = 26°.11428 B = -2°.62070 R = 0.724603 45 | 用同样的方法计算地球的坐标: 46 | Lo = 88°.35704 Bo = +0°.00014 Ro = 0.983824 (A) 47 | 因此,由32.1式、32.4式及32.3式得: 48 | x = +0.621746 Δ = 0.910845 49 | y = -0.664810 τ = 0.0052606日 50 | z = -0.033134 51 | Δ是1992年12月20.0日金星到地球的真距离。我们现在重新计算t-τ时刻金星的日心坐标,即 JDE = 2448976.5 - 0.0052606。 52 | 我们得到: 53 | L = 26°.10588, B = -2°.62102, R = 0.724604 (B) 54 | 联合(A)的Lo、Bo、Ro值,再次计算x、y、z等的值: 55 | x = +0.621794 56 | y = -0.664905 (C) 57 | z = -0.033138 58 | 译者注:这组x、y、z就是t-τ时的行星位置,并且是相对于地球t时刻位置描述行体位置的,而不是相对于地球t-τ而言的,所以不含周年光行差,具体可自行作图理解。 59 | 得到t-τ时刻的位置后,可重新计算一下距离用光行时τ: 60 | Δ = 0.910947 61 | τ = 0.0052612日 62 | 如果再次重复上述过程,在以上的计算控制的有效位数精度下,计算结果已不再变化。 63 | 因此,最后得到1992年12月20日0时金星的光行时是τ = 0.0052612日,视距离是Δ = 0.910947。这个距离是星体发出的光被我们看到时,光线传播的距离。 64 | 让我们计算金星的地心黄经及黄纬。把(C)中的x、y、z代入32.2式,得到: 65 | λ = 313°.08102 β = -2°.08474 66 | 式中已修正了光行时,但未修正周年光行差。 67 | 由第22章,我们得到: 68 | e = 0.016711573 69 | π = 102°.88675 70 | 再由22.2式,θ=180°+Lo,算得: 71 | Δλ = -14".868 = -0°.00413 72 | Δβ = -0".531 = -0°.00015 73 | 这样,视黄经及黄纬(未进行章动修正)是: 74 | λ = 313°.08102 - 0°.00413 = 313°.07689 75 | β = -2°.08474 - 0°.00015 = -2°.08489 76 | ********* 77 | 此外,我们也可以一次性修正光行时及光行差。当然,这时我们就需要计算t-τ时刻的地球坐标: 78 | Lo = 88°.35168, Bo = +0°.00014, Ro = 0.983825 79 | 现在联合(B)中的行星坐标,通过32.1及32.2式得到: 80 | x = +0.621702 λ = 313°.07687 81 | y = -0.664903 β = -2°.08489 82 | z = -0.033138 83 | 最后得到的经纬度非常接近前面的计算结果了。 84 | ********* 85 | 转到FK5坐标系统,可利用31.3式: 86 | Δλ = -0".09027 = -0°.00003 87 | Δβ = +0".05535 = +0°.00001 88 | 所以改正后的值是: 89 | λ = 313°.07689 - 0°.00003 = 313°.07686 90 | β = -2°.08489 + 0°.00001 = -2°.08488 91 | 用第21章的公式计算章动: 92 | ΔΨ = +16".749, Δε = -1".933,ε = 23°.439669 93 | λ加入黄经章动后: 94 | λ = 313°.07686 + 16".749 = 313°.08151 95 | 最后,利用12.3式用12.4式,得视赤经及视赤纬: 96 | α = 316°.17291 = 21h.078194 = 21h 04m 41s.50 97 | δ = -18°.88802 = -18°53'16".9 98 | 使用VSOP87准确计算的结果是: 99 | α = 21h 04 m 41s.454 100 | δ = 18°53'16".84, 101 | R = 0.91084596。 102 | 103 | ------------------------------------- 104 | 105 | 第二种方法: 106 | 107 | 这里,我们使用轨道要素,涉及J2000.0黄道分点球面坐标、太阳的J2000.0黄道分点地心直角坐标X、Y、Z。这些直角坐标可取自天文年历,或者使用第25章的方法计算。 108 | 109 | 在这个方法中,不计算星体(小行星或周期慧星)的日心经度及纬度。相反,我们计算它们的日心直角分点坐标x、y、z,之后使用简单的公式推导出赤经、赤纬及其它量。 110 | 111 | 已下的轨道要素假设是已知的。比如,它们可以从IAU组织取得。 112 | a = 半长轴 113 | e = 离心率 114 | i = 轨道倾角 115 | ω = 近点参数 116 | Ω = 升交点经度 117 | n = 平运动,度/日 118 | 式中i、ω、Ω是标准分点起算的。 119 | 如果n未知,可以使用下式计算:a = q/(1-e), n = 0.9856076686/sqrt(a^3) ……32.6式 120 | 式中q是近点的距离,单位是AU。第二式中的数值是高斯引力常数0.01720209895由弧度转为度的值。 121 | 122 | 严格的说,对于给定的时刻(即历元),以上所有的要素是有效的。在行星摄动的影响下,这些要素随时间变化(详见本章后面的部分,关于密切椭圆要素)。除非高精度要求,在几个星期甚至几个月内,这些要素可以认为是不变的。例如,在整个慧星的可见时期。 123 | 124 | 除了上面提到的轨道要素,还有该时刻(历元)的平近点角Mo(或者通过近点的时间T)。这样就可以计算任意时刻的平近点角M;平近点角每日增加n度,在T时刻n=0。 125 | 126 | 当给出了小行星或周期慧的轨道要素,可用以下方法计算给定日期的地心坐标。首先,我们须计算三个量a、b、c及角度A、B、C,这是给定轨道相关的常数。 127 | 128 | 设ε是黄赤交角。如果轨道要素涉及J2000.0标准分点坐标,则ε2000=23°26'21".448,由此算得: 129 | sin(ε) = 0.39777716 130 | cos(ε) = 0.91748206 131 | 132 | 接下来计算: 133 | 134 | F = cos(Ω) 135 | G = sin(Ω)*cos(ε) 136 | H = sin(Ω)*cos(ε) 137 | 138 | P = -sin(Ω)*cos(i) 139 | Q = cos(Ω)*cos(i)*cos(ε) - sin(i)*sin(ε) ……32.7式 140 | R = cos(Ω)*cos(i)*sin(ε) + sin(i)*cos(ε) 141 | 142 | 作为验证,我们可以作个关联计算:F2 + G2 + H2 = 1, P2 + Q2 + R2 =1。当然,这个计算不是程序所必须的。 143 | 144 | 接下来,a、b、c、A、B、C的值就可得到: 145 | tan(A) = F/P, a = sqrt(F2+P2) 146 | tan(B) = G/Q , b = sqrt(G2+Q2) ……32.8式 147 | tan(C) = H/R, c = sqrt(H2+R2) 148 | 149 | a、b、c值是正数值,角A、B、C则应置于正确的象限,按如下规则计算: 150 | sin(A)与cos(Ω)同号 151 | sin(B)、sin(C)与sin(Ω)同号 152 | 153 | 不过我们可以使用二参数的反正切函数,在程序设计语言中有这个函数:A = ATN2(F,P) 154 | 155 | 注意:上面的这个a不是指轨道半长径。 156 | 157 | 对每个需要计算的位置,先算出星体的平近点角M,偏近点角E(见第29章),真近点角v(见29.1式)及距离r(见29.2式)。那么,该星体的日心直角赤道坐标是: 158 | x = r*a*sin( A + ω + v ) ……32.9 159 | y = r*b*sin( B + ω + v ) 160 | z = r*c*sin( C + ω + v ) 161 | 162 | 当我们需要星体的多个位置时,这组公式是完备的。辅助量a、b、c、A、B、C仅集合了i、Ω、ε,是整个星历的常数。对于每个位置,仅v、r需要计算。然而,应注意,仅在无摄动时i、Ω、ε才是常数。 163 | 164 | 对同一时刻,计算其日心直角坐标X、Y、Z(见第25章),或从天文年历中取得。那么,行星或慧星的地心赤经及赤纬按如下计算出: 165 | tan(α) = (Y+y)/(X+x) 166 | Δ2 = (X+x)2 + (Y+y)2 + (Z+z)2 ……32.10式(组) 167 | sin(δ) = (Z+z)/Δ 168 | 169 | 式中Δ是地球到这个位置的距离。α的正确象限根据sin(α),它与(Y+y)同号,不过,和前面的一样,可使用二参数的反正切函数计算:α=ATN2(Y+y,X+x)。 170 | 171 | 如果α是负数,请加上360度。然后把α除以15,把角度转为时角。 172 | 173 | 星体的赤道坐标α、δ涉及的坐标,它与太阳的直角坐标X、Y、Z及轨道要素使用同样的标准分点,只不过使用上述方法得到的星体位置坐标α、δ是地心系统坐标。和本章的“第一种方法”一样,光行时效果是必须计算的,可按如下方法执行计算。 174 | 175 | 对于给定的时间t,按以上描述的方法计算星体到地球之间的距离Δ,用32.3式计算光行时τ。重新计算t-τ时刻的M、E、v、x、y、z,但保持太阳的坐标X、Y、Z不变。x、y、z代入32.10式,即得α、δ。 176 | 177 | 当只计算光行时修正时,也就是说不修正光行差及章动,那么得到的α、δ称作“天文测量赤经、赤纬”。行星或慧星的“天文测量位置”是相对于星库中的恒星平位置的而言的方向(已修正了自行及周年视差)。当然α、δ是地心坐标。 178 | 179 | 星体距角Ψ(星体-地-日),及相位角β(日-星体-地),由下式计算: 180 | 181 | cos(Ψ) = ((X+x)X+(Y+y)Y+(Z+z)Z)/(RΔ) = (R2 + Δ2 - r2)/(2RΔ) ……32.11式 182 | 183 | cos(β)=((X+x)x+(Y+y)y+(Z+z)z)/(rΔ) = (r2 + Δ2 - R2)/(2rΔ) ……32.12式 184 | 185 | 式中 R = sqrt(X2+Y2+Z2) = 日地距离。角度Ψ、β都在0到180度之间。当然,不要混淆上式的R与32.1式中的R及32.7式中的R 186 | 187 | --------------------- 188 | 星体的星等计算如下。对于慧星,总星等一般由下式计算: 189 | m = g + 5*log(Δ) + k*log(r) ……32.13式 190 | 式中g是视星等,k是常数(不同慧星k的值不一样),通常k的值在5到15之间。 191 | 对于小行星,IAU的Comission20给出了新的星等系统(New Delhi,November 1985)。小星行的星等的估计公式是: 192 | 星等 = H + 5*log(r*Δ) - 2.5*log[(1-G)*Φ1 + G*Φ2]……32.14式 193 | 式中: 194 | Φ1 = exp[-3.33*tan(β/2)^0.63] 195 | Φ2 = exp[-1.87*tan(β/2)^1.22] 196 | 其中β是相位角,'exp'是指数函数。当0°≤β≤120°时(32.14)式才是有效的。H和G是星等参数(每个小行星的H和G是不相同的)。H是绝对可视星等,G是“斜率参数”。以下是较亮的小行星及一些不常用星体的H、G值: 197 | 198 | H G H G 199 | 1 Ceres 3.34 0.12 15 Eunomia 5.28 0.23 200 | 2 Pallas 4.13 0.11 18 Melpomene 6.51 0.25 201 | 3 Juno 5.33 0.32 20 Massalia 6.50 0.25 202 | 4 Vesta 3.20 0.32 433 Eros 11.16 0.46 203 | 5 Astraea 6.85 0.15 1566 Icarus 16.4 0.15 204 | 6 Hebe 5.71 0.24 1620 Geographos 15.60 0.15 205 | 7 Iris 5.51 0.15 1862 Apollo 16.25 0.09 206 | 8 Flora 6.49 0.28 2060 Chiron 6.0 0.15 207 | 9 Metis 6.28 0.17 2062 Aten 16.80 0.15 208 | 公式(32.13)和(32.14)中,到太阳的距离r及到地球距离Δ用天文单位,并且式中所有的对数计算均以10为底。 209 | ----------------------- 210 | 例32.b: ——计算周期慧星Encke的地心坐标,时间:1990年10月6.0 TD,使用以下轨道要素(见例23.b): 211 | T = 1990年10月28.54502 TD 212 | a = 2.2091404 AU 213 | e = 0.8502196 214 | J2000.0黄道分点坐标下的: 215 | i = 11°.94524 216 | Ω=334°.75006 217 | ω=186°.23352 218 | 解: 219 | 首先计算轨道的辅助常数: 220 | F = +0.90445559 P = +0.41733084 221 | G = -0.39136830 Q = +0.72952209 222 | H = -0.16967893 R = +0.54187867 223 | 因此,利用32.8式得: 224 | A = 65°.230615 a = 0.99609485 225 | B = 331°.787680 b = 0,82787174 226 | C = 342°.613052 c = 0.56782342 227 | 轨道半长轴a=2.2091404已知,则由32.6式的第2式算出 n =0.300171252度/日。 228 | 对于给定的时间(1990年10月6.0),从近日点起算,时间是-22.54502日。因此,平近点角是: 229 | M = -22.54502*0.300171252 = -6°.767367 230 | 那么,我们得到: 231 | E = -34°.026714 x = +0.2508066 232 | v = -94°.163310 y = +0.4849175 233 | r = 0.6524867 z = +0.3573373 234 | 同时刻,太阳的J2000.0标准分点地心直角赤道坐标使用VSOP87行星理论计算结果是: 235 | X = -0.9756732, Y = -0.2003254, Z = -0.0868566 236 | 从而得:Δ = 0.8243689,光行时 τ = 0.00476日。 237 | 重新计算t-τ时刻慧星的位置,即1990年10月5.99524时刻。我们得到: 238 | M = -6°.768796 239 | E = -34°.031552 x = +0.2509310 240 | v = -94°.171933 y = +0.4849477 241 | r = 0.6525755 z = +0.3573712 242 | 及: 243 | X+x = -0.7247422 244 | Y+y = +0.2846223 245 | Z+z = +0.2705146 246 | Δ = 0.8242811 247 | 由此,我们计算出天文赤经、天文赤纬及距角: 248 | α2000 = 158°.558965 = 10h 34m 14s.2 249 | δ2000 = +19°.158496 = +19°.09'31" 250 | Ψ= 40°.51 251 | ------------------------------------- 252 | 253 | 密切轨道要素注意点 254 | 255 | “平”轨道要素(如第30章给出的主行星的轨道要素),指“平”参考轨道的要素。它们是缓慢变化的轨道。 256 | 然而,对于周期慧星及数以千计的小行星,没有平轨道要素可以计算。相反,轨道要素的计算是用给定的历元时刻的“瞬时”轨道进行计算,这种“瞬时”轨道也叫作“密切轨道要素”(或叫“勿切轨道要素”)。并且,有效的“瞬间”就是密切历元。 257 | [某一历元时刻的密切要素是指无摄动的椭圆轨道要素,这个椭圆轨道是密切轨道,是突然不受摄动的轨道,此刻不受摄动的瞬时位置和速度等于此刻它受到摄动情况下的瞬时位置和速度。因此,密切要素包含了其它行星摄动影响(中国话:受其它星体摄动,密切要素不断改变),所以,密切要素与平要素不同,它是周期变化的。] 258 | 平要素变化缓慢(例如:火星平轨道离心率在1900年是0.09331,在2000年是0.09340),密切要素变化则比较快,不过不会造成平要素改变。 259 | 作为一个例子,让我们给出下列Ceres小行星的两个历元的密切要素(仅200天)。这些要素取自Leningrad小行年历。i、ω、Ω涉及1950.0标准分点坐标。 260 | 261 | 历元(TD): 1980-12-27.0 1981-7-15.0 262 | 半长轴(AU): a = 2.7663951 a = 2.7671238 263 | 离心率: e = 0.0772343 e = 0.0774937 264 | 倾角(度): i = 10.59878 i = 10.59815 265 | 近点参数(度): ω=73.89555 ω= 73.90189 266 | 升交点黄经(度): Ω=80.10259 Ω= 80.09660 267 | 平近点角(度): M = 319.23914 M = 2.08133 268 | 平运动(度/天): n = 0.21420655 n = 0.21412194 269 | 从1980年12月27日到1987年7月15日,“瞬时轨道”的半长轴增加了0.00073AU;然而,我们不能由此推断说在这200天里,Ceres小行星到太阳的平距离增加了109000千米。 270 | 在1980年12月27日,Ceres的瞬时周期是1680.62日(用360度除以n得到);200天后,周期增加为1681.28日。 271 | 海王星供了一个很好的例证。目前,它的平轨道离心率是0.0090,而密切轨道的离心率:在1964年11月达到了最大值0.0124,在1970年10月达到一个最小值0.0039,另一个最大值0.0122则在1976年12月,等等。这些快速的变化并不令人吃惊的:海王星的密切轨道涉及了太阳的位置和速度,太阳本身围绕太阳系中心振动(主要是大行星木星、土星的运动引起的),因此如果以太阳系中心(不是太阳)计算海王星的轨道要素,那么轨道要素的变化就会小很多。 272 | 周期慧星及小行星的精确星历可以使用数值积分方法计算取得,这时,密切轨道要素则可为这种计算供初始值。 273 | 密切要素可以用于计算密切历元的实际位置及运动,也可以作为该历元前后短时期内的良好近似轨道要素。然而,我们不能在无摄轨道中做远期计算。 274 | 计算星历时,使用无摄动的密切轨道,将产生误差,为了使我们对这种误差积累有个认识,我们使用以上提到的Ceres的1981年7月15日的密切要素。对于Ceres的日心黄经,使用这里的“无摄”方法计算,再与Duncombe的精确结果比较,我们发现,在该历元的280天后,误差小于9",在最初的40天,误差小于40",180天后达到最大值8",但再往后几个月,误差达到一个很大的负值: 275 | 276 | 1981.7.15 277 | 以后的天数 0 40 80 120 160 200 240 280 320 360 400 278 | Δλ(角秒) 0 +1 +3 +5 +7 +7 +3 -8 -26 -52 -86 279 | Δλ更远期的变化在下图中显示。图中的波动曲线描述了误差随时间变化的关系。所以,在这一特殊情况下,误差不是持增长的(而波动增长)。我们得到如下更远期的Ceres的黄经误差值: 280 | 1982年1月 +8" 281 | 1984年3月中旬 -708" 282 | 1986年5月中旬 -864" 283 | 1988年7月 -825" 284 | 1990年8月 +1754" 285 | 286 | 287 | 288 | 此图是:用密切密要素,并且忽略摄动,计算出的黄经的误差Δλ随时间变化的曲线。 289 | Δλ的单位是:角秒 290 | 横坐标:1981年7月15.0起算的日数 291 | 数据点的间隔40天。 292 | 293 | ------------------------------------- 294 | 295 | 关于中心方程 296 | 297 | 如果离心率比较小,解第29章的开普勒方程可以使用29.1式,那么,关于C(即v-M)的中心方程,可以使用以下关于e和M的多项式直接计算: 298 | 299 | C = (2e - e3/4+ 5/96*e5) sinM + (5/4*e2 - 11/24*e4) sin 2M 300 | + (13/12*e3 - 43/64*e5) sin 3M + (e4*103/96) sin 4M + (1097/960*e5) sin 5M 301 | 302 | 结果表达为弧度单位,乘上180/π或57.29577951后可转为度单位。此公式推导自一个级数展开式,在e的5次方之后截断。因此该式适合于小离心率。如果离心率很小,那么e的4次方及5次方项可以忽略。 303 | 304 | 最大误差为: 305 | 306 | e的值 307 | 308 | 算到e4(") 309 | 310 | 忽略e4和e5(") 311 | 312 | 0.03 313 | 0.05 314 | 0.10 315 | 0.15 316 | 0.20 317 | 0.25 318 | 0.30 0.0003 319 | 0.007 320 | 0.45 321 | 5 322 | 29 323 | 111 324 | 331 0.24 325 | 1.8 326 | 30 327 | 152 328 | 483 329 | 1183 330 | 2456 331 | 332 | 还有一个距离的展开式,保留到离心率e的5次方项: 333 | 334 | r/a = 1 + e2/2 335 | - (e - 3/8*e3 + 5/192*e5) cos M 336 | - (e2/2 -e4/3) cos 2M 337 | - (3/8*e3 - 45/128*e5) cos 3M 338 | - (e4/3) cos 4M 339 | - (125/384*e5)cos 5M 340 | 341 | ----------------------------------------- 342 | 343 | 椭圆轨道上星体的速度 344 | 345 | 星体在一个无摄动的椭圆轨道上,瞬时移动的速度(千米/秒)是:V = 42.1219 * sqrt ( 1/r - 1/(2a) ) 346 | 347 | 式中r是星体到太阳的距,a是轨道的半长轴,二者的单位是天文单位。 348 | 349 | 如果e是轨道的离心率,那么在近日点及远日点的速度(千米/秒)分别是: 350 | 351 | Vp = (29.7847/√a) √(1+e)/(1-e) 352 | 353 | Va = (29.7847/√a) √(1-e)/(1+e) 354 | 355 | 例32.c 356 | 357 | 周期慧星Halley,1986回来的。我们有:a = 17.9400782,e = 0.96727426,以上密切要素在历元1986年2月19.0TD时刻严格有效。 358 | 359 | 解: 360 | 361 | 对于这个轨道,近日点速度和远日点速度分别: 362 | 363 | Vp = 54.52千米/秒, Va = 0.91千米/秒 364 | 365 | 在与太阳距离r=1AU时,该慧星的速度是V = 41.53千米/秒。 366 | 367 | ----------------------------------------- 368 | 369 | 椭圆轨道的长度(周长) 370 | 371 | 有个精确的椭圆面积公式(面积=πab),却没有一个有限项的普通函数精确表达椭圆的周长L。在下面式中,e是椭圆的离心率,a是半长轴,b是半短轴,b=a*sqrt(1-e*e)。 372 | 373 | 1、Ramanujan在1914年给出了一个近似公式:L = π( 3(a+b) - sqrt( (a+3b)*(3a+b) ) ) 374 | 375 | 当a=b时(正圆时),误差为零。e=1时(无限偏的椭圆),误差为0.4155%. 376 | 377 | 2、另一个有趣的计算椭圆周长的方法:设A、G和H分别是半长轴a和半短轴b的算术平均、几何平均、调和平均,即: 378 | 379 | A = (a+b)/2 380 | G = sqrt(a*b) 381 | H = 2*a*b/(a+b) 382 | 383 | 那么有:L = π( 21A - 2G - 3H ) / 8 384 | 385 | 当e<0.88时误差<0.001%,当e<0.95时误差<0.01%。但是,当e=0.997时误差1%,当e=1时误差3%. 386 | 387 | 3、一个级数展开公式:下式中 Pn = [1·3·5…(n-1)/(2·4·6…n)]2 388 | 389 | L = 2πa(1 - P2e2/1 - P4e4/3 - P6e6/5 - …) 390 | 391 | 括号内的表达式的值是: 392 | 393 | e = 0.05时,0.99937 394 | e = 0.10时,0.99750 395 | e = 1.00时,0.63662 = 2/π 396 | 397 | 4、收敛更快的公式,下式中 m = (a-b)/(a+b) 398 | 399 | L = 2πa/(1+m)(1 + P2e2/12 + P4e4/32 + P6e6/52 + P8e8/72 + …) 400 | 401 | 例32.d:周期慧Halley。使用1986年回归的要素(见例32.c),我们得到轨道周长是77.07AU = 11530百万千米。 402 | 403 | 404 | 405 | 406 | 407 |   408 | 409 |   410 | -------------------------------------------------------------------------------- /content/part33.md: -------------------------------------------------------------------------------- 1 | 第33章 抛物线运动 2 | 3 | 4 | 在本章,我们将给出慧星围绕太阳做抛物线运动的位置计算公式。我们将假设轨道要素是不变的(不受行星的摄动),这些要素涉及历元(如2000.0)标准分点坐标。 5 | 6 | 假设以下轨道要素已知: 7 | 8 | T = 通过近点的时间 9 | q = 近点距离,单位AU 10 | i = 倾角 11 | ω= 近点参数 12 | Ω= 升交点黄经 13 | 14 | 首先,计算辅助常数A、B、C、a、b、c(如同椭圆轨道一样),详见公式(32.7)和(32.8)。那么,可按如下方法计算慧星位置。 15 | 16 | 设 t-T是从近点起算的时间,单位是日。在近点时刻之前,这个量是负值。计算: 17 | 18 | W = ( 0.03649116245/q3/2 )( t - T ) (33.1) 19 | 20 | 式中的数值常数等于3k/sqrt(2),其中k是高斯引力常数0.01720209895。 21 | 22 | 那么,慧星的真近点角和径距离r由下式得到: 23 | 24 | tan(v/2) = s , r = q ( 1 + s2 ) (33.2) 25 | 26 | 式中s是以下方程的根:s3 + 3s - W = 0 (33.3) 27 | 28 | 应注意,在近日点之前的某一时刻,s是负值,v在-180度到0度之间。在近日点之后,s>0,v在0到180度之间。在经过近点的时刻,s=0,v=0度,r=q。 29 | 30 | 求解方程(33.3)的方法有多种,此方程称为Barker方程。 31 | 32 | 1、用迭代法可轻松解出此方程。这个算法也是笔者的偏好,因为这个迭代公式很简单,收敛快速,也没有涉及三角函数或立方根,不管t-T是正还是负,计算过程匀有效。 33 | 34 | s的起步值可能任选,取s=0是个良好的选择。s的更佳值是: 35 | 36 | ( 2s3 + W )/( s2 + 1 )/ 3 (33.4) 37 | 38 | 重复计算,直到取得正确值为止。应当注意,表达式(33.4)中需计算s的立方,如果s是负值,在有些计算机中是不允许的,我们不妨用s*s*s代替s^3。 39 | 40 | 2、不用迭代法解方程(33.3),s可由下式直接取得(J.Bauschinger,Tafeln zur Theoretischen Astronomie,第9页,Leipzig,1934): 41 | 42 | 43 | 44 | 这种方法不需要迭代,但出现了两个问题: 45 | 46 | ——经过近点时,t-T等于零,因此W也是0,这样2/W就变成无穷大。在这种情况下,可得到瞬时值v=0°和r=q,但是这种可能出现的问题必需在程序中预防(防分母为零!)。 47 | ——在近点之前,我们有W<0,因此tanβ是负值。但是,在这种情况下,tan(β/2)也是负值,计算机无法计算负值的立方根。在(33.5)的第一式中,用W的绝值代换W就可避免这个困难,在计算完成后,s的符号应取反。 48 | 49 | 例如,在BASIC中,公式(33.1)和(33.3)可按如下编写程序,其中T代表近日点起算的天数 t - T : 50 | 51 | IF T = 0 THEN ... 52 | W = 0.03649116245*T/(Q*SQR(Q)) 53 | B = ATN(2/ABS(W)) 54 | S = 2/TAN(2*ATN(TAN(B/2)^(1/3))) 55 | IF T<0 THEN S = -S 56 | 57 | 3、以下方法是比较简单的,也不使用三角函数。根式下的所有表达式取正值,sqrt3指开3方。 58 | 59 | G = W/2, Y = sqrt3 ( G + sqrt(G2+1) ), s = Y - 1/Y (33.6) 60 | 61 | 当得到s后,v和r可以利用(33.2)式得到,之后的计算如同椭圆运动,使用公式(32.9)和(32.10),并使用同样的方法考虑光行时。 62 | 63 | 第一个公式(33.2)得到的v/2介于-90°到+90°之间,这是反正弦函数的区间。所以v在-180°到+180°之间,所在象限也是正确的,所以无需额外的检测。 64 | 65 | 在抛物线运动中,e=1,而公转的a和周期是无穷大;平日运动是0,平近点角及偏近点角也不存在(实际上,它们是0)。 66 | 67 | ------------------------- 68 | 69 | 例33.a:计算Helin-Roman(1989s=1989IX)慧星的真近点角和它到太阳的距离,时间:1989年10月31.0 TD,使用以下值: 70 | 71 | T = 1989年8月20.29104 TD 72 | q = 1.3245017 73 | 74 | 这是B.G Marsden(《小行星通告》NO.16001,1990年3月11日)计算的抛物线轨道要素。 75 | 76 | 对于这个给定的时刻(1989年10月31.0),近点起算的时间则是t-T=+71.70896日。因此,由公式(33.1)得: 77 | W = +1.71665231 78 | 79 | 起步取s=0,利用迭代公式(33.4),我们依次得到近似值: 80 | 81 | 0.000 0000 82 | 0.572 2174 83 | 0.525 1685 84 | 0.524 2029 85 | 0.524 2025 86 | 87 | 因此, s=+0.5242025,所以得:v = +55°.32728 r = 1.688459 88 | 89 | 如果不使用迭代方法,利用公式(33.6),我们得到: 90 | 91 | G = 0.858326155 92 | 93 | Y = 1.295879323 94 | 95 | s = Y - 1/Y = 0.5242025 96 | 97 | 结果和前面的一样。 98 | 99 |   100 | -------------------------------------------------------------------------------- /content/part34.md: -------------------------------------------------------------------------------- 1 | # 第34章 准抛物线 2 | 3 | 4 | 5 | 离心率为1意味着轨道是抛物线;在这种情况下,给定时刻的星体位置容易算出(参见第33章)。如果轨道是高离心率的(0.98到1.1),但它不等于1,要对付它则有些麻烦了。离心率大于1意味道轨道是双曲线。 6 | 7 | 德国天文学家 Werner Landgraf 给出了一个有趣的BASIC程序[1],基于 Karl Stumpff的著作《Himmelsmechanik》卷.I(柏林,1959)。以下,我们给出了Landgraf的程序,并作了少量形式上的修改。 8 | 9 | 首先计算: 10 | 11 | 12 | 13 | 式中,k和前面的一样,是高斯引力常数,e是轨道离心率,q是近日点距离(天文单位)。 14 | 15 | 然后使用迭代法解以下关于s的方程: 16 | 17 | 18 | 19 | 式中t是近日点之前(-)或之后(+)的天数。利用真正的抛物线轨道计算出s[公式(33.1)中的W换为Qt/3](译者注:原文可能有误,应是W=3Qt),把它做为初值代入上式右边,这样的计算将得到改进后的s,继续迭代,直到s停止变化。 20 | 21 | 一旦s值找到后,真近点角v和到太阳的距离r可由下式计算: 22 | 23 | 24 | 25 | 地心位置坐标的计算可以用“椭圆运动”和“抛物线运动”相同的方法处理。 26 | 27 | 以下是 Landgraf 的BASIC程序,我们对它做了轻微的修改。它对高离心率的椭圆轨道(e略小于1)、精确的抛物线轨道以及轻微双曲线轨道(e略大于1)均有效。程序采用弧度制工作。 28 | 29 | 30 | 31 | 10行:第一个公式是获得圆周率π的技巧。 32 | 12行:高斯常数k 33 | 14行:D=10^-9,用于调节精度,使用符合计算机的精度。如果需要,也可以使用10^-8或10^-10。 34 | 26行:当t=0时(天体刚好在近日点),我们有r=1和v=0度。 35 | 36行:如果轨道是精确的抛物线,s的值已经找到。 36 | 54行:如果公式(34.1)的项数超过50项,或者这些项太大而造成不收敛。 37 | 56行:只要公式(34.1)的项不够小,下一个项将被计算。 38 | 58行:如果50次迭后还得不到结果,必须停止计算。 39 | 60和62行:用迭代法解方程(34.1)。这是一次迭代内部的迭代。 40 | 41 | 作为一个练习,试计算以下情况: 42 | 43 | 44 | 45 | 在计算了一些情况之后,你应知道,|t|越大所需的计算时间开销也越大,e偏离1越大时间开销越大。下表给出了在HP-85微机上的一些时间开销以及真近点角v(已四舍五入)和迭代的次数L。 46 | 47 | 48 | 49 | q=0.1且e=0.9时,当t=20日,所需计算时间是47秒。t=30时,不收敛。 50 | 51 | q=0.1且e=0.999时,当t=5000日,仍没有问题。 52 | 53 | q=1且e=0.99999,即使t=17000000日也没有问题,这是近日点之后的465个世纪,天体到太阳的距离是7220个天文单位(至少在理论上)。 54 | 55 | ------------------------ 56 | 57 | 参考资料 58 | 59 | 1、《天空和望远镜》,卷73,第535-536页(1987年5月) 60 | -------------------------------------------------------------------------------- /content/part35.md: -------------------------------------------------------------------------------- 1 | 第35章 一些行星现象的计算 2 | 3 | 4 | 5 | 有两种不同的基本方法用于计算行星现象,如金星的最大距角、火星的“冲”: 6 | 7 | (i) 比较行星与太阳的精确位置。 8 | (ii)使用公式,并采用一些周期项对其修正。 9 | 10 | 第一种方法有利于得到精确的结果,因为使用了高精度的天体位置坐标。不过,有个不便之处就是,需要有精确的星历表或精确的星历计算。 11 | 12 | 第二种方法,可以快速的容易的执行任意一年的计算。结果不如第一种方法精确,但对于多数应用来说是足够的,如用于历史研究,甚至可以用于精确计算的首次估值(如迭代计算)。 13 | 14 | 在本章,我们将提供水星到海王星的几种相对位置关系的公式:与太阳的“冲”、“会合”以及最大距角。 15 | 16 | “冲”与“会合” 17 | 18 | 从表35.A中的某一行,可以得到A、B、M0和M1的值。 19 | 20 | 设Y是某一行星现象的时间估计,表达为带小数的年。使如1993.0表示1993年的年首,2028.5表示2028年的年中,等等。 21 | 22 | 23 | 24 | 整数k接近于:(365.2425Y + 1721060 - A)/B (35.1) 25 | 26 | 应注意,k必须是整数,非整数是无意义的。依次的k,依次对应相应事件日期。k=0,对应2000年1月1日之后第一个,2000年之前k为负值。(其实365.2425*2000+1721060=2451545)。 27 | 28 | 然后计算:JDEo = A + kB, M = M0 + kM1 29 | 30 | JDEo是儒略历书日,对应行星“平相对位置(看做匀速圆周运动)”的发生时间,M是此刻地球的平近点角。 31 | 32 | 接下来计算M、a、L、c、d、e、g等角度,用于周期项计算。 33 | 34 | M是带小数点的角度,单位是度。根据计算机或程序设计语言的需要,可以转到0到360度(通过加上或减去360度的整倍数),还可以转到弧度制。 35 | 36 | T是2000年起算的儒略世纪数:T = (JDEo - 2451545)/36525,公元2000之后,T为正,之前为负。 37 | 38 | 对于木星到海王星,还需计算以下几个角度: 39 | 40 | 41 | 42 | 真相对位置发生时间JDE是:“平时间”JDEo + 周期项修正量。这些修正量详见表35.B,是关于角度M的周期项的和。由于行星轨道的世纪变化,周期项系数随时间缓变化,因此表中存在T和T的平方项。 43 | 44 | 例如,水星的内会合,修正量是: 45 | 46 | + 0.0545 + 0.0002T 47 | + (-6.2008 + 0.0074T + 0.00003T2) sin M 48 | + (-3.2750 - 0.0197T + 0.00001T2) cos M 49 | + ( 0.4737 - 0.0052T - 0.00001T2) sin 2M 50 | + 等等... 51 | 52 | 这种方法得到的已修正的时间,其一个儒略历书日(JDE),因此是力学时尺度。可以减去ΔT(单位是天,参见第9章)转为基于UT时的标准儒略日(JD)。不过,在公元1500到2100年,-ΔT可以忽略。 53 | 54 | 最后,利用标准程序(见第7章),可以把JD转为日期格式。 55 | 56 | 例35.a ——计算1993年10月1日附近,水星的内会合。 57 | 58 | 由表35.A的水星内会合部分,我们有: 59 | 60 | A = 2451612.023 61 | 62 | B = 115.8774771 63 | 64 | M0 = 63.5867 65 | 66 | M1 = 114.2088742 67 | 68 | 从年首起算,10月1日是一年中3/4,因此 1993年10月1日 = 1993.75 = Y,由公式(35.1)得到-20.28,因此k=-20(记住,k必须是一个整数)。那么: 69 | 70 | JDEo = 2449294.473 71 | 72 | M = -2220°.5908 = +299°.4092 73 | 74 | T = -0.06162 75 | 76 | 对表35.B中相关的部分(水星内会合)的周期项取和计算得+3.171,因此: 77 | 78 | JDE = JDEo + 3.171 = 2449297.644,对应 1993年11月6日3h TD,舍入到小时,这就是确切的时间。 79 | 80 | 例35.b ——计算2125年土星与太阳会合时间。 81 | 82 | 表35.A的土星会合数据: 83 | 84 | A = 2451681.124 85 | 86 | B = 378.091904 87 | 88 | M0 = 131.6934 89 | 90 | M1 = 12.647487 91 | 92 | Y=2125.0(即2125年的年首),由表达式(35.1)得到+120.39。因为我们查找2125年之后的首个土星——太阳会合,所以取k=+121,而不是+120。那么: 93 | 94 | JDEo = 2497430.244 95 | 96 | M = 1662°.0393 = 222°.0393 97 | 98 | T = +1.25627 99 | 100 | 另外,对于土星,还要计算以下附加角度: 101 | 102 | a = 133°.95, b = 73°.97, c = 36°.18, d = 6°.53 103 | 104 | 对表35.B(土星与太阳会合相关的数据)的项取和计算得+7.659,因此: 105 | 106 | JDE = JDEo + 7.659 = 2497437.903,对应 2125年8月26日10h TD。 107 | 108 | 使用更精确的方法计算,得到的正确时刻是2125年8月26日11h TD。 109 | 110 | 水星和金星的最大距角 111 | 112 | 为了计算水星或金星的最大距角发生的时刻,我们从最近的内会合开始。所以,我们按以上说明的方法计算k、JDEo、M和T。我们不计算真会合时刻,相反,我们使用表35.C的周期项计算水星“平”内会合的修正量,得到最大东或西距角发生的时刻。在同一表中,还提供了计算最大距角的周期项。 113 | 114 | 别忘了,如果行星在太阳的东边,那么晚上在西边可视(太阳下山后,往西看,黄道附近可见星体),如果行星距角是西(黄道附近,太阳西边),那么早晨在东方可见星体,即太阳升起之前可清淅看到星体。 115 | 116 | 行星到太阳的距角最大值的单位是“度”,是带小数的。最大距角指:在地心看,行星到太阳圆面中心的角距离,而不是二星体的地心黄道经的最大差值。行星到太阳的距角没有官方定义,我们可以考虑以下两种不同的定义: 117 | 118 | (a)星体到太阳圆面中心的角距离 119 | (b)星体与太阳圆面中心的地心黄经之间的差值 120 | 121 | 这两种不同的定义均在天文文献中使用。1960年起,《天文历书》就已开始使有(a)定义,在1981年以后《天文年历》继承之。我们更喜欢这种定义。例如,金星在在“内会合”附近的可视性,主要和行星与太阳的角度差有关,而不是它们的黄经差。 122 | 123 | 然而,法国天文学家使用(b)定义,例如,在它们的《Annuaire du Bureau des Longitudes》,第275页1900卷,我们看到: 124 | 125 | 126 | 127 | 使用(a)定义与(b)定义,得到的结果会有些不同。例如,1990年8月11日,水星的最大距角:太阳和水星黄经的差值在15h UT时刻达到最大值(27°22'),结果如同《Annuaire du Bureau des Longitudes》第277页所讲到的。但是,最大角度差发生在21h,其值为27°25'。 128 | 129 | 例35.c ——找出1993年11月,水星西最大距角发生的时刻。 130 | 131 | 我们从1993年11月的“内会合”开始计算,由此得到(参见例35.a): 132 | 133 | JDEo = 2449294.473, M = 299°.4092, T = -0.06162 134 | 135 | 把M和T的值代入表35.C的相应部分(水星,西最大距角): 136 | 137 | 修正量 = +19.665天, 距角 = 19°.7506 138 | 139 | 因此,水星的西最大距角发生在: 140 | 141 | JDE = JDEo + 19.667 = 2449314.14 142 | 143 | 对应 1993年11月22日15h TD,最大距角是19°.7506 = 19°45'。 144 | 145 | 结果的精度 146 | 147 | 很明显,表35.B和35.C仅对有限的时间范围有效,即在公元2000年前后几千年内有效,而不是百万年!因此,不要把本章的方法用于公元-2000以前或公元4000年以后。 148 | 149 | 对于现代时间,即公元1800到2000年,水星和金星现象发生时刻的误差小于1小时,土星、天王星和海王星2小时,火星3小时,木星4小时。 150 | 151 | 可以预见,在公元-2000和4000年,最大可能误差会大一些。另一方面,如果计算的历元接近公元2000年,即1900到2100年,那么T^2项可以安全的忽略。 152 | 153 | 练习 154 | 155 | 在以下情况下,测试你的程序;所以的时间是TD时间。 156 | 157 | 水星 内会合 1631年11月07日 07h (a) 158 | 金星 内会合 1882年12月06日 17h (b) 159 | 火星 “冲” 2729年09月09日 03h (c) 160 | 木星 “冲” -6年09月15日 07h (d) 161 | 土星 “冲” -6年09月14日 09h (d) 162 | 天王 “冲” 1780年12月17日 14h (e) 163 | 海王 “冲“ 1846年08月20日 04h (f) 164 | 165 | (a)第一次观测到水星经过日圆盘(Gassendi,在巴黎) 166 | (b)公元2004以前,金星最后一次凌日。 167 | (c)一次火星的近日“冲” 168 | (d)木星和土星的“冲”时刻相差小于1天,在那年,在两行星之间出现三体会合。 169 | (e)Willian Herschel发现天王星之前的3个月 170 | (f)海王星被发现之前的1个月。 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | -------------------------------------------------------------------------------- /content/part36.md: -------------------------------------------------------------------------------- 1 | 第36章 冥王星 2 | 3 | 4 | 5 | 和大多数小行星(参见第32章)一样,冥王星没有可以使用的解析理论。不过,精确描述该行星运动的适用于1885年到2099年的表达式(1950.0坐标)已由Goffin、Meeus和Steyaer1[1]构建。周期项系数使用最小二乘法确定,冥王星的日心运动基本数值积分是E.Goffin完成的,已经考虑了8大主星行的摄动。这种积分基于Seidelmann等人的吻切轨道要素,这些要素是通过数值积分并使之吻合1914年到1979年所有已观测到的可采用的冥王星位置而得到的。 6 | 7 | 再次使用Goffin的数值积分,我们重新计算出这些周期项,但现在是涉及新的标准分点J2000.0(而不是B1950.0)坐标的冥王星日心黄经和黄纬。结果在表36.A中。 8 | 9 | -------------------------- 10 | 11 | 计算结果 12 | 13 | 得用公式(21.1)计算出历元J2000.0起算的儒略世纪数T,然后计算以下角度(单位是度): 14 | 15 | 16 | 17 | 然后计算表36.A的周期项。其中α是角度J、S、P的线性组合,即 18 | α=iJ+jS+kP 19 | 20 | 每行的贡献值是: A sinα + B cosα 21 | 22 | 例如,第13行,我们读出数值是0,2,-1,所以参数α=2S-P,对纬度的贡献是 -94*sinα + 210*cosα 23 | 24 | 在表36.A中,对于黄经和黄纬,其系数A和B的单位是10^-6度,径矢(天太阳距离)的单位是10^-7天文单位。 25 | 26 | 27 | 28 | 冥王星的日心黄经l和黄纬b(单位是度)以及距离r则由下式得到: 29 | 30 | l = 238.956785 + 144.96T + 黄经周期项之和 31 | b = -3.908202 + 黄纬周期项之和 32 | r = 40.7247248 + 距离周期项之和 33 | 34 | 本方法得到的黄经黄纬是J2000.0标准分点日心坐标的,而不是太阳系质心坐标的。 35 | 36 | 按此法计算,l的误差小于0".6,b的误差小于0".2,距离误差小于0.00002 AU,它是当时建立的冥王星运动数值积分的精度,在1885-2099年的范围内有效,超出此范围这种方法是无效的。 37 | 38 | 把冥王星坐标转换到2000.0地心天体测量赤道坐标α和δ: 39 | 40 | (1)计算太阳的2000.0地心直角坐标赤道坐标X、Y、Z(参见第25章); 41 | (2)冥王星坐标: 42 | 43 | 44 | 45 | (3)利用公式(32.10)得到α和δ以及冥王星到地球的距离Δ 46 | 47 | 不过,光行时还必须考虑。参见第32章的公式(32.3)。因此,为了获得某时刻的α和δ,应计算比该时刻更早“光行时间τ”的那个时刻的l、b、r。 48 | 49 | 也许你会感到奇怪,我们的方案中为什么不需要天王星和海王星的平黄经。原因是,天王星的平动动几乎是海王星的2倍,或是冥王星的3倍。正是由于这个原因,角参数2N-P(式中N是海王星的平经度)几乎等于2P。在短短的214年期间,这种微小的差别不易被觉察,所以表36.A中不包含2N-P的角参数,它的效果合并到了角参数为2P的项。同样由于这个原因,也没有S-4P、S-3P、S-2P、J-5P、J-4P和2S-3P,它们分别接近于4P、5P、6P、2S-P、2S和J-S+P。 50 | 51 | --------------------- 52 | 53 | 例36.a:—— 1992年10月13.0 TD = JDE 2448908.5,试计算: 54 | (1)冥五星的日心几何坐标; 55 | (2)地心天文观测坐标α和δ。 56 | 57 | 解: 58 | 59 | (1)我们得到: 60 | 61 | 62 | 63 | (2)对于这个给定的时间,太阳的2000.0直角赤道坐标是(参见例25.b)是: 64 | 65 | 66 | 67 | 现在,重新计算 1992年10月13.0 - 0.17632 = 10月12.82368时刻行星的日心坐标。结果是: 68 | 69 | 70 | 71 | 我们得到τ的值与前面的一样,所以无需继续迭代。 72 | 73 | 1992年10月13.0日 TD,冥王星的2000.0天文观测坐标则可由(32.10)式得到: 74 | 75 | 76 | 77 | ----------------------------- 78 | 79 | 公元2000年附近,冥王星的平轨道要素是: 80 | 81 | 82 | 83 | -------------------------- 84 | 85 | 参考资料 86 | 87 | 1、E.Goffin、J.Meeus和C.Steyaert,"冥王星运动的精确表示",《天文学和天体物理学》,卷155,第323-325页(1986)。 88 | 2、P.K.Seidelmann,G.H.Kaplan,K.F.Pulkkinnen,E.J.Santoro,和T.C.Van Flandern,《Icarus》,卷44,第20页(1980)。 89 | -------------------------------------------------------------------------------- /content/part37.md: -------------------------------------------------------------------------------- 1 | 第37章 行星的近点和远点 2 | 3 | 4 | 5 | 一个行星在近点或远点对应的儒略日时间由以下公式计算: 6 | 7 | 8 | 9 | 近日点对应k是一个整数,这个整数加0.5对应远日点。其它的k值是毫无意义的。 10 | 11 | 零或正的k值指2000年之后,如果k<0,则对应2000年之前的日期。 12 | 13 | 例如,k=+14和k=-222表示过经过近日点,而k=+27.5或k=-119.5是远日点。 14 | 15 | k的大约值由下式计算得到,式中的 "year" 可以是带小数的年。 16 | 17 | 18 | 19 | --------------------------------- 20 | 21 | 例37.a:——1978年10月15日(即1978.79)附近,金星经过近日点的具体时间。 22 | 23 | k的估值是 1.62549(1978.79-2000.53) = -35.34,因k必须是整数(近日!),我们取k=-35。代入金星的公式,得到: 24 | JDE = 2443873.704 25 | 对应 1978年12月31.204 = 1978年12月31 5h 力学时。 26 | 27 | ------------------------ 28 | 29 | 例37.b:——计算公元2032年火星经过远日点的时刻。 30 | 31 | 取"year"=2032.0,我们得到k≈+16.07。因为k必须是整数加0.5(远日!),所以2032年之后的第一个火星远日点出现在k=+16.5。 32 | 33 | 使用火星的公式及这个k值,得到 JDE = 2463530.456,对应2032年10月24.956日或2032年10月24日23h力学时。 34 | 35 | --------------------- 36 | 37 | 应注意,JDE的计算公式是基于无摄动的椭圆轨道,所以,火星的近(或远)日点时刻误差可能达到数小时。 38 | 39 | 由于行星之间相互摄动,使用这里描述的方法,木星近(或远)日点时刻的计算误差可达半个月,对于土星则可达1个月以上。 40 | 41 | 例如,把k=-2.5代入木星的公式,得到远日点时刻是1981年7月19日,而正确的日期是1981年7月28日。对于土星,k=-2时得到1944年7月30日,而该星行真正达到近日点是1944年9月8日。 42 | 43 | 天王星和海王星的误差更大。对于这些行星式,只不过是为了公式完整性而给出的。 44 | 45 | 精确的值,可以在接近预期时间附近选取几个时刻,计算出行星到太阳的距离,然后找出距离最大(或最小)的时刻。以下是土星(1920—2050年)及天王星(1750—2100年)的近日点(P)和远日点(A)的日期。在日期之后,是它们到太阳的距离,单位是天文位。这些日期是使用完整的P.Bretagnon的VSOP87理论得到的。 46 | 47 | 48 | 49 | 海王星的情况比较特别。该行星运动得很慢,轨道率心率很小。另一方面,太阳围绕太阳系质心振动(主要是木星和土星的运动引起的)。因此海王星到太阳的距离(不是到太阳系质心的距离)两次达到最大和最小。 50 | 51 | 例如,我们有以下海王星距离的极值 52 | 53 | 54 | 55 | 公转半周后,接近轨道的远日点部分,我们得到以下极值: 56 | 57 | 58 | 59 | 1881年没有远日点,因为此时海王星在近日点附近。类似的,1965年也没有。作者杜撰了两个名词“假近日点”和“假远日点”,分别对应单一的极大或极小值。 60 | 61 | 图1表示1954年到1972年,海王星到太阳的距离。注意,图中的(1)日主远日点,(2)是“假近日点”,(3)是第二远日点。 62 | 63 | 图1: 64 | 65 | 66 | 67 | 图2: 68 | 69 | 70 | 71 | 公转半周后,如图2所示。这几乎是一种“临界情况”:主近日点(1')发生在2042年,而2049—2050年,从“假远日点(2')”到第二近日点(3'),到太阳的距离减小得非常缓慢: 72 | 73 | 74 | 75 | ------------------------ 76 | 77 | 对于地球,应注意,公式给出的JDE针对地月系统的质心有效。由于月球运动,日地距离与日到质心距离的最大(或最小)时刻的差别可能超过1天[2]。比如,k=-10,由上面关于地球的公式得到 JDE = 2447894.911,对应1990年1月3.41日,而正确的时刻是1990年1月4日17h TD。 78 | 79 | 地球的正确值,可以通过以下方法修得到。先计算以下角度,单位是度: 80 | 81 | 82 | 83 | 记住,近日点对应k值为整数,远日点对应k值为整数加0.5。那么我们有以下修正项,单位是“日”: 84 | 85 | 86 | 87 | 在1980—2019年,这种计算方法的平均误差小于3小时,最大6小时。 88 | 89 | 例如,k=-10,我们得到修正量是+1.261日,上面已提到JDE=2447894.911,修正后是2447896.172,对应1990年1月4日16h TD,已非常接近精确值。 90 | 91 | 表37.A给出了1991到2010年地球经过近日点和远日点的时间,保留到0.01小时,并附有日地距离。这些数据使用完整的VSOP87理论精确计算得到的,而不是使用上面所述的“近似”方法。 92 | 93 | 94 | 95 | ------------------------ 96 | 97 | 参考资料: 98 | 99 | 1、J.Meeus,"Le centre de gravite du systeme solair et le mouvement de Neptune",《Ciel et Terre》(比利时),卷68,第288-292页(1952年11月-12月) 100 | 2、J.Meeus,"A propos des passages de la Terre au perihelie",《Astronomie》(法国),卷97,第294-296(1983年6月) 101 | -------------------------------------------------------------------------------- /content/part38.md: -------------------------------------------------------------------------------- 1 | 第38章 经过交点 2 | 3 | 4 | 给出行星或慧星的轨道要素,该天体经过其轨道交点的时间t,按如下方法可以很容易的计算出来: 5 | 6 | 在升交点:v = -ω 或 360°- ω 7 | 8 | 在降交点:v = 180°- ω 9 | 10 | 和前面的一样,v是真近点角,ω是近日点参数。那么,使用v值就可进行以下计算。 11 | 12 | 椭圆轨道的情况 13 | 14 | 计算偏近点角E : 15 | 16 | tan(E/2) = sqrt( (1-e)/(1+e) ) tan(v/2) (38.1) 17 | 18 | 式中,e是轨道率心率。平近点角M由下式计算: 19 | 20 | M = E - e sin E (38.2) 21 | 22 | 在公式(38.2)中,E应表达为弧度。M的值也是弧度。然而,如果E表达为“度”且计算机也工作在“度”模式,那么,应把公式(38.2)中的弧度制的e换为角度制的eo,即eo=e*57°.29577951。 23 | 24 | 把M转为“度”单位。那么,如果T是经过近日点的时间,n是每日平运动(单位:度/天),所需的经过交点的时间是: 25 | 26 | t = T + M/n 日 (38.3) 27 | 28 | 此时对应的径矢r由下式计算: 29 | 30 | r = a ( 1 - e cos E ) (38.4) 31 | 32 | 式中a是轨道的半长轴,天文单位。 33 | 34 | 如果n未给出,可以使用(32.6)式得到。 35 | 36 | 抛物线轨道的情形 37 | 38 | 计算:s = tan (v/2) 39 | 40 | 那么:t = T + 27.403895 (s3+3s) q3/2 天 41 | 42 | 式中近日点距离q的单位是AU。此刻对应的径矢r是: 43 | 44 | r = q ( 1 + s2 ) 45 | 46 | 注意:——交点是轨道与黄道的交点!交点所涉及的黄道的历元与轨道要素所用的分点的历元是相同的。例如,如果轨道要素是涉及1950.0标准分点的,那么以上公式得到的是经过“1950.0黄道交点”的时间,而不是在当日黄道上的交点。这种差别通常可以忽略,除非倾角非常小或运动十分缓慢。 47 | 48 | 例38.a —— 1986年回归的周期慧星HAlley,W.Landgraf[小行星通告 No.10634(1986年4月24日)]提供了以下轨道要素: 49 | 50 | T = 1986年2月9.45891 TD 51 | ω= 111°.84644 52 | e = 0.96727426 53 | n = 0.01297082 度/日 54 | a = 17.9400782 55 | 56 | 近日点参数ω是涉及1950.0标准分点的。 57 | 58 | 对于经过升交点,我们有: 59 | 60 | v = 360°- ω = 248°.15356 61 | 62 | tan(E/2) = -0.1906646 63 | 64 | E = -21°.5894332 65 | 66 | M = -21°.5894332 - ( 0.96727426 * 57°.29577951 ) sin (21°.5894332) = -1°.1972043 67 | 68 | t = T + (-1.1972043)/0.01297082 = T - 92.2998 日 69 | 70 | 因此,慧星经过升交点(在1950.0黄道上)发生在近日点之后92.2998日,即1985年11月9.16日TD。 71 | 72 | 由公式(38.4)得到 r = 1.8045AU。所以,在它的升交点,著名的慧星稍微在火星的轨道之外。 73 | 74 | 对于降交点,类似得到: 75 | 76 | v = 180°- ω = 68°.15356 77 | 78 | E = +9°.9726067 79 | 80 | M = +0°.3749928 81 | 82 | t = T + 28.9105 日 = 1986年3月10.37 TD 83 | 84 | r = 0.8493 AU,在金星和地球轨道之间 85 | 86 | 事实上,慧星运动(i=162°)是逆行的,这里离题了。不管怎样,ω总是从升交点,沿道天体运动方向测量的。 87 | 88 | 例38.b ——对于慧星Helin-Roman(1989s = 1989IX),Marsden(小行星通告 No.16001,1990年3月11日)已经计算出了以下抛物线轨道要素: 89 | 90 | T = 1989年8月20.29104 TD 91 | q = 1.3245017AU 92 | ω= 154°.90425 (1950.0) 93 | 94 | 对于升交点,我们有: 95 | 96 | v = -ω = -154°.90425 97 | s = -4.4929389 98 | t = T - 4351.68日 = 1977年9月20日 99 | r = 28.06 AU 100 | 101 | 对于降交点,我们有: 102 | 103 | v = 180°- ω = +25°.09575 104 | s = -0.2225715 105 | t = T + 28.3527 日 = 1989年9月17.644日 TD 106 | r = 1.3901 AU 107 | 108 | 例38.c ——计算1970.0附近,金星经过升交点的时间。 109 | 110 | 我们使用表30.A中的轨道要素。我们得到: 111 | 112 | a = 0.723329820,因此 n = 1.602137 113 | 114 | e = 0.00677188 - 0.000047766T + 0.0000000975T2 115 | 116 | ω= π - Ω = 54°.883787 + 0°.5010998T - 0°.0014800T2 117 | 118 | T3次可以安全的忽略掉。e和ω随时间变化非常缓慢。我们计算历元1979.0的相关值,那么T=0.21。我们得到: 119 | 120 | e = 0.00678192, ω = 54°.778491 121 | 122 | 然后依次有: 123 | 124 | v = -ω = -54°.778491 125 | 126 | E = -54°.461669 127 | 128 | M = -54°.145475 129 | 130 | t = T - 33.7958 日 131 | 132 | 在例37.a,我们已经知道金星经过近日点的时间是T=1978年12月31.204。因此,我们有: 133 | 134 | t = 1978年11月27.408日 或 1978年11月27日10h TD。 135 | 136 | 重要注意 137 | 138 | 本章的算法是假设天体运动在无摄动的轨道上。要获得完全精度,应在预期的时间附近计算3个或5个时刻的天体日心黄纬。当然,在交点时,我们有黄纬 = 零。 139 | 140 | 1990年9月4日土星达到它的轨道的降交点(当日黄道上),在2005年1月8日达到升交点。 141 | 142 | 1984年12月21日天王星在降交点,2029年5月19日经过升交点。 143 | 144 | 对于海王星,我们有: 145 | 146 | 升交点:1920年06月03日 147 | 降交点:2003年08月11日 148 | 升交点:2084年12月30日 149 | -------------------------------------------------------------------------------- /content/part39.md: -------------------------------------------------------------------------------- 1 | 第39章 视差修正 2 | 3 | 4 | 5 | 译者注:观测者在两个不同位置看同一天体的方向之差。可用观测者的两个不同位置之间的连线(基线)对天体的张角来表示。天体的视差与天体到观测者的距离之间存在着简单的三角关系,因此能以视差的值表示天体的距离,而以此测定天体距离的方法称为三角视差法。在测定太阳系内天体的距离时,以地球半径为基线,所得视差称为周日视差。周日视差随着天体的高度变化而改变,当天体位于地平时,它的周日视差达到极大值,称为周日地平视差。当观测者位于赤道时,天体的周日地平视差具有最大值,称为赤道地平视差。在测定恒星的距离时,以地球绕太阳公转的轨道半长径(即太阳和地球的平均距离)为基线,所得视差称为周年视差。假设恒星位于黄极方向时的周年视差称为恒星周年视差,简称恒星视差,常用π表示。恒星视差只与恒星至太阳的距离有关,所以通常用π表示恒星距离。所有恒星的π值都小于1"。由于太阳在空间运动所产生的视差称为长期视差,也称视差动。它取太阳在一年里所走过的距离为基线。本章讲述的是周日视差。 6 | 假设已知一个星体(如月亮、太阳、行星、慧星)的地心坐标已知,我们希望计算它的“以地面某点为中心”的坐标。地心坐标:就象我们站在地球中心看天体位置。“地面”坐标:我们站在一个地面观测点看天体。“地面某点为中心”的坐标英语单词是"topocentric",地心坐标的英语单词是"Geocentric",它们都有一个"centric",表示"中心"的意思。对于"topocentric",我们可以参考希腊语:topos = place(位置,空间位置),再比较英语"Topology" = "拓朴,布局"。 7 | 8 | 译者注:为了翻译方例,下文将对“以地面某点为中心的坐标”简称为“站心坐标”,但要注意,本书所有翻译中,对坐标的描术如果含有“心”以,都是指“以...为中心”的坐标。比如“站心坐标”与“站点坐标”是完全不同的,前者指以某个观测站为中心的坐标,后者指站本身的位置坐标(只是未指明以谁为坐标中心)。“地平坐标”中没有含“心”字,通常默认是“站心地平坐标”,“赤道坐标”默认为“地心赤道坐标” 9 | 10 | --------------------- 11 | 12 | 站心赤道坐标中的视差 13 | 14 | 换句话说,当地心赤经α和赤纬δ已知,为了得到站心赤经α'=α+Δα赤纬δ'=δ+Δδ,我们需找到Δα和Δδ(赤经和赤纬的视差修正)。 15 | 16 | 设ρ是地心半径,φ'是观测者的地心纬度。ρsinφ'和ρcosφ'可以使用第10章描述的方法计算。 17 | 18 | 设π是星体的赤道地平视差。对于太阳、行星和慧星,经常适合使用它们到地球的距离Δ替代视差: 19 | 20 | 21 | 22 | 如果H是天体的地心时角,则有以下严格的公式: 23 | 24 | 25 | 26 | 对于赤纬,不必计算Δδ,用下式可直接算出δ': 27 | 28 | 29 | 30 | 除了月亮,以下不太严格的公式常代替(39.2)和(39.3): 31 | 32 | 33 | 34 | 如果π的单位是角秒,那么Δα和Δδ的单位也是角秒。Δα除以15以后可转为“秒”单位。 35 | 36 | 应注意,Δα是小角度,对于月亮,其值在-2度到+2度之间,当然,对于行星则非常小。 37 | 38 | 以下是可供选择的一种方法: 39 | 40 | 41 | 42 | ------------------------------------ 43 | 44 | 例39.a:——2003年8月28日 3h 17m 00s UT时,试计算火星的站心赤经和赤纬。观测点在Palomar天文台,由例10.a得到该地的: 45 | 46 | 47 | 48 | 这个时刻,火星的地心视赤道坐标,可由精确的星历表插值得到: 49 | 50 | 51 | 52 | 此时,行星的距离是0.37276AU,因此,由公式(39.1),得到它的赤道地平视差是π=23".592。 53 | 54 | 我们仍然需要地心时角,它等于 H = θo - L - α,式中θo是格林尼治视恒星时(可使用第11章的方法),对于这个时刻,θo = 1h 40m 45s,因此: 55 | 56 | 57 | 58 | 如果用不严格公式(39.4)和(39.5)代替(39.2)和(39.3),我们得到: 59 | 60 | 61 | 62 | ------------------------------------- 63 | 64 | 作为练习,对月亮执行计算,同样在Palomar天文台,使用以下虚构的数据,例如: 65 | 66 | 67 | 68 | 你先使用(39.2)和(39.3)计算。然后使用(39.6)和(39.7)计算。你将得到相同的结果。你再使用不严格表达式(39.4)和(39.5)计算,并比较结果的差别。 69 | 70 | 我们来考虑相反的问题,从已观测到的站心坐标α'和δ'推算出地心坐标α和δ。对行星和慧星,修正量Δα和Δδ是很小的,所以可以直接使用公式(39.4)和(39.5)得到,站心坐标减去这个修正量即可。 71 | 72 | -------------------------- 73 | 74 | 站心地平坐标中的视差 75 | 76 | 天顶的视差总是很小的(如果地球是个球形的,视差为零)。在地平上,天顶的视差总是小于π/300,式中π是天体的赤道地平视差。 77 | 78 | 由于视差,天体的视地平纬度小于“地心”纬度h。除了高精度的需要,地平纬度的视差p可用下式计算: 79 | 80 | sin(p) = ρsin(π)cos(h) 81 | 82 | 除了月亮,视差是很小的,所以可以认为p和π与它们的正弦量的相等的,所以:p = ρπcos(h) 83 | 84 | ρ是指观测者到地心的距离,以赤道半径为单位(详见第10章)。很多情况下,可简单写作ρ=1。 85 | 86 | --------------------------- 87 | 88 | 在黄道坐标中的视差 89 | 90 | 可以直接从“地心”黄道坐标计算出天体(月亮或行星)的地平坐标。以下公式由Joseph Johann von Littrow提供(《Theoretische and Pratische Astronomie》卷I,第91页,维也纳,1821),不过,形式上稍做修改。这些表达式是严格的。 91 | 92 | 设: 93 | λ= 天体的地心黄经 94 | β= 它的地心黄纬 95 | s = 它的地心视半径 96 | λ'β's'= 与上面相同的量,但它们站心坐标 97 | φ= 观测者纬度 98 | ε= 黄赤交角 99 | θ= 本地恒星时 100 | π= 天体的赤道地平视差 101 | 102 | 对于给定的位置,用第10章的方法计算出ρsinφ'和ρcosφ'。为了书写简捷,这两个量分别写为S和C,那么: 103 | 104 | 105 | 106 | ---------------------------- 107 | 108 | 作为练习,试计算λ'β's',使用以下数据: 109 | 110 | 111 | 112 | 答案: 113 | 114 | -------------------------------------------------------------------------------- /content/part40.md: -------------------------------------------------------------------------------- 1 | 第40章 行星圆面被照亮的比例及星等 2 | 3 | 4 | 5 | 从地球上看,行星圆面被照亮部分的比例,可由下式计算: 6 | 7 | k = ( 1 + cos i )/2 (40.1) 8 | 9 | 式中i是相位角,它由下式计算: 10 | 11 | cos i = ( r2 + Δ2 - R2 ) / (2rΔ) 12 | 13 | 式中r是行星到太阳的距离,Δ是它到地球的距离,R是日地距离,全部使用天文单位。 14 | 15 | 联立这两个公式,得: 16 | 17 | k = ( (r+Δ)2 - R2 )/(4rΔ) (40.2) 18 | 19 | 如果行星的位置已经使用第32章的“第一种方法”得到,那么我们有(使用原来的符号): 20 | 21 | cos i = ( R - Ro cos B cos (L - Lo) )/Δ (40.3) 或者 22 | 23 | cos i = ( x cos B cos L + y cos B sin L +z sin B )/Δ (40.4) 24 | 25 | 行星被照亮的边缘的中心的位置角,可以使用第51章月亮的计算方法。 26 | 27 | 例40.a ——计算1992年12月20日0h TD,金星圆面被照亮部分的比例。 28 | 29 | 在“例32.a”中,我们已得到该时刻的参数: 30 | 31 | r = 0.724604 (原处是R), R = 0.983824 (原处是Ro), Δ = 0.910947 32 | 33 | 因此,利用公式(40.2),k=0.647。 34 | 35 | 或者,使用“例32.a”中的:Lo和Ro(来自A式),L、B、R(来自B式),x、y、z(来自C式),及Δ=0.910947,再利用公式(40.3)和(40.4),这两式均得到cos(i)=0.29312,因此k=0.647,与上面的相同。 36 | 37 | ----------------------- 38 | 39 | 对于水星和金星,k的值在0到1之间。对于火星,k的值从不小于0.838(大约)。对于木星,相位角i总是小于12度,因此k的值在0.989到1之间变化。对于土星,i的值总是小于6.5度,所以从地球上看,该行星的k值仅在0.997到1之间变化。 40 | 41 | ----------------------- 42 | 43 | 在金星的情况下,k可以使用以下方法估算。 44 | 45 | 利用公式(21.1)计算出T。那么: 46 | 47 | V = 261°.51 + 22518°.443T 48 | 49 | M = 177°.53 + 35999°.050T 50 | 51 | M'= 50°.42 + 58517°.811T 52 | 53 | W = V + 1°.91 sin M + 0°.78 sin M' 54 | 55 | Δ2 = 1.52321 + 1.44666 cos W (Δ>0) 56 | 57 | k = ( (0.72333+Δ)2 - 1 )/(2.89332Δ) 58 | 59 | 另外,金星距角ψ的估值是:cosψ = (Δ2 + 0.4768)/(2Δ) 60 | 61 | 例40.b —— 和例40.a一样,但我们现在使用上面描术的估算法。 62 | 63 | 我们依次得到: 64 | 65 | 66 | 67 | 正确的值参见“例40.a”,是0.647。 68 | 69 | -------------------------- 70 | 71 | 行星的星等 72 | 73 | 从地球上看,某时刻行星的视(恒星)星等依赖于:行星到地球的距离Δ、它到太阳的距离(r)以及相位角(i)。对于土星,星等还与土星环的状态有关。 74 | 75 | G.Muller的公式基于1877到1891年的观测,曾在天文年历中使用多年。以下是可视星等的数值表达: 76 | 77 | 78 | 79 | 式中i的单位是度;r和Δ的单位是天文单位,对数计算是以10为底的。对于土星,ΔU和B与土星环有关,在第44章中定义;注意,ΔU和B应为正值,ΔU单位是度。(做为估算,相位角i可能用ΔU替换)。 80 | 81 | 当然,Muller的表达式并不完美。例如,对于木星,没有考虑相位角效果。土星的公式中,在阳的地平纬度B'在行星环之上没有考虑;当B和B'符号相反,环的暗的一边朝向地球,但Muller没有考虑这种情况。 82 | 83 | 在任何情况下,这样计算的星等应舍入到0.1,舍入到0.01是没有意义的。例如,火星本来的亮度的差异可达0.3星等,火星的一些区域的暗纹比其它区域多,所以一些行星的亮度与它们朝向我们的表面有关。极帽变化和较大的沙尘暴也会影响星等。对于木星和土星,还有变化的大气现象等。 84 | 85 | 例40.c ——1992年12月20.0 TD 金星的星等。 86 | 87 | 从例40.a,我们有:r = 0.724604, Δ = 0.910947, cos i = 0.29312 88 | 89 | 因此 i=72.96度。 90 | 91 | 由Muller的金星公式得:星等 = -3.8。 92 | 93 | 例40.d —— 1992年12月16.0 TD 土星的星等。 94 | 95 | 从例44.a,我们有:r = 9.867882, B = 16.442度, Δ = 10.464606,ΔU = 4.198度 96 | 97 | 由Muller的土星公式得:星等 = +0.9。 98 | 99 | ------------------------ 100 | 101 | 自从1984年,美国《天文年历》使用了其它计算行星可视星等的公式,并申明这些新的表达式是“D.L.Harris建立的”。事实上,在他的论文[3]中,Harris并没有提供新的表达式。 102 | 103 | 对于水星和金星,Harris(其论文的第277和288页)只是提到表达式是法国天文学家A.Danjon推导的。Harris讲到绝对星等和相位系数的值是他人创建的,而他自已并没有打算或给了新的表达式。 104 | 105 | 如果r、Δ(天文单位)、i(度单位)与前面所述的一样,1984年开始,《天文年历》使用的新的表达式是: 106 | 107 | 108 | 109 | 小行星的星等详见第32章。 110 | 111 | 参考资料 112 | 113 | 1、《天文历书的补充解释》(伦敦,1961),第314页。 114 | 2、1984年《天文年历》(华盛顿),第L8页;以及以后的卷。 115 | 3、Danjon Harris,"行星及某某星(原文看不清)的光度测量和色度测量",第8章(第272ff页)...(原文看不清) 116 | -------------------------------------------------------------------------------- /content/part45.md: -------------------------------------------------------------------------------- 1 | 第45章 月球位置 2 | 3 | 4 | 5 | 为了准确计算出某时刻月球的准确位置,须计算月球黄经黄纬及距离的数百个周期项。这已超出本书的范围,这里仅考虑主要的周期项,得到的黄经精度是10",纬度精度是4"。 6 | 7 | 利用本章描述的算法,可得到地心Date平黄道分点(译者注:平黄道与平赤道的升交点,近似春风点)的月心位置坐标:黄经(λ)、黄纬(β)及地心到月心距离(Δ千米)。另外,赤道地平视差π由下式获得: 8 | 9 | sinπ=6378.14/Δ 10 | 11 | 一、计算方法: 12 | 13 | 本章的周期项是基于ELP-2000/82月球理论。但L',D,M,M',F平参数使用Chapront的改进表达式。 14 | 15 | T使用21.1式计算,T表达为J2000起算的世纪数,并取足够的小数位数(至少9位,每0.000 000 001世纪月球移动1.7角秒)。 16 | 17 | 使用以下表达式计算角度L',D,M,M',F,角度单位是度。为避免出现大角度,最后结果还应转为0—360度。 18 | 19 | 月球平黄经: L'=218.3164591+481267.88134236T-0.0013268T^2+T^3/538841-T^4/65194000 20 | 月日距角: D =297.8502042+445267.1115168T-0.0016300T^2+T^3/545868-T^4/113065000 21 | 太阳平近点角:M =357.5291092+35999.0502909T-0.0001536T^2+T^3/24490000 22 | 月亮平近点角: M'=134.9634114+477198.8676313T+0.0089970T^2+T^3/69699-T^4/14712000 23 | 月球经度参数(到升交点的平角距离): 24 | F =93.2720993+483202.0175273T-0.0034029T^2-T^3/3526000+T^4/863310000 25 | 26 | 三个必要的参数: 27 | A1=119.75+131.849T 28 | A2= 53.09+479264.290T 29 | A3=313.45+481266.484T 30 | 31 | 取和计算45.A表中各项(ΣI及Σr),取和计算45.B表中各项(Σb)。ΣI与Σb是正弦项取和,Σr是余弦项取和。正余弦项表达为A*sin(θ)或A*cos(θ),式中的θ是表中D、M、M'、F的线性组合,组合系数在表45.A及45.B相应的列中,A是振幅。 32 | 33 | 以表45.A第8行为例: 34 | I8 = A*sin(θ) = +57066 * sin( 2D-M-M'+0 ) 35 | r8 = A*cos(θ) = -152138 * cos( 2D-M-M'+0 ) 36 | 同理可计算第1、2、3、4....各行,得到I1、I2、I3...及r1、r2、r3... 37 | 最后ΣI=I1+I2+I3+...;Σr=r1+r2+r3+... 38 | 39 | 然而,表中的这些项包含了了M(太阳平近点角),它与地球公转轨道的离心率有关,就目前而言离心率随时间不断减小。由于这个原因,振幅A实际上是个变量(并不是表中的常数),角度中含M或-M时,还须乘上E,含2M或-2M时须乘以E的平方进行修正。E的表达式如下: 40 | E = 1 - 0.002516T - 0.0000074T^2 41 | 42 | 此外,还要处理主要的行星摄动问题(A1与金星摄动相关,A2与木星摄动相关,L'与地球扁率摄动相关): 43 | 44 | ΣI += +3958 * sin( A1 ) 45 | + 1962 * sin( L' - F ) 46 | + 318 * sin( A2 ) 47 | 48 | Σb += -2235 * sin( L' ) 49 | + 382 * sin( A3) 50 | + 175 * sin( A1 - F ) 51 | + 175 * sin( A1 + F ) 52 | + 127 * sin( L' - M') 53 | - 115 * sin( L' + M') 54 | 55 | 最后得到月球的坐标如下: 56 | 57 | λ = L'+ ΣI/1000000 (黄经单位:度) 58 | β = Σb/1000000 (黄纬单位:度) 59 | Δ = 385000.56 + Σr/1000 (距离单位:千米) 60 | 61 | 因45.A及45.B表中的振幅系数的单位是10^-6度及10^-3千米,所以上式计算时除以1000000和1000。 62 | 63 | 二、两个计算用的表: 64 | 65 | 66 | [表45.A] 67 | 月球黄经周期项(ΣI)及距离(Σr). 68 | 黄经单位:0.000001度,距离单位:0.001千米. 69 | -------------------------------------------------- 70 | 角度的组合系数 ΣI的各项振幅A Σr的各项振幅A 71 | D M M' F (正弦振幅) (余弦振幅) 72 | -------------------------------------------------- 73 | 0 0 1 0 6288744 -20905355 74 | 2 0 -1 0 1274027 -3699111 75 | 2 0 0 0 658314 -2955968 76 | 0 0 2 0 213618 -569925 77 | 0 1 0 0 -185116 48888 78 | 0 0 0 2 -114332 -3149 79 | 2 0 -2 0 58793 246158 80 | 2 -1 -1 0 57066 -152138 81 | 2 0 1 0 53322 -170733 82 | 2 -1 0 0 45758 -204586 83 | 0 1 -1 0 -40923 -129620 84 | 1 0 0 0 -34720 108743 85 | 0 1 1 0 -30383 104755 86 | 2 0 0 -2 15327 10321 87 | 0 0 1 2 -12528 0 88 | 0 0 1 -2 10980 79661 89 | 4 0 -1 0 10675 -34782 90 | 0 0 3 0 10034 -23210 91 | 4 0 -2 0 8548 -21636 92 | 2 1 -1 0 -7888 24208 93 | 2 1 0 0 -6766 30824 94 | 1 0 -1 0 -5163 -8379 95 | 1 1 0 0 4987 -16675 96 | 2 -1 1 0 4036 -12831 97 | 2 0 2 0 3994 -10445 98 | 4 0 0 0 3861 -11650 99 | 2 0 -3 0 3665 14403 100 | 0 1 -2 0 -2689 -7003 101 | 2 0 -1 2 -2602 0 102 | 2 -1 -2 0 2390 10056 103 | 1 0 1 0 -2348 6322 104 | 2 -2 0 0 2236 -9884 105 | 0 1 2 0 -2120 5751 106 | 0 2 0 0 -2069 0 107 | 2 -2 -1 0 2048 -4950 108 | 2 0 1 -2 -1773 4130 109 | 2 0 0 2 -1595 0 110 | 4 -1 -1 0 1215 -3958 111 | 0 0 2 2 -1110 0 112 | 3 0 -1 0 -892 3258 113 | 2 1 1 0 -810 2616 114 | 4 -1 -2 0 759 -1897 115 | 0 2 -1 0 -713 -2117 116 | 2 2 -1 0 -700 2354 117 | 2 1 -2 0 691 0 118 | 2 -1 0 -2 596 0 119 | 4 0 1 0 549 -1423 120 | 0 0 4 0 537 -1117 121 | 4 -1 0 0 520 -1571 122 | 1 0 -2 0 -487 -1739 123 | 2 1 0 -2 -399 0 124 | 0 0 2 -2 -381 -4421 125 | 1 1 1 0 351 0 126 | 3 0 -2 0 -340 0 127 | 4 0 -3 0 330 0 128 | 2 -1 2 0 327 0 129 | 0 2 1 0 -323 1165 130 | 1 1 -1 0 299 0 131 | 2 0 3 0 294 0 132 | 2 0 -1 -2 0 8752 133 | 134 | -------------------------------------------------- 135 | 136 | [表45.B] 137 | 月球黄纬周期项(ΣI).单位:0.000001度. 138 | ------------------------------------- 139 | 角度的组合系数 ΣI的各项振幅A 140 | D M M' F (正弦振幅) 141 | ------------------------------------- 142 | 0 0 0 1 5128122 143 | 0 0 1 1 280602 144 | 0 0 1 -1 277693 145 | 2 0 0 -1 173237 146 | 2 0 -1 1 55413 147 | 2 0 -1 -1 46271 148 | 2 0 0 1 32573 149 | 0 0 2 1 17198 150 | 2 0 1 -1 9266 151 | 0 0 2 -1 8822 152 | 2 -1 0 -1 8216 153 | 2 0 -2 -1 4324 154 | 2 0 1 1 4200 155 | 2 1 0 -1 -3359 156 | 2 -1 -1 1 2463 157 | 2 -1 0 1 2211 158 | 2 -1 -1 -1 2065 159 | 0 1 -1 -1 -1870 160 | 4 0 -1 -1 1828 161 | 0 1 0 1 -1794 162 | 0 0 0 3 -1749 163 | 0 1 -1 1 -1565 164 | 1 0 0 1 -1491 165 | 0 1 1 1 -1475 166 | 0 1 1 -1 -1410 167 | 0 1 0 -1 -1344 168 | 1 0 0 -1 -1335 169 | 0 0 3 1 1107 170 | 4 0 0 -1 1021 171 | 4 0 -1 1 833 172 | 0 0 1 -3 777 173 | 4 0 -2 1 671 174 | 2 0 0 -3 607 175 | 2 0 2 -1 596 176 | 2 -1 1 -1 491 177 | 2 0 -2 1 -451 178 | 0 0 3 -1 439 179 | 2 0 2 1 422 180 | 2 0 -3 -1 421 181 | 2 1 -1 1 -366 182 | 2 1 0 1 -351 183 | 4 0 0 1 331 184 | 2 -1 1 1 315 185 | 2 -2 0 -1 302 186 | 0 0 1 3 -283 187 | 2 1 1 -1 -229 188 | 1 1 0 -1 223 189 | 1 1 0 1 223 190 | 0 1 -2 -1 -220 191 | 2 1 -1 -1 -220 192 | 1 0 1 1 -185 193 | 2 -1 -2 -1 181 194 | 0 1 2 1 -177 195 | 4 0 -2 -1 176 196 | 4 -1 -1 -1 166 197 | 1 0 1 -1 -164 198 | 4 0 1 -1 132 199 | 1 0 -1 -1 -119 200 | 4 -1 0 -1 115 201 | 2 -2 0 1 107 202 | ------------------------------------- 203 | 例45.a—— 计算月球的地心黄经、黄纬、距离及赤道视差,时间1992年4月0时(力学时), 结果如下: 204 | 205 | JDE = 2448724.5(儒略日) A1 = 109°.57 206 | T = -0.077221081451 A2 = 123°.78 207 | L'= 134°.290186 A3 = 229°.53 208 | D = 113°.842309 E = 1.000194 209 | M = 97°.643514 ΣI =-1127527 (含A1,A2等项) 210 | M'= 5°.150839 Σb =-3229127 (含A1,A2等项) 211 | F = 219°.889726 Σr =-16590875 212 | 213 | 从以上算出: 214 | λ = 134°.290186 - 1°.127527 = 133°.162659 215 | β = -3°.229127 = -3°13'45" 216 | Δ = 385000.56 - 16590.875 = 368409.7 km 217 | π = arcsine(6378.14/368409.7)=0°.991990=0°59'31".2 218 | 219 | 要获得地心视黄经,还应加上黄经章动(Δψ),Δψ = +16".595 = +0°.004610,得到: 220 | 221 | λ视=133°.162659 + 0°.004610 = 133°.167269 = 133°10'02" 222 | 223 | 瞬时黄赤交角 = 平黄赤交角(εo)+交角章动(Δε): 224 | 225 | ε=εo + Δε=23°26'26".29 = 23°.440636 (注:章动计算详见21章) 226 | 227 | 这样就可得到月球的地心视赤经和视赤纬: 228 | α = 134°.688473 = 8h 58m 45s.2 229 | δ = +13°.768366 =+13°46' 06" 230 | 231 | 利用完整的ELP-2000/82月球理论获得的准确值是(注:不妨同以上计算结果比较): 232 | λ = 133°10'00" α = 8h 58m 45s.1 233 | β = -3°13'45" δ = +13°46' 06" 234 | Δ = 368405.6 km π = 0°59' 31".2 235 | 236 | 三、月球的升交点和近地点 237 | 238 | 根据Chapront[2],月球升交点(平)黄经Ω 及(平)近点角π,可由以下二式计算(单位是度) 239 | 240 | Ω = 125.0445550 - 1934.1361849T + 0.0020762T^2 + T^3/467410 - T4/60616000 241 | 242 | π = 83.3532430 + 4069.0137111T - 0.0103238T^2 - T^3/80053 + T4/18999000 243 | 244 | 式中T的单位与上文的相同(即:J2000起算的世纪数).这些经度是指黄经(Date平黄道分点起算的经度)。 245 | 246 | 从Ω的公式中,我们可以找到升(或降)交点等于春风点的瞬时,即Ω=0°或180°。在1910至2110期间,这种情况发生在如下日期: 247 | 248 | ---------------------------- 249 | Ω=0° Ω=180° 250 | ---------------------------- 251 | 1913年05月27 1922年09月16 252 | 1932年01月06 1941年04月27 253 | 1950年08月17 1959年12月07 254 | 1969年03月29 1978年07月19 255 | 1987年11月08 1997年02月27 256 | 2006年06月19 2015年10月10 257 | 2025年01月29 2034年05月21 258 | 2043年09月10 2052年12月30 259 | 2062年04月22 2071年08月12 260 | 2080年12月01 2090年03月23 261 | 2099年07月13 2108年11月03 262 | -------------------------------------------------------------------------------- /content/part46.md: -------------------------------------------------------------------------------- 1 | 第46月章 月面被照亮部分 2 | 3 | 4 | 5 | 月亮表面被照亮的比例: 6 | 7 | 月面被照亮的部分用k来表示,它取决于从月心看地日的距角(注:所谓距角指星体到太阳的角距离),这个距角叫做相位角(i)。公式如下: 8 | k = ( 1+cos(i) ) / 2 ……46.1式 9 | 这个值是照亮区与整个月面的比例,也是与月角直径(图中NS)相垂直的直径(图中AC)的被照亮的长度与月面直径的比值(译者注:k=BC/AC),请参考下图。 10 | 11 | 12 | NCS = 被照亮的一面 13 | N = 北月角 14 | S = 南月角 15 | C = 被照亮的边缘的中点 16 | NOS = 月角连线 17 | NBS = 明暗分界线(一个弧) 18 | 月面被照亮的部分k = 长度比BC:AC = 面积比NBSC:NASC 19 | ------------------------- 20 | 地心观测的相位角i,可以使用以下方法得到。 21 | 首先,找出地心坐标中的月球距角Ψ(日月之间的角距离),可使用如下方法之一: 22 | cos(ψ) = sin(δo)*sin(δ) + cos(δo)*cos(δ)*cos(αo-α) ……46.2式 23 | cos(ψ) = cos(β)*cos(λ-λo) 24 | 式中,(αo、δo、λo)和(α、δ、λ)分别是地心坐标中太阳和月亮的(视赤经、视赤纬、视黄经),β是月球的地心黄纬。(译者注:请注意区分月心坐标下的地球距角i与地心坐标下的月球距角ψ,日月地连成三角形,i与ψ就是这个三角形中的二个角。) 25 | 然后,我们有以下下算式: 26 | tan(i) = R*sin(ψ)/(Δ-R*cos(ψ)) ……46.3式 27 | 式中R是日地距离,Δ是月地距离,二者的距离单位是千米。ψ和i在均在0到180度之间。当i已知,则可由46.1式算出。 28 | 当然,计算k是不需要高精度的日、月的地心位置坐标。1分的精度已经足够了。 29 | 如果高精度要求不高,使用cos(i) = - cos(ψ)计算i即可, 这样计算,k的结果误差不会超过0.0014。 30 | 较低精度下,使用如下忽略月球纬度的方法计算i的近似值,结果仍然比较好: 31 | i=180°- D ……46.4式 32 | -6°.289*sin(M') 33 | +2°.100*sin(M) 34 | -1°.274*sin(2D-M') 35 | -0°.658*sin(2D) 36 | -0°.214*sin(2M') 37 | -0°.110*sin(D) 38 | 式中角度D、M和M’通过(45.2)式和(45.4)式得到。在这种情况下,无需计算日月的地心位置坐标。 39 | ----------------------------- 40 | 月亮明亮边缘的位置角(月亮的弓背中点C的位置角) 41 | 42 | 月亮明亮边缘的位置角χ是月亮被照亮部分的边缘的中点C的位置角,χ角是从月面北点朝东方转到C点,不是从月球自转轴起算(也不是从北月角起算,译者注:沿北极到月心再到南极画经圈,该经圈与月面上方的交点就是北点)。可以通过下面的公式得到: 43 | tan(χ) = cos(δo)*sin(αo-α) / 44 | ( sin(δo)*cos(δ) – cos(δo)*sin(δ)*cos(αo-α) ) ……46.5式 45 | 式中α0 ,δ0 ,α 和δ的含意和前面的相同。 46 | 角χ在270度左右是上弦月,90度左右是满月。应使用ANT2函数计算角χ,确保结果在正确地象限里。公式(46.5)里的分子、分母是ANT2()的两个传入参数。 47 | 当χ表示月亮被照亮边缘中点的位置角,那么南北两个月角的位置角是χ+90度和χ-90度。 48 | 使角χ的好处是,它明确定义了月亮被照亮面的边缘。 49 | 要注意的是:角χ不是从天顶开始测量的,被照亮面边缘的天顶角是χ-q,这里q是视差角(参见第11章)。 50 | 最后,46.5式还可以的应用于行星的计算。 51 | ----------------------------- 52 | 例46.a —— 1992年4月12日0 TD时刻的月亮 53 | 在例子45.a中我们得到了那一时间的: 54 | α = 134°.6885 55 | δ = +13°.7684 56 | Δ = 368 408 km 57 | 同一时刻的太阳的视位置和距离是: 58 | αo = 1h 22m 37s.9 = 20°.6579 59 | δo = +8o41'47" = +8°.6964 60 | R = 1.002 4977 AU = 149971520 km 61 | 根据公式(46.2)由cos(Ψ) = -0.354 991,得到Ψ = 110.7929度。然后可得 62 | tan(i) = +2.615 403,使用46.3式得到 63 | i = 69°.0756 64 | 接下来,根据46.1式,k = 0.6786,约等于是0.68。 65 | 如果我们使用近似关系cos (i) = - cos(ψ),我们算得k = 0.6775,也约等于0.68。 66 | 现在我们使用近似式46.4计算。在例子45.a中我们得到瞬时值: 67 | D = 113°.8423 68 | M = 97°.6435 69 | M'= 5°.1508 70 | 然后使用公式(46.4)得到i=68°.88,再通过公式(46.1)得到k = 0.6802,也约等于0.68。 71 | 最后,依照公式(46.5)得到: 72 | tan(χ) = (-0.90283) / (+0.24266) 73 | 得 χ = 285.0度 74 | -------------------------------------------------------------------------------- /content/part47.md: -------------------------------------------------------------------------------- 1 | 第47章 月相 2 | 3 | 4 | 新月,半满上弦月,满月,半满下弦月时刻依照如下的精确定义,分别是在月亮视黄经与太阳视黄经相差为0°,90°,180°,270°那个时刻。 5 | 6 | 因此,计算这些时刻的月相,需要分别计算太阳和月亮的视黄经。(然而,章动的影响可以忽略,因为黄经章动Δψ对太阳和月亮乃至其它星体的影响是一样的,计算日月视黄经之差时章动部分完全相消) 7 | 8 | 如果对精度要求不高,可以使用本章描述的方法计算月相。这些公式基于Chapront’s ELP-2000/82月亮理论(在45章中说过该理论已改善了M,M’等参数),以及Bretagnon和Francou的VSOP行星理论的太阳计算部分。时间使用历书儒略日(JDE),因此是力学时。 9 | 10 | 以下是平月相的时间,它已修正了太阳光差及月球光行时: 11 | JDE = 2451 550.09765 + 29.530 588 853*k + 0.0001337*T2 - 0.000000150*T3 + 0.00000000073*T4 ……(47.1式) 12 | 13 | 式中k是给定的新月的一个整数值,当k的值 14 | 增加了0.25,为“平半满上弦月”时刻; 15 | 增加了0.50,为“平满月“时刻; 16 | 增加了0.75,为“平半满下弦月”时刻。 17 | 18 | 任意其他的k值将导致没有意义的结果!2000年1月6日相应的值是k=0。计算2000年以前的月相,k取负数。例如: 19 | +479.00 和 -2793.00 对应于新月, 20 | +479.25 和 -2792.75 对应于半满上弦月, 21 | +479.50 和 -2792.50 对应于满月, 22 | +479.75 和 -2792.25 对应于半满下弦月。 23 | 24 | k可以通过下面的公式近似得到:k ≈ (year – 2000)*12.3685 ……47.2式 25 | 26 | 式中的“year”是带小数点的十进制数,例如1987.25表示1987年3月末(因为这0.25年是从1987年的年首起算的)。这个符号“≈”表示“约等于”。 27 | 28 | 最后, 47.1式里T是J2000.0起算的儒略世纪数,用下式可得到足够的精度:T = k/1236.85 ……47.3式 29 | 30 | 因此在历元J2000.0之前是负数的。 31 | 32 | 接下来,通过使用式45.6式计算E,以及下面的几个角度。这些角度的单位是度,如果需要,可将它们转到0—360度。如果有必要,还可以转换为弧度表示。 33 | 34 | JDE时刻的角参数: 35 | 36 | 太阳平近点角: M = 2.5534 + 29.10535669k - 0.0000218T2 - 0.00000011T3 ……47.4式 37 | 月亮的平近点角: M'= 201.5643 + 385.81693528k + 0.0107438T2 + 0.00001239T3 - 0.000000058T4 ……47.5式 38 | 月亮的纬度参数: F = 160.7108 + 390.67050274k - 0.0016341T2 - 0.00000227T3 + 0.000000011T4 ……47.6式 39 | 月亮轨道升交点经度:Ω= 124.7746 - 1.56375580k + 0.0020691T2 + 0.00000215T3 ……47.7式 40 | 41 | 行星的参数: 42 | 43 | A1 = 299.77 + 0.107408k - 0.009173T2 44 | A2 = 251.88 + 0.016321k 45 | A3 = 251.83 + 26.651886k 46 | A4 = 349.42 + 36.412478k 47 | A5 = 84.66 + 18.206239k 48 | A6 = 141.74 + 53.303771k 49 | A7 = 207.14 + 2.453732k 50 | A8 = 154.84 + 7.306860k 51 | A9 = 34.52 + 27.261239k 52 | A10= 207.19 + 0.121824k 53 | A11= 291.34 + 1.844379k 54 | A12=161.72 + 24.198154k 55 | A13= 239.56 + 25.513099k 56 | A14= 331.55 + 3.592518k 57 | 58 | 要计算真月相(视月相)发生的时刻,请对JDE加上下面的修正,以日为单位: 59 | 60 | 61 | 62 | 仅仅在半满相位时要做下面的计算: 63 | 64 | W = 0.00306 - 0.00038*E*cos(M) + 0.00026*cos(M’) - 0.00002*cos(M’-M) + 0.00002*cos(M’+M)+0.00002*cos(2*F) 65 | 66 | 附加修正: 67 | 半满上弦月:+ W 68 | 半满下弦月:- W 69 | 70 | 给所有月相时刻另外加上的修正量An/1000000,式中An为以下14个参数的和: 71 | 72 | 325sin(A1) + 165sin(A2) + 164sin(A3) + 126sin(A4) + 110sin(A5) + 73 | 62sin(A6) + 60sin(A7) + 56sin(A8) + 47sin(A9) + 42sin(A10) + 74 | 40sin(A11) + 37sin(A12) + 35(sin(A13) + 23sin(A14) 75 | 76 | 例47.a ——计算1977年2月产生新月的那一时刻。 77 | 78 | 1977年2月中旬相当于1977.13,因此我们使用公式(47.2): 79 | k ≈ (1977.13 – 2000)*12.3685 = -282.87 80 | 81 | 根据在新月时刻k是整数k=-283。然后依照公式(47.3)得到T=-0.22881,之后再用公式(47.1)得:JDE = 2443192.94101 82 | 83 | 根据k=-283和T=-0.22881我们又将进一步得到: 84 | E = 1.0005753 85 | M = -8234°.2625 = 45°.7375 86 | M'= -108984°.6278 = 95°.3722 87 | F = -110399°.0416 = 120°.9584 88 | Ω= 576°.3176 = 207°.3176 89 | 90 | 累加第一组周期参数(新月)结果是-0.28916,需要的14个额外修正参数是-0.00068。因此,新月真实的时间是: 91 | 92 | JDE = 2443192.94101 – 0.28916 – 0.00068 = 2443192.65117 93 | 94 | 这相当于1977年2月18.15117 TD = 1977年2月18,3h37m41s TD 95 | 96 | 通过ELP-2000/82理论计算出的正确结果是3h37m40s TD。 97 | 98 | 在1977年2月,ΔT=TD-UT的结果实际等于48秒。因此,1977年2月18日的新月出现在世界时3h37m。可以参看例子9.a。 99 | 100 | 例47.b——计算公元2044年第一个半满下弦月出现的时间。 101 | 102 | 这里‘year’=2044,公式(47.2)得到k≈+544.21,所以我们将使用的值是k=+544.75。 103 | 104 | 然后,使用公式(47.1),JDE=2467 636.88595。 105 | 106 | 累加第一组周期参数(半满下弦月)=-0.39153。 107 | 108 | 半满下弦月附加修正参数=-W=-0.0251。 109 | 110 | 累加14个附加修正参数=-0.00007。 111 | 112 | 因此半满下弦月的时间是:2467636.88595 - 0.39153 – 0.00251 – 0.00007 = 2467636.49184,相当于2044年1月21日,23h48m15s TD。 113 | 114 | 误差: 115 | 116 | 我们比较了从1980年到2020年中期,本章描述的算法得出的结果和ELP-2000/82以及VSOP 87理论得出的精确时间。 117 | 118 | 项目 平均 最大误差(秒) 119 | 新月 3.6 16.4 120 | 上弦 3.8 15.3 121 | 满月 3.8 17.4 122 | 下弦 3.8 13.0 123 | 全部相位的平均误差 = 3.72秒 124 | 125 | 如果允许一些分钟级的误差,我们可以去掉微小的14个周期参数。 126 | 127 | 两个连续新月的平均间隔时间是29.530 589天,或29天12小时44分03秒。这个叫日月合朔周期。不过,因受到太阳的强列摄动,连续的新月之间的时间间隔(或叫做阴历月),变化非常大。参看表47.A或者参考文献[1]。 128 | 129 | 表47.A(在1900到2100年之间,极短和极长的阴历月) 130 | 新月日期 下一个月 阴历月的时期 131 | 1903年6月25日 1903年7月24日 29天06小时35分 132 | 2035年6月 6日 2035年7月 5日 29天06小时39分 133 | 2053年6月16日 2053年7月15日 29天06小时35分 134 | 2071年6月27日 2053年7月27日 29天06小时36分 135 | 136 | 1955年12月14日 1956年1月13日 29天19小时54分 137 | 1973年12月24日 1974年1月23日 29天19小时55分 138 | 139 | 参考文献 140 | 141 | 1. J.Meeus,《‘Les durěes extrêmes de la lunaison’,l’Astronomie》(法国天文学家),102卷,288-289页(1988年7-8月)。 142 | -------------------------------------------------------------------------------- /content/part48.md: -------------------------------------------------------------------------------- 1 | 第48章 月亮的近地点的远地点 2 | 3 | 4 | 在本章,将描述一种近似计算月亮与地球之间距离的最小值(近地点)和最大值(远地点)的方法。计算出的时间结果是儒略历书日(JDE),因此是均匀的时间(力学时间)。我们的表达式基于Chapront's的月球理论ELP-2000/82,并包含D、M等的改进表达表(在第45章中已提到)。 5 | 6 | 首先,利用下式计算平近点或远点时刻: 7 | 8 | JDE = 2451534.6698 + 27.55454988k - 0.0006886T2 - 0.000001098T3 + 0.0000000052T4 (48.1) 9 | 10 | 式中,k是整数对应近点,增加0.5则是远点。重要:其它k值是毫无意义的! 11 | 12 | 当k=0时,对应1999年12月22日的近点。所以,例如: 13 | k = +318 和 -25,对应近点 14 | k = +429.5 和-1209.5 对应远点 15 | k = +224.87 是个错误的值 16 | 17 | K的估计值由下式得到: 18 | 19 | k ≈ (year - 1999.97)*13.2555 (48.2) 20 | 21 | 式中"year"是带小数的,例如2041.33,对应2041年4月。 22 | 23 | 最后,公式(48.1)中的T是儒略世纪数,历元2000.0起算。由于式可得到足够使用的精度: 24 | 25 | T = k/1325.55 (48.3) 26 | 27 | 计算以下角度。它们的单位是度,还可以转到0到360度范围。如果需要,还可以转为弧度。 28 | 29 | JDE时刻的月亮平距角: 30 | 31 | D = 171.9179 + 335.9106046k - 0.0100250T2 - 0.00001156T3 + 0.000000055T4 32 | 33 | 太阳平近点角: 34 | 35 | M = 347.3477 + 27.1577721k - 0.0008323T2 - 0.0000010T3 36 | 37 | 月亮纬度参数: 38 | 39 | F = 316.6109 + 364.5287911k - 0.0125131T2 - 0.0000148T3 40 | 41 | 由公式(48.1)得到JDE,对表48.A中的各周期项求和,根据情况,选择近点的数据或远点的数据。 42 | 43 | 月亮的赤道地平视差,通过对表48.B各周期项取和计算得到。 44 | 45 | 从表48.A和48.B看出: 46 | 47 | ——时间计算,周期项使用正弦。视差计算,使用余弦。 48 | ——达到某一指定的系数值,近点的周期项比远点的周期项多。 49 | ——依次含有"2D"倍数的序列(如2D-M,4D-M,6D-M等),在近地点中,其系数的正负号是交错的,而在远地点的表中,其系数的符号是相同的。 50 | ——最大的周期项系数(角参数为2D的那个周期项),近地点的要比远地点的大得多。其造成的结果是,最大可能的平近地点与真近地点的差值可达45小时,而对于远点,这个差值最多13个小时。还有,月亮的近地点距离变化范围很大(大约在356370到370350千米之间),比远地点距离(404050到406720行米)变化大。 51 | 52 | ------------------------------ 53 | 54 | 例48.a ——计算1988年10月的月亮远地点。 55 | 56 | 因为初始时间是10月,对应0.75年(当年的年首起算),所以 year = 1988.75。把它代入公式(48.2),得到k≈-148.73。因此,我们取k=-148.5(远点!)。 57 | 58 | 由公式(48.3)和(48.1)得: 59 | 60 | T = -0.112029 JDE = 2447442.8191 61 | 62 | 然后,我们得: 63 | 64 | D = -49710°.8070 = 329°.1930 65 | 66 | M = -3685°.5815 = 274°.4185 67 | 68 | F = -53815°.9147 = 184°.0853 69 | 70 | 对48.A(选择远点数据)各项取和 = -0.4654日 71 | 72 | 对48.B(选择远点数据)各项取和 = 3240.679 73 | 74 | 因此,远地点对应时间是:JDE = 2447442.8191 - 0.4654 = 2447442.3537 75 | 76 | 它对应1988年10月7日20h 29m TD。相应月亮的赤道地平视差是3240".679,或0°54'00".679。 77 | 78 | 准确值是20h 30m TD和0°54'00".671 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 使用本章描术的方法,我们计算了月亮的600个近地点和600个远地点,也就是从1977年6月到2022年8月。与ELP-2000/82理论的精确结果比较,最大误差如下: 87 | 88 | 时间的误差:近地点31分,远地点3分 89 | 视差的误差:近地点0".124,远地点0".051 90 | 相应的距离误差分别是:12km和6km 91 | 92 | 这600个计算时间的误差分布如下: 93 | 94 | 误差值 近地点 远地点 95 | 1分 151 478 96 | 2分 264 589 97 | 3分 385 599 98 | 4分 460 99 | 5分 492 100 | 10分 572 101 | 102 | 两次连续的近地点,平均时间间隔是27.5545日(或27天13时19分),这就是月亮的近地点周期。然而,由于太阳的摄动,连续近地点的具体时间间隔变化很大,在极值24天16小时到28天13小时之间。例如: 103 | 104 | 近地点:1997年12月09日16h.9 105 | 近地点:1998年01月03日08h.5 106 | 相差:24天16小时 107 | 108 | 近地点:1990年12月02日10h.8 109 | 近地点:1990年12月30日23h.8 110 | 相差:28天13小时 111 | 112 | 然而,两次连续远地点的时间间隔的变化范围比较窄,即在26.98到27.90天之间(26天23.5小时和27天21.5小时)。 113 | 114 | ------------------------------- 115 | 116 | 月亮近地点和远地点距离的极值 117 | 118 | 在1500年到2500年之前,14次月亮接近地球小于356425km,同样次数距离超过406710km。这些情况列表于表48.C。日期是UT日期。 119 | 120 | 计算时采有Chapront的月球运动理论ELP-2000/82,我们忽略了所有周期项系数小于0.0005km(50 厘米)。计算表明,在1000年范围内,地球中心到月球中心的距离的极值是: 121 | 122 | 2257年1月1日:356371km 123 | 2266年1月7日:406720km 124 | 125 | 20世纪的最小近地点发生在1912年1月4日,早期,已被《天空和望远镜》副主编Roger W.Sinnott发现。 126 | 127 | 我们看到,这些近地点和远地点的极值全部发生在南半球科天月份,周期是年(地球靠近太阳)。显然,日地距离的变化有点影响月地距离。 128 | 129 | 130 | 131 | ----------------------- 132 | 133 | 参考资料 134 | 135 | 1、Roger W.Sinnott,1981年3月4日给Jean Meeus的信件。 136 | 2、J.Meeus"月亮近日点与远日点的极值",《天空和望远镜》卷62,第110-111页(1981年8月)。 137 | 138 |   139 | -------------------------------------------------------------------------------- /content/part50.md: -------------------------------------------------------------------------------- 1 | 第50章 月亮的最大赤纬 2 | 3 | 4 | 5 | 月亮轨道平面与黄道平面的夹角是5度。因此,在天空中,月亮基本上沿道黄道运动,每运动一周(27天),它将达到最大北纬(在金牛座,双子座,或者在北部猎户座),两星期后,它将达到最大南纬(人马座或Ophiuchus座)。 6 | 7 | 因为月亮轨道与黄道的夹角是5度,天赤道与黄道的夹角是23度,所以月亮赤纬的大约在18度到28度(北或南)之间。当月亮轨道升交在春风点附近(如1987年,参见第45章末尾),月亮达很高的北纬或南纬,大约+28.5度和-28.5度,这样的位置每18.6年重复,它是月亮升交点旋转运动的周期。 8 | 9 | 在本章,将给出一种大约计算月亮最大赤纬发生时刻的方法,以及此刻的纬度值。得到的数据是月亮面中心的地心坐标数据。 10 | 11 | 设k是整数,负数对应公元2000年以前。每个k依次对应月亮的各个最大南纬或北纬。当k=0对应2000年1月。重要:k取非整数值是毫无意义的。 12 | 13 | 用下式计算k的估计值: 14 | 15 | 16 | 17 | 式中的year可以带小数。然后:T = k/1336.86。 18 | 19 | 以下角度的单位是度,方括号内的数据用于南纬。 20 | 21 | 22 | 23 | 最大北纬或南纬对应的时间是: 24 | 25 | 26 | 27 | 在表50.A中,周期项含有M(太阳平近点角)的,应乘上E,E由公式(45.6)得到,表中使用"*"指出了这些项。 28 | 29 | 最大赤纬由下式计算,单位是度: 30 | 31 | 32 | 33 | 在表50.B中,周期含有"*"号的应乘以E。应注意,得到的是最大赤纬的绝对值,在计算最大南纬时,这个赤纬并没有负号。 34 | 35 | 36 | 37 | 38 | 39 | 例50.a:——1988年12月,月亮的最大北纬。 40 | 41 | 由公式(50.1)得year=1988.95,我们得到k≈-148.12,所以取k=-148。因此: 42 | 43 | 44 | 45 | 我们得到 JDE = 2447518.3347,对应 1988年12月22.8347日 = 1988年12月22日 20h 02m TD。 46 | 47 | 正确值是 12月22日 20h 01m TD。 48 | 49 | 得到的最大北纬是 +28°.1562 = +28°09'22"。正确值是 +28°09'13"。 50 | 51 | ----------------------------- 52 | 53 | 例50.b:——如果我们计算最大南纬,k = +659,我们得到 JDE = 2469533.0834,对应 2049年4月21日 14h TD,赤纬是δ=22°.1384,所以最大南纬是-22°.08'。 54 | 55 | ---------------------------- 56 | 57 | 例50.c:——若计算 公元-4年3月中旬的月亮最大北纬,我们有year = "-4年之后0.2年",所以 year = -4+0.2=-3.8,不是-4.2! 58 | 59 | 那么 k 的大约值是 -26788.40,因此k=-26788(是一个整数!)。 60 | 61 | 然后,我们得到 JDE =1719672.1337,对应 -4年3月16日 15h TD。 62 | 63 | 最大北纬 = 28°.9739 = +28°58'。 64 | 65 | ------------------------------ 66 | 67 | 使用本章描述的方法,我们计算了600个最大北韦和600个最大南纬,即从1977年8月到2022年6月。最大时间误差为10分,最大赤纬值的最大误差是26"。误差小于3分钟的占69%,误差小于10"的占74%。 68 | 69 | 表50.A和50.B的周期项系数,是使用历元2000.0的黄赤交角计算的。这造成的后果是,随时间的增加,结果的误差变大,但是在-1000年到+5000年最大可能误差不超过半小时。 70 | 71 |   72 | -------------------------------------------------------------------------------- /content/part51.md: -------------------------------------------------------------------------------- 1 | 第51章 月面计算 2 | 3 | 4 | 5 | 视觉天平动(几何天平动) 6 | 7 | 月球自转的平周期等于它绕地球运转的平恒星周期。月球平赤道与黄道的交角是个常数I,在月球平赤道面与月球轨道面的交线上包含了月亮赤道的降交点(轨道的升交点)。 8 | 9 | 因此,从平均效果来看,月亮的同一半球面总是朝向地球的。但时,由于天平动(视摆动),月亮表面可视部分有所增加。天平动:主要是由于观测点与月球的几何位置发生变化,在视觉上月亮好像在摆动,称为几何天平动;另外,在地球引力的作用于,月球自转轴也会发生真实的摆动,称为物理天平动,不过它比几何天平动要小得多。[译者注:本段的部分文字看不清,限于译者水平,无法译出,故猜测原作者的意图,间接翻译,可能不够准确] 10 | 11 | 月亮视圆面的“平”中心是月面学坐标系统的参考点(在月亮表面)。[译者注:平中心在月球的平赤道上,以月心为坐标原点,以“平”中心作为起点参考的坐标,经度是自西向东测量为正,下文译为月心坐标,如月心月面经纬度等。]月球子午圈是经过视月面平中心的的子午圈,月面经度是从月亮子午圈起算的,向 Mare Crisium(在月面上)为正,即,在地心天球向西测量为正。月面纬度是从月亮赤道面起算的,向北为正,也就是包含Mare Serenitatis的半球为正。 12 | 13 | 任意时刻,月面视中心到平中心的偏差是天平动效果总和的表现。这个偏差量是从此刻的视中心开始测量的。 14 | 15 | 地球的月心经度纬度,可在天文年历中得到,它实际上就是,站在地心看到的月面视中心的月心坐标(由于地于周日运动,在地心与在地平看到的月面中心是不同的),也就是说地球的月心坐标等于月面视中心的月心坐标。反过来看,如果站在月面视中心,则地心在天顶。当经度天平动(即地球的月心经度)为正时,月面平中心在天球上是向东的,那么月面西边缘区域将看到更多一些。当地球的月面纬度为正时,月面平中心朝南,那么北边缘区域将显示出来。 16 | 17 | 视觉经度天平动l'及纬度天平动b'可以使用以下方法得到。设: 18 | 19 | I = 月亮赤道与黄道的夹角,即1°32'32".7=1°.54242。该值取自IAU。 20 | λ= 月亮的地心视黄经 21 | β= 月亮的地心视黄纬 22 | Δψ= 黄经章动(见第21章) 23 | F = 月亮的纬度参数,可由公式(45.5)得到 24 | Ω= 月亮轨道升交点平黄经,由公式(45.7)得到 25 | 26 | 那么有: 27 | 28 | 29 | 30 | 式中λ已考虑了章动,所以λ-Δψ表示不含章动的月亮视黄经。 31 | 32 | ------------------------------ 33 | 34 | 物理天平动 35 | 36 | 实际上,月亮自转轴围绕它的“平”自转轴运动,这种运动叫做“物理天平动”。物理天平动比几何天平动小得多,其经度和纬度天平动均不超过0.04度。 37 | 38 | 物理经度天平动(L")和物理纬度天平动(b")可按如下方法计算。总天平动是几何天平动与物理天平动之和:l = l' + l", b = b' + b" 39 | 40 | 利用D.H.Eckhardt的表达式计算出ρ、σ、τ,式中的角度D、M和M'利用公式(45.2)和(45.4)得到,E则利用(45.6)计算,角度K1和K2(单位是度)用下式计算: 41 | 42 | 43 | 44 | 式中的T是J2000.0 = JDE 2451545.0起算的儒略世纪数(36525日)。 45 | 46 | 47 | 48 | 那么有: 49 | 50 | 51 | 52 | ---------------------------- 53 | 54 | 月亮自转轴的位置角 55 | 56 | 月亮自转轴的位置角P,如同行星自转轴的定义(详见第41章和42章)。可按如下方法计算,已考虑了物理天平动。 57 | 58 | I、Ω、Δψ、ρ、σ和b的含义与前面的相同,设α是月亮的地心视赤经,ε是黄赤交角。那么: 59 | 60 | 61 | 62 | 角度ω应置于“正确的象限”,可以使用二参数的反正切函数,ω=ATN2(X,Y)。如果你的程序设计语言中没有这个函数,可以先算出X/Y,再用常规的反正切函数计算,如果Y<0,则ω应加上180度。 63 | 64 | 角度P不能置于第一或第四象限。 65 | 66 | ----------------------- 67 | 68 | 例51.a:——月亮,1992年4月12日0h TD。 69 | 70 | 71 | 72 | --------------------------- 73 | 74 | 站心天平动(在地面站点上看到的天平动) 75 | 76 | 为了精确的得到观测站的天平动等的值,地心看到的天平动和月球自转轴位置角应转换到站心(地表上的观测点)。对于天平动,差值可达1度,所以对月亮可视边缘的影响较大。 77 | 78 | 站心经度和纬度天平动以及月球自转轴位置角,可以直接计算出,也可以由地心值修正得到。 79 | 80 | (a)、直接计算。——使用以上的公式,但月亮的地心坐标λβα应改为站心坐标值。月亮的站心赤经赤纬可由公式(39.2)和(39.3)得到;黄道坐标λ和β使用常规转换公式(12.1)和(12.2)转为站心黄经和黄纬。 81 | 82 | (b)、差值修正法。——设φ是站点的纬度,δ月亮的地心赤纬,H是月亮的本地时角(用本地恒星时和地心赤经算出),π是月亮的地心地平视差。然后计算: 83 | 84 | 85 | 86 | 然后,对地心天平动(l,b)及位置角(P)修正: 87 | 88 | 89 | 90 | 这些公式来自参考[2]。 91 | 92 | ----------------------------- 93 | 94 | 太阳的月心月心坐标 95 | 96 | 太阳的月心坐标决定了月球被照量的区域。 97 | 98 | 太阳在月面上的直射点的月心经度是lo纬度是bo,站在该点上,太阳在天顶。利用公式(51.1)可计算出该点坐标,但应把公式中的月亮的地心黄道坐标λ和β换为月亮的日心黄道坐标λH和βH。用下式可取得足够的精度: 99 | 100 | 101 | 102 | 式中λo是太阳的地心视黄经。Δ/R是地月距离与地日距离的比值,因此Δ和R的单位必须相同,比如同时使用千米单位。如果R表达为天文单位,π是月球的赤道地平视差(单位是角秒),那么: 103 | 104 | Δ/R=8.794/(πR) 105 | 106 | 因此,要计算lo和bo,应先算出λH和 βH,然后利用公式(5.1),λ用λH代入,β用βH代入;得到的是l'o和b'o。接下来用同样的公式算出ρ、σ、τ,由(51.2)式得到l"o和b"o,当然,用b'o代换b',那么有: 107 | 108 | 109 | 110 | 用90度或450度减去lo,得到在太阳的余经度Co。(译者注:太阳的月心经度是向东测量的,而Co是向西测量的月面晨线经度,所以这里是“减lo”而不是“加lo”) 111 | 112 | lo(或Co)和bo决定了月面上晨昏线(明暗分界线)的精确位置。太阳直射点在(lo,bo),它是月亮被照量半球的最大圆的极点。在月亮的晨线上,太阳升起,晨线的月心经度是lo-90°或360°-Co,昏线的月心经度是lo+90°或180°-Co.当月心经度为0处太阳升起,大约是在半满上弦月,而满月、半满下弦月、新月时,Co的大约值分别是90°、180°和270°,相应的晨线经度是270°、180°和90°. 113 | 114 | 应当注意,lo是随时间减小的,Co是随时增加的。它们的每日的“平”运动与月亮的平距角D的相同,即12.190749度。 115 | 116 | [译者注:月面平中心的的经度是0度。如下图是满月的情形。月球自西向东自转,所以图中左边缘为晨线,右边缘为昏线] 117 | 118 | 119 | 120 | -------------------- 121 | 122 | 在月面上的一点,月心经纬度分别是η和θ,当Co=360°-η,日出(Co是向西测量的晨线经度,随时间增加);当Co=90°-η时是正午,当Co=180°-η时是日落。某时刻,太阳的月面地平高度h可由下式精确计算: 123 | 124 | 125 | 126 | --------------------------- 127 | 128 | 例51.b:——月亮,在1992年4月12日0h TD. 129 | 130 | 本例中,我们利用VSOP87和ELP-2000/82理论精确计算得到: 131 | 132 | 133 | 134 | 其它相关的量已经在“例51.a”中得到,那么我们有: 135 | 136 | 137 | 138 | --------------------------- 139 | 140 | 参考资料 141 | 142 | 1、D.H.Eckhardt,《月球和行星》,“月球天平动理论”,卷25,第3页(1981) 143 | 2、《天文历书的补充解释》,(伦敦,1961),第324页 144 | -------------------------------------------------------------------------------- /content/part52.md: -------------------------------------------------------------------------------- 1 | 第52章 日月食 2 | 3 | 4 | 5 | 无需太多的计算,就可精确获得日月食的主要特点。日食情况是比较复杂,在地面上不同的观测位置,事件发生的时间是不同的。而对于月食,所有的观测者将在同一时刻看到相同的月相。 6 | 7 | 由于这个原因,我们将不考虑各地的日食情况。有兴趣的读者可以使用贝塞尔根计算各地的日食情况。贝塞尔根数出版在每年的《天文历书》(1981年开始更名为《天文年历》),公元-2003年到+2526年所有日食的贝塞尔根数可以在Mucke和Meeus[1]的著作中找到。Meeus[2]已发表了现代的精确的贝塞尔根数。这两本著作给出了贝塞尔根素以及他们所用的公式,并含有数值范例。 8 | 9 | Espenak出版了一部著作[3],给出了1986到2035年的日全食(或日环食)的路径,并带有那个时期所月日食的漂亮的的世界地图。然而,这本著作不包含贝塞尔根数,所以它不提供计算额外数据的可能性,如,无法计算全食或环食路径之外的当地日食情况。 10 | 11 | 让我们提一下Stephenson和Houlden的一本著作[4],它包含了公元前1500到公元1900年可见日全食和日环食的数据及章节。 12 | 13 | ------------------------ 14 | 15 | 一般数据 16 | 17 | 首先,利用公式(49.1)和(47.3)计算平新月和平满月时刻(JDE)。记住,对于新月(日食),k必须是一个整数,对应满月(月食),k为整数加0.5。 18 | 19 | 然后,利用公式(47.4)到(47.7)计算此时的角度M、M'、F和Ω,并利用公式(45.6)式计算E. 20 | 21 | F的值将给出发生日食或月食的首要信息。如果F与整倍数的180度的差值小于13°.9,那么肯定要发生日月食,如果大于21°.0,那就没有日月食。如果在这两个值之间,则不能确定是否有日月食,还须进一步检查。可以使用以下规则:如果|sin F|>0.36,则没有日月食。 22 | 23 | 注意,在一个阴历月以后,F增加了30°.6705。 24 | 25 | 如果F接近0°或360°,那么日月食出现在升交点。如果F接近180度,那么食点出现在月亮轨道的降交点。 26 | 27 | 计算: 28 | 29 | 30 | 31 | 那么,要取得最大食的时间(对于地球一般是日食),使用(47.1)平会合时间加上以下修正(单位是天)。 32 | 33 | 34 | 35 | 当然,如果需要高精度,不能使用这个算法。在公元1951到2050年的221个日食,这种方法计算最大食的平均误差是0.36分钟,最大误差是1.1分。 36 | 37 | 然后计算: 38 | 39 | 40 | 41 | --------------------------- 42 | 43 | 日食 44 | 45 | 在日食情况下,γ表示月影轴到地心的最小距离,单位是地球赤道半径。注意,月影轴是一条线,地心是一个点,最小距离指点到线的最小距离。当月影轴经过地心以南时,γ为正,经过地心以北时γ为负,当γ在+0.9972到-0.9972时,日食中心是:在地球表面上存在一条日食中央线,影轴在地表经过的那条线。 46 | 47 | u表示月亮影锥在基平面上的半径,单位也是地球半径。基平面指:经过地心并且垂直月亮影轴的平面。半影锥在基平面上的半径是 u + 0.5461 48 | 49 | 如果|γ|在0.9972到1.5433+u之间,则没有日食中心,是一个部分食。不过,当|γ|在0.9972到1.0260之间的时候,影锥的一部分可能触及地表(在地球两极地区),而锥轴则没有碰到地球。当0.9972<|γ|<0.9972+|u|时,是没有中心的全食或环食(因锥轴不经过地表,所以没有中心)。在1950到2100年期间,有7次这种类型的日食: 50 | 51 | 52 | 53 | 如果|γ|>1.5433+u,在地球表面上看不到日食。 54 | 55 | 对于有中心的日食,食的类型由以下规则决定: 56 | 57 | 如果 u<0,是全食 58 | 如果 u>+0.0047,是环食 59 | 如果 u介于0到+0.0047,是环食或全环食 60 | 61 | [注:全环食是混合食,上述的食的中心线附近的区域常称为食带,在这一食带上,有的地方是全食,有的地方即是环食,这种情况是混合食] 62 | 63 | 在最后一种情况,可用以下方法确定食的类型: 64 | 65 | 66 | 67 | 当u<ω时,是全环食,否则是环食。 68 | 69 | 在部分食的情况下,最大食发生在地表上距离影轴最近的那个点。在该点,食的程度(译者注:大概指食分吧)是: 70 | 71 | 72 | 73 | -------------------------- 74 | 75 | 月食 76 | 77 | 在月食的情况下,γ表示月亮中心到地影轴的最小距离,单位是地球赤道半径。γ是正还是负,取决于月亮中心经过地影轴的北边或是南边。在月亮上的半径,单位是地球直径: 78 | 79 | 80 | 81 | 食的程度(食分)有下式计算: 82 | 83 | 84 | 85 | 如食分为负值,说明没有月食,参考例52.c。 86 | 87 | 在本影的部分食和全部食的持续时间计算: 88 | 89 | 90 | 91 | 半持续时间,单位是分: 92 | 93 | 94 | 95 | 在半影,部分食持续时间:先算出 H = 1.5573+u,那么半时长是(单位分钟): 96 | 97 | 98 | 99 | 应注意,月亮触到半影是不能直接观测到的(须特殊影像处理才可能看到),大部分半影食(月亮仅进入地球半影)不能人眼分辨出来。只有在食的程度较深也能看到月亮北部或南部边缘微弱的明暗变化。 100 | 101 | 在以上的公式中,地球大气层引导的本影锥量论半径的增量已经考虑了。然而,传统的规则是包含理论半径的1/50,自从1951年(Connaissance des Temps——见参考[5])曾建议这种方法。与"法国规则"的结果比较,传统规则的本影月食的食分约大了0.005,半影的大约0.026。 102 | 103 | 为了能够根据传统规则(1/50)得到结果,以上表达式中的常数应做更改: 104 | 1.2848 换为 1.2985 105 | 0.7403 换为 0.7432 106 | 1.5573 换为 1.5710 107 | 1.0128 换为 1.0157 108 | 0.4678 换为 0.4707 109 | 110 | 为了预测月食,就象各种天文年历那样,通常假设半影和本影是精确的圆,并使用地球的平均半径。事实上,“影”与“正圆锥”有点不同,就象地球不是真正的圆球。由简的几何考虑,地球本影在月球处,比地球还要扁一些,本影的平均扁率是1/214 [6]。真偏率多半还要大些。从1974-1989观测的18次月食,Soulsby[7]发现平均扁率是1/102。 111 | 112 | ----------------------- 113 | 114 | 例52.a:——1993年3月21日的日食。 115 | 116 | 3月21日是该年的第141天,所以该日期对应1993.38。那么,由公式(47.2)得: 117 | 118 | k ≈ -81.88,因此 k = -82 119 | 120 | 利用公式(47.3)和(47.1)得:JDE = 2449128.5894 121 | 122 | 我们进一步得到: 123 | 124 | 125 | 126 | 因为180°-F介于13°.9到21°.0,这个日食没是中心线。我们进一步得到: 127 | 128 | 129 | 130 | 因为|γ|介于0.9972到1.5433+u之间,所以是个部分食。使用公式(52.2),得到最大食分是: 131 | 132 | 133 | 134 | 因为F接近180度,所以日食发生在月亮轨道的降交点。因为γ是正值,所以在地球的北半球日食可见。 135 | 136 | 利用公式(52.1)得到最大食的时刻: 137 | 138 | 139 | 140 | 对应1993年3月21日 14h 21m.0 TD 141 | 142 | 使用精确方法[2]计算的正确结果是 14h 20m 14s TD,γ=+1.1370,最大食分是0.735。 143 | 144 | -------------------------- 145 | 146 | 例52.b:——2009年7月22日的日食。 147 | 148 | 如同上一例题,我们得到: 149 | 150 | 151 | 152 | 正确的值是 JDE = 2455034.6088 = 2009年7月22日 2h 37m TD. 153 | 154 | 155 | 156 | 因为|γ|<0.9972,这个月食有中心线。因为u是负值,所以是全食。因为|γ|很小,所以在赤道地区日食可见。因为F≈180°,日食发生在月亮轨道降交点附近。 157 | 158 | ---------------------------- 159 | 160 | 例52.c:——1973年7月的月食。 161 | 162 | 我们依次得到: 163 | 164 | 165 | 166 | 月食发生在月亮升交点(F≈360°),月球中心经过地影中心的南部(因为γ<0)。 167 | 168 | 根据公式(52.4),在本影的食分等于-0.609。因为它是负值,所以在本影没有月食,使用公式(52.3)我们得到半影食分是0.463。因此这是个半影食。 169 | 170 | 根据Connaissance des Temps,最大食(食甚)发生在20h 50m.7 TD,半影食的食分是0.469。 171 | 172 | ----------------------- 173 | 174 | 例52.d:——1997年7月1日之后的首个月食。 175 | 176 | 时间是1997.5,由公式(47.2)得k≈-30.92,所以我们偿试k=-30.5,得到F=125°.2605,它与整倍180°相差超过21°,所以没有月食。 177 | 178 | 下一个满月,k=-29.5,得到F=155°.9310,也没有月食。但是,再下一个满月,F≈187°,出现月食了。如同前几例,我们得到: 179 | 180 | 181 | 182 | 正确的 JDE = 2450708.2835 = 1997年9月16日 18h 48m.2 TD 或 18h 47m UT(如果我们采用ΔT=TD-UT=+63秒)。 183 | 184 | 185 | 186 | 由公式(52.4)得到食分为1.187。因此,这是一个本影全食。 187 | 188 | 189 | 190 | 因此,(UT时间): 191 | 192 | 193 | 194 | --------------------------------- 195 | 196 | 关于精度 197 | 198 | 本章的算法不打算获得很高的精度。还有,如果用于历史研究或没有高精度要求的情况下,这里得到的月食精度一般是足够的。另一方面,本章开头部分已经说过,高精度的现代日食可以使用日食根数获到。 199 | 200 | γ的计算公式并不导出严格的精确结果。原因是明显的,在计算P和Q时,只用了12个周期项,而高精度的日月位置计算需要几百个项才能得到。再有,公式(52.2)、(52.3)、(52.4)以及P、T、n和H也不是严格精确的。 201 | 202 | 对于1951到2050年的221个日食,使用本章算法得到的γ的平均误差是0.00065,最大误差是0.0024,对应15km。考虑到我们的公式是简单的,这样的精度是很满意的。 203 | 204 | 在前面的内容中,当结果处于临界限制条件时,食的类型仍然是未知的。在这种情况下,就需要更精确的计算来解决问题。 205 | 206 | 进一步看,在查找食的过程时,应考虑一个小的临界范围,以确保没有食被忽略。例如,正确的中心食的条件是|γ|<0.9972 (*),临界值可以考虑使用1.000或甚至1.005,这样,当使用本章算法计算γ时,才可找到所有可能发生的中心食。 207 | 208 | (*)事实上,对于不同的食,常数0.9972的变化值在0.9970到0.9974之间。 209 | 210 | 以下是个例子。 211 | 212 | 1935年1月5日( k = -804 ),我们的方法得到γ = -1.5395,u = -0.00464,因此|γ| > u+1.5433 = 1.5387,所以认为那天没有日食。公式(52.2)得到食分的值是-0.002(负值!)。然而,正确的γ是-1.5383,所以在1935年1月5日仍有个很小的部分食,食分是0.001。 213 | 214 | 1947年4月30(k=-528)的日食,我们的算法得到γ=+0.9966,所以认为是个有中心的食。精确是γ=0.9990,所以是个无中心的日环食。 215 | 216 | 1890年11月26日(k=-1349.5)的月食,我们的算法得到在本影的食分是-0.007。事实上,它是个十分小的本影部分食。 217 | 218 | ------------------------ 219 | 220 | 练习 221 | 222 | 找出1979年的第一个日食,证明它是个北半球可视的全食。 223 | 224 | 1977年4月的日食是全食还是环食? 225 | 226 | 证明1947年7月没有日食。 227 | 228 | 证明2000年有4次日食,这四次都是部分食。 229 | 230 | 证明2008年1月没有月食。 231 | 232 | 证明1982年有3次月全食。 233 | 234 | 找出1234年的第一个月食。(答案:1234年3月17日,部分食) 235 | 236 | ------------------------------ 237 | 238 | 参考 239 | 240 | 1、H.Mucke,J.Meeus,《日食规则》,-2003到+2526;Astronomisches Buro(Wien,1983) 241 | 2、J.Meeus,《日食根数》,1951到2200(Willmann-Bell出版社,1989) 242 | 3、F.Espenak,《50年日食规则》,1986到2035;NASA 参考出版 1178 (华盛顿,1987) 243 | 4、F.R.Stephenson,M.A.Houlden,《历史日月食地图集》,剑桥大学出版社(1986)。 244 | 5、A.Danjon,"Les eclipses de Lune par la penombre en 1951" 245 | 6、J.Meeus,"Die Abplattung des Erdschattens bei Mondfinsternissen",Die Sterne,卷45,第116—117(1969)。 246 | 7、B.W.Soulsby,英国Astron杂志,Assoc,卷100,第297页(1990年12月) 247 | -------------------------------------------------------------------------------- /content/part53.md: -------------------------------------------------------------------------------- 1 | 第53章 日月行星的视半径 2 | 3 | 4 | 太阳和行星 5 | 6 | 太阳和行星的视半径由下式计算:s = so / Δ 7 | 8 | 式中so是天体的半径,单位是天文单位。Δ是天体到地球的距离,单位是天文单位。 9 | 10 | 对于太阳,采用以下值:so = 15'59".63 = 959".63 11 | 12 | 对于行星,以下值曾经采用多年: 13 | 14 | 水星:3".34 15 | 金星:8".41 16 | 火星:4".68 17 | 木星:赤道98".47 两极91".91 18 | 土星:赤道83".33 两极74".57 19 | 天王星:34".28 20 | 海王星:36".56 (A) 21 | 后来,采用以下值: 22 | 23 | 水星:3".36 24 | 金星:8".34 25 | 火星:4".68 26 | 木星:赤道98".44 两极92".06 27 | 土星:赤道82".73 两极73".82 28 | 天王星:35".02 29 | 海王星:33".50 30 | 冥王星: 2".07 (B) 31 | 注意,根据后来的值,海王星比天王星小。 32 | 33 | 对于金星,值8".34,指从地球上看它的地壳半径,而不是指它的云层。由于这个原因,当计算诸如中天、凌日、星食等天文现象时,我们采用旧值8".41。 34 | 35 | 对于土星,设a和b分别是赤道半径和极半径,单位是天文单位。那么赤道视半径se和极视半径sp分别由下式得到: 36 | 37 | se = a/Δ 38 | 39 | sp = se sqrt ( 1 - k cos2B ) 40 | 41 | 式中 k = 1-(b/a)^2,B是“以土星为中心”的纬度(详见第44章)。如果采用(A)的值,即a=83".33,b=74".57,那么k=0.199197;如果采用(B)的值,那么k=0.203800。 42 | 43 | 严格的说,这种方法也可应用于木星。但是,这个行星的角度B(在第42章中称为DE)不超过4°,所以,通常使用sp = b/Δ就可以了。 44 | 45 | 月亮 46 | 47 | 设Δ是地球中心到月球中心到的距离(单位是千米),π是月球的赤道地平视差,s是月亮的地心视半径,k是月亮平均半径与地球赤道半径的比值。在1963到1968年的天文历书中,日月食计算中取k=0.272481,我们也延用这个值。 48 | 49 | 我们有以下严格的公式: 50 | 51 | sin π = 6378.14/Δ 和 sin s = k sin π 52 | 53 | 但多数情况下,使用下式就已足够: 54 | 55 | s(单位:角秒) = 358473400/Δ 56 | 57 | 与精确表达式比较,其误差小于0.0005角秒。 58 | 59 | 有这种方法计算,得到的是月亮的地心视半径,也就是假设有个观察者站在地心看月亮。在地面上(站心)看到的月亮视半径s',比在地心上稍微大一些,由下式计算: 60 | 61 | sin s' = sin(s)/q = sin(π) k/q 62 | 63 | 式中q由公式(39.7)得到。站心到到月亮中心的距离是Δ'=q*Δ 64 | 65 | 作为一种选择,月亮的站心视半径s',可用下式计算乘以地心视半径,在很多应用中其精度是足够的: 66 | 67 | 1 + sin h sin π 68 | 69 | 式中h是月亮的地平纬度 70 | 71 | 由于观测都不在地心,所以月亮视半径增加了。月亮在地平线上,增量为0,在天顶时,增量达最大(在14"到18"之间)。 72 | 73 | 参考资料 74 | 75 | 1、A.Auwers,《Astronomische Nachrichten》,卷128,3068号,杂志专栏367(1891) 76 | 2、例如查阅《天文历书》1980,第550页 77 | 3、《1984年天文年历》,第E43页 78 | -------------------------------------------------------------------------------- /content/part54.md: -------------------------------------------------------------------------------- 1 | 第54章 恒星的星等 2 | 3 | 4 | 恒星星等相加 5 | 6 | 如果两颗恒星的星等分别是m1和m2,它们的合星等m可由下式计算: 7 | 8 | x = 0.4 ( m2 - m1 ) 9 | 10 | m = m2 - 2.5 log ( 10x + 1 ) 11 | 12 | 式中的对数运算是以10为底的。 13 | 14 | 例54.a:Castor(αGem)的星等组合是1.96和2.89,计算合星等。 15 | 16 | 我们得到: 17 | 18 | x = 0.4 ( 2.89 - 1.96 ) = 0.372 19 | 20 | m = 2.89 - 2.5 log ( 100.372 + 1 ) =1.58 21 | 22 | ----------------------------- 23 | 24 | 如果超过两颗星,星等分别为m1,m2,...,mi,... 用下式可得到较好的合星等m 25 | 26 | m = -2.5 log Σ10-0.4mi 27 | 28 | 式中,对数运算是以10为底的。符号∑指取和计算所有的: 29 | 30 | 10-0.4mi 31 | 32 | ---------------------------- 33 | 34 | 例54.b:——三星βMon的星等组合是4.73、5.22和5.60。计算合星等。 35 | 36 | m = -2.5 log ( 10-0.4*4.73 +10-0.4*5.22 +10-0.4*5.60 ) 37 | = -2.5 log ( 0.01282 + 0.00817 + 0.00575 ) = 3.93 38 | 39 | ---------------------------- 40 | 41 | 例54.c:试计算一个星群的合星等,设星群包含: 42 | 43 | 4 恒星群(平均)星等 5.0 44 | 14 —— 6.0 45 | 23 —— 7.0 46 | 38 —— 8.0 47 | 解: 48 | 49 | 4*10-0.4*5 = 0.04000 50 | 14*10-0.4*6 = 0.05574 51 | 23*10-0.4*7 = 0.03645 52 | 38*10-0.4*8 = 0.02398 53 | 54 | 取各 Σ = 0.15617 55 | 56 | 合星等 = -2.5 log 0.15617 = +2.02 57 | 58 | ----------------------------- 59 | 60 | 亮度之比 61 | 62 | 如果两颗恒星的星等分别是m1和m2,它的是视亮度之比可由下式计算: 63 | 64 | x = 0.4(m2-m1) I1/I2 = 10x 65 | 66 | 如果亮度之比I1/I2已知,对应的星等之差Δm=m2-m1可由下式计算: 67 | 68 | Δm = 2.5 log(I1/I2) 69 | 70 | --------------------------------- 71 | 72 | 例54.d: Vega(星等是0.14)比Polaris(星等是2.12)亮几倍? 73 | 74 | x = 0.4 ( 2.12 - 0.14 ) = 0.792 75 | 76 | 10x = 6.19 77 | 78 | 因此,Vege的亮度是Pole恒星的6.19倍。 79 | 80 | 例54.e 某颗恒星的亮度是另一颗恒星的500倍,对应的星等之差是: 81 | 82 | Δm = 2.5 log 500 =6.75 83 | 84 | -------------------------------- 85 | 86 | 距离与绝对星等 87 | 88 | 如果π是恒星视差,单位是角秒,这个恒星与我们的距离是: 89 | 90 | 1/π秒差距,或3.2616光年 91 | 92 | 如果π是恒星视差,单位是角秒,m是恒星的视星等,它的绝对星等由下式计算: 93 | 94 | M = m + 5 + 5 log π 95 | 96 | 式中的对数计算是以10为底的。 97 | 98 | 如果d恒星的距离,单位是秒差距,我们有: 99 | 100 | M = m + 5 - 5 log d 101 | 102 | 与太阳系内的视差(见第39章)不同,这里的视差恒星周年视差,是地球绕太阳周年运动引起的,所以它不是指与地球尺寸相关的那个视差。 103 | 104 | “秒差距”是长度单位,它等于某点对地球轨道半径(1AU)的张角为1"(视差为1")时的距离。“秒差距”的英文是“parsec”,它是视差(parallax)与秒(second)的缩写。 105 | 106 | 1秒差距 = 3.2616光年 107 | = 206265天文单位 108 | = 30.8568*10^12千米 109 | 110 | 恒星的绝对星等是指:我们位于距恒星10(秒差距)的地方得到的恒星视星等。 111 | -------------------------------------------------------------------------------- /content/part55.md: -------------------------------------------------------------------------------- 1 | 第55章 双星 2 | 3 | 4 | 5 | 双星的轨道要素如下: 6 | 7 | P = 旋转周期,单位是平太阳年 8 | T = 经过近点的时刻,一般表达形式为带小数点的年,如1945.62 9 | e = 轨道离心率 10 | a = 半长轴,单位是角秒 11 | i = 真轨道面与视直线的垂直面之前的夹角。在视视道上由西向东(顺行)运动,i则在0到90度,逆行,则i在90到180度。当i=90度时,视轨道是一条经过主星的直线。 12 | Ω= 升交点的位置角。 13 | ω= 近星点的经度。这是直轨道上的一个角度,从升交点开如测量到近星点,总是沿运动方向测量。 14 | 15 | 当轨道要素已知,t时刻的视位置角θ和角距离ρ可由下式计算: 16 | 17 | n = 360°/P, M = n ( t - T ) 18 | 19 | 式中t的单位是年,与T类似,可带小数点;n是伴星的平每年运动,单位是度,总是正值。M是t时刻伴星的平近点角。 20 | 21 | 然后,解开普勒方程:E = M + e sin E 22 | 23 | 解法详见第29章。然后由下式计算径矢r和真近点角v: 24 | 25 | r = a ( 1 - e cos E ) 26 | 27 | tan v/2 = √(1+e)/(1-e) tan(E/2) 28 | 29 | 然后由下式计算 (θ - Ω ) 30 | 31 | tan (θ - Ω ) = [ sin ( v + ω) cos i ]/ cos ( v + ω) (55.1) 32 | 33 | 当然,公式可改写为: 34 | 35 | tan (θ - Ω ) = tan ( v + ω ) cos i 36 | 37 | 但是,在这种情况下,(θ-Ω)的正确象限不好确定。而用上一式,则可以使用本书已提到过的ANT2函数,(55.1)式的分子和分母分别做为它的参数,这样得到的(θ-Ω)立刻在正确象限。 38 | 39 | 当(θ-Ω)得到了,加上Ω就得到θ。如果需要,可把结果转到0到360度。 40 | 41 | 应记住,根据定义,位置角为0度对应北方向,90度向东,180度向南,270向西。因此,如果0°<θ<180°,在天球的周日运动中,伴星“回绕”主星旋转(译者注:这是天顶的旋转引起的视效果);如果180°<θ<360°,则主星“回绕”伴星旋转。 42 | 43 | 角度差由下式计算: 44 | 45 | ρ = r cos ( v + ω ) / cos (θ - Ω) 46 | 47 | 例55.a:根据E.Silbernagel(1929),η Coronae Borealis的轨道要素: 48 | 49 | P = 41.623年 i = 59°.025 50 | T = 1934.008 Ω = 23°.717 51 | e = 0.2763 ω =219°.907 52 | a = 0".907 53 | 54 | 试计算历元1980.0时的θ和ρ 55 | 56 | 我们依次得到: 57 | 58 | n = 8.64906 59 | t-T = 1980.0 - 1934.008 = 45.992 60 | M = 397°.788 = 37°.788 61 | E = 49°.897 62 | r = 0".74557 63 | v = 63°.416 64 | 65 | tan(θ-Ω) = (-0.500813)/(+0.230440) 66 | 67 | θ-Ω = -65°.291 68 | θ = -41°.574 = 318°.4 69 | ρ = 0".411 70 | 71 | 作为一个练习:计算γVirginis的星历,使用以下轨道要素[1]: 72 | 73 | P = 168.68年 i = 148°.0 74 | T = 2005.13 Ω = 36°.9 (2000.0) 75 | e = 0.885 ω = 256°.5 76 | a = 3".697 77 | 78 | 答案:——以下是每隔4年的星历,从1980年开始。位置角θ随时间减小,因为i介于90度到180度。 79 | 80 | 年 θ(度) ρ(角秒) 81 | 1980.0 296.65 3.78 82 | 1984.0 293.10 3.43 83 | 1988.0 288.70 3.04 84 | 1992.0 282.89 2.60 85 | 1996.0 274.41 2.08 86 | 2000.0 259.34 1.45 87 | 2004.0 208.67 0.59 88 | 2008.0 35.54 1.04 89 | 2012.0 12.72 1.87 90 | 最小距离(0".36)出现在历元2005.21。 91 | 92 | 位置角θ涉及2000.0平赤道,角Ω也是同样的历元。 93 | 94 | ----------------------- 95 | 96 | 视轨道的离心率 97 | 98 | 双星的视轨道是一个椭圆,它的离心率e'一般与真轨道的离心率e不同。我们可能有兴趣知道e',虽然视离心率没有天体物理学意义。 99 | 100 | 以下公式由作者[2]导出: 101 | 102 | A = (1 - e2 cos2ω) cos2 i 103 | 104 | B = e2 sin ω cos ω cos i 105 | 106 | C = 1 - e2 sin2ω 107 | 108 | D = ( A - C )2 + 4B2 109 | 110 | e'2 = 2√D / ( A + C +√D ) 111 | 112 | 应注意,e'不受轨道要素a和Ω约束,它可能大于或小于离心率e。 113 | 114 | 例55.b:计算η Coronae Borealis的视轨道离心率。轨道要素在“例55.a”中已提供。 115 | 116 | 我们得到: 117 | 118 | A = 0.25298 119 | B = 0.01934 120 | C = 0.96858 121 | D = 0.51358 122 | 123 | e' = 0.860 124 | 125 | 因此,视轨道比真轨道偏长。 126 | 127 | 参考资料 128 | 129 | 1、W.D.Heintz,"15个可视双星的轨道",《天文学和天体物理学,补编系列》,卷82,第65—69页(1990)。 130 | 2、J.Meeus,"双星视轨道离心率",英国Astron杂志,副教授,卷89,第485—488页(8月19/9)。 131 | --------------------------------------------------------------------------------