古人的确不知道地球绕着太阳转。但是运动是相对的,运动的参照物选取不同,运动的表现形式也不同,但其本质是一样的。地球围绕太阳的运动,也可以转换为太阳绕着地球在运动。
太阳绕着地球运动,这种运动就叫做太阳的“周年视运动”。晚上我们仰望天空,就会觉得整个天空是一个以地球为球心的球体,日月星辰都镶嵌在这个球体上。——这个球就叫做“天球”,日月星辰(严格来说是它们的投影)都在这个天球上运动。
太阳周年视运动,就是地球公转在天球上的投影。太阳在天球上的运动轨迹就叫“黄道”,月球在天球上的运行轨迹就叫“白道”,对了,天球还有赤道,那是地球赤道在天球上的投影。
包括日月星辰在内的所有星体在天球上的运动都是可以观察和测量的,现在你知道古人是怎么算出来一年的长度了吧?——对的,就是测量太阳在黄道上运行的周期。
具体用什么方法测量呢?首先要明白,太阳的周年视运动的直观表现,就是它从南到北、又从北到南的回归性。简单地讲,就是夏至时太阳最靠近北方,然后慢慢南移,到冬至时最靠近南方,然后又慢慢北移。直观地来看,就是冬至时物体的影子最长,夏至时影子最短。
那么现在就好办了,要测量回归年(也就是太阳在黄道上运行一周的时间),我们只需要测出两个冬至之间的时间就行了。——所以,要首先确定冬至是什么时候(也就是冬至点)。
怎么确定冬至呢?也很简单,在地上立根杆子,然后看一年中影子最长的那个时间点,就是冬至了。这个东西,叫做圭表,也就是测量回归年用的工具,立着的那个叫“表”,也就是我们前面说的杆子,用来产生影的,水平的那个叫“圭”,也就是一个刻度尺,上面有刻度,用来测量影子长度的。
原理说起来很简单,但在实际操作中就很复杂了,因为这主要牵扯到一个测量精度问题。因为杆的影子边缘不可能是清晰的,总是模模糊糊的,这就使得测杆影总不能精确。最早,人们想的解决办法是尽可能将刻度细化,从分到厘,到毫,到秒。但是,对提高测量精度帮助不大。
最后的完美方案是元朝郭守敬提出的。他在河南登封建造了一座观象台。
这个观象台和普通的圭表相比,第一个优点是高大,其高度是普通圭表的5倍,这样一来,影子也就相应变长,利于测量。此外,更加重要的是,郭守敬发明了一个辅助观测仪器,叫“景符”。
景符其实就是一个有旋转轴的铜片,可以在底座上上下旋转,铜片的正中有一个小孔,测量是,将景符放在观象台的水平圭尺上,太阳光通过观象台顶部的缺口照射下来,在顶部缺口处放置一横梁,在地面上的水平圭尺上就会有一道横梁的阴影,然后移动景符,使阴影通过景符上的小孔,利用小孔成像的原理,在圭尺上就会产生一个内含横梁的太阳影像,调解景符,使得横梁中分太阳影像,这时小孔成像中横梁所在的刻度,就是竖表的影长。
坚持测量,一年中影长最长的那一时刻,就是冬至点,两个冬至点之间的时长,就是一个回归年长度。郭守敬所测量的回归年长度为365.2425天,和现代测量值365.2422天高度一致。
但是,冬至点不可能总在正午,如果单纯靠观测,很难得到365.2425这么一个精确的数值。确实是的。一个小数点后4位数的精确数值,是不可能靠观测(尤其是古代的观测)得到的。这个数据其实是对观测数据进行处理后,才能得出的。而这个数据处理方法,则是祖冲之发明的。
祖冲之曾经详细论述过他是如何处理数据,从而得到精确冬至点的。他说:“大明五年十月十日影一丈七寸七分半,十一月二十五日一丈八寸一分太,二十六日一丈七寸五分强,折取其中,则中天冬至应在十一月三日。求其蚤(早)晚,令后二日影相减,则一日差率也,倍之为法;前二日减,以百刻乘之为实。以法除实,得冬至加时在夜半后三十一刻,在元嘉历后一日,天数之正也。”
这段话翻译成白话文,就是说刘宋大明5年10月10日这天测量的影长为10.775尺,11月25日影长为10.8175尺(“太”是古代的一个计数符号,是最小单位的3/4),26日影长为10.7508尺(“强”也是古代的一个计数符号,是最小单位的1/12)。那么,现在求冬至点的准确时刻。
我们不翻译祖冲之的原文了,而现代数学语言进行说明。首先,我们知道冬至是在10月10日到11月25日之间的(你问怎么知道的,按照几百上千你的测量经验知道的),而且,我们可以做这样的假设:冬至点前后的影长变化是对称的(也就是冬至点前一刻和后一刻影长相等)。
那么,现在就可以进行数据处理了。做这样一个图,横轴是时间,纵轴是影长。设A点为10月10日,其影长为a(a=10.775),B点是11月25日,影长为b(b=10.8175),C点是11月26日,影长为c(c=10.7508)。
冬至点必然在AB之间,咱们假设是E点,在这一时刻,影长最长。D点为AB的中点(因为A是10月10日,B是11月25日,则D点可知,为11月3日0刻)现在要求E点,则我们只需要算出DE长度就行了。
因为b>c,所以在B、C之间,必然有一个A的对称点A1,其影长a1=a。
DE=AE-AD (1)
AE=(AB+BA1)/2 (2)
AD=AB/2 (3)
将(2)、(3)式代入(1)式,得DE=BA1/2 (4)
根据三角形相似性原理,(b-a1)/(b-c)=BA1/BC
所以,BA1=(b-a1)·BC/(b-c)
因为BC为25日至26日,即1昼夜时长,而1昼夜即为100刻(古代百刻制计时,一昼夜为100刻),
因此BA1=100(b-a)/(b-c)
将其代入(4)式,得
DE=50×(b-a)/(b-c)
所以,DE=50×(10.8175-10.775)/(10.8175-10.7508)=31(刻)
也就是说,大明5年的冬至点是在11月3日子时31刻。
祖冲之发明的这个算法,成为了以后中国人求冬至点的经典算法,郭守敬也是采用这个算法。郭守敬经过自己的测量,同时采用了自祖冲之以来,他认为最精确的6个冬至点的数据,最后得出了回归年为365.2425天的结论。