曆法知識:古人是怎麼算出來一年有365天的?
古人的確不知道地球繞著太陽轉。但是運動是相對的,運動的參照物選取不同,運動的表現形式也不同,但其本質是一樣的。地球圍繞太陽的運動,也可以轉換為太陽繞著地球在運動。
太陽繞著地球運動,這種運動就叫做太陽的「週年視運動」。晚上我們仰望天空,就會覺得整個天空是一個以地球為球心的球體,日月星辰都鑲嵌在這個球體上。——這個球就叫做「天球」,日月星辰(嚴格來說是它們的投影)都在這個天球上運動。
太陽週年視運動,就是地球公轉在天球上的投影。太陽在天球上的運動軌跡就叫「黃道」,月球在天球上的運行軌跡就叫「白道」,對了,天球還有赤道,那是地球赤道在天球上的投影。
包括日月星辰在內的所有星體在天球上的運動都是可以觀察和測量的,現在你知道古人是怎麼算出來一年的長度了吧?——對的,就是測量太陽在黃道上運行的週期。
具體用什麼方法測量呢?首先要明白,太陽的週年視運動的直觀表現,就是它從南到北、又從北到南的回歸性。簡單地講,就是夏至時太陽最靠近北方,然後慢慢南移,到冬至時最靠近南方,然後又慢慢北移。直觀地來看,就是冬至時物體的影子最長,夏至時影子最短。
那麼現在就好辦了,要測量回歸年(也就是太陽在黃道上運行一周的時間),我們只需要測出兩個冬至之間的時間就行了。——所以,要首先確定冬至是什麼時候(也就是冬至點)。
怎麼確定冬至呢?也很簡單,在地上立根桿子,然後看一年中影子最長的那個時間點,就是冬至了。這個東西,叫做圭表,也就是測量回歸年用的工具,立著的那個叫「表」,也就是我們前面說的桿子,用來產生影的,水平的那個叫「圭」,也就是一個刻度尺,上面有刻度,用來測量影子長度的。
原理說起來很簡單,但在實際操作中就很複雜了,因為這主要牽扯到一個測量精度問題。因為桿的影子邊緣不可能是清晰的,總是模模糊糊的,這就使得測桿影總不能精確。最早,人們想的解決辦法是盡可能將刻度細化,從分到厘,到毫,到秒。但是,對提高測量精度幫助不大。
具體用什麼方法測量呢?首先要明白,太陽的週年視運動的直觀表現,就是它從南到北、又從北到南的回歸性。簡單地講,就是夏至時太陽最靠近北方,然後慢慢南移,到冬至時最靠近南方,然後又慢慢北移。直觀地來看,就是冬至時物體的影子最長,夏至時影子最短。
那麼現在就好辦了,要測量回歸年(也就是太陽在黃道上運行一周的時間),我們只需要測出兩個冬至之間的時間就行了。——所以,要首先確定冬至是什麼時候(也就是冬至點)。
怎麼確定冬至呢?也很簡單,在地上立根桿子,然後看一年中影子最長的那個時間點,就是冬至了。這個東西,叫做圭表,也就是測量回歸年用的工具,立著的那個叫「表」,也就是我們前面說的桿子,用來產生影的,水平的那個叫「圭」,也就是一個刻度尺,上面有刻度,用來測量影子長度的。
原理說起來很簡單,但在實際操作中就很複雜了,因為這主要牽扯到一個測量精度問題。因為桿的影子邊緣不可能是清晰的,總是模模糊糊的,這就使得測桿影總不能精確。最早,人們想的解決辦法是盡可能將刻度細化,從分到厘,到毫,到秒。但是,對提高測量精度幫助不大。
最後的完美方案是元朝郭守敬提出的。他在河南登封建造了一座觀象台。
這個觀象台和普通的圭表相比,第一個優點是高大,其高度是普通圭表的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天的結論。