2020年10月7日 星期三

太陽運動 (1):史書中暗藏的正弦函數

一套曆書不單純只是要告訴你今天幾月幾日,曆書的目的是記錄計算推算天體運行,幾月幾日其實是天體運行的一部分結果;曆書中記錄著各天體的運行,其中最重要的即是「太陽運動」。以現代的科學觀來看太陽運動其實是地球繞日運行,不過因為這是相對運動,地球繞日運動或太陽運動就觀察的結果兩者是等價的,所以本篇與之後的介紹不會刻意使用當代的科學觀「地球繞日運動」來描述,為方便描述視情況有時會以地球的視角來描述。

我們現在知道地球繞日是一橢圓軌道,太陽在焦點的位置,有近日點與遠日點。又知道根據克卜勒定律,相同時間內掃過的面積是相同的,所以在近日點的時候地球繞日較快,遠日點則較慢。

不過上圖是不成比例的,地球繞日軌道其實是個肉眼幾乎無法與圓分辨的橢圓,下圖才是按照正確比例繪製的(太陽與地球的大小並未成比例繪製):


橢圓軌道這件事一直要到17世紀的時候才為世人所知,但太陽運動在不同季節快慢不同在古代東亞到了西元6世紀的時候終於發現了:

隋書卷二十志第十五天文中

古曆五星並順行,秦曆始有金火之逆。又甘、石並時,自有差異。漢初測候,乃知五星皆有逆行,其後相承罕能察。至後魏末,清河張子信,學藝博通,尤精歷數。因避葛榮亂,隱於海島中,積三十許年,專以渾儀測候日月五星差變之數,以算步之,始悟日月交道,有表裡遲速,五星見伏,有感召向背。言日行在春分後則遲,秋分後則速。

白話文簡單翻譯,北魏末年張子信 (北魏末至北齊初曆學家,生卒年不詳,文中的葛榮亂起於西元526年) 避難躲在海島三十多年,可能是自己做了個渾儀來觀測天體運行,發現了太陽運動非等速率運動,春分後太陽運動開始變慢,秋分後則加速。這是東亞史上第一次發現太陽運動非等速率運動的文字記載,比西方古希臘Hipparchus (約西元前190年 - 西元前120年) 晚了約六百年。當時Hipparchus發現,春分到秋分的天數(約179天)跟秋分到春分(約186天)的天數並不相同。

這件事也暗示著,東亞對於節氣的定義也慢慢在改變,早期東亞使用平氣的方式來定義節氣,因此各節氣間的天數都是相等的,不然如同Hipparchus,其實簡單計算天數,早幾百年就會發現的事,也不一定需要多精密的儀器才會發現,同時西方一直以來都比較重視「春分」,與東亞重視「冬至」不同,所以春分的定義在古代西方較早接近現代的定義。慢慢隨著儀器進步,可以準確測量太陽的黃經赤經的座標,東亞才慢慢意識到這件事,也才將太陽運動的差異應用至曆法中。節氣或太陽運動要怎麼透過渾儀來觀測記錄在下一篇會比較詳細介紹,先看一下史書中還記載了些什麼跟張子信有關的記錄。

新唐書卷二十七下志第十七下曆三下

其八《日躔盈縮略例》曰:

北齊張子信積候合蝕加時,覺日行有入氣差,然損益未得其正。至劉焯,立盈縮躔衰術,與四象升降。《麟德曆》因之,更名躔差。凡陰陽往來,皆馴積而變。日南至,其行最急,急而漸損,至春分及中而後遲。迨日北至,其行最舒,而漸益之,以至秋分又及中而後益急。急極而寒若,舒極而燠若,及中而雨晹之氣交,自然之數也。焯術于春分前一日最急,後一日最舒;秋分前一日最舒,後一日最急。舒急同於二至,而中間一日平行。其說非是。當以二十四氣晷景,考日躔盈縮而密于加時。

新唐書中也提到了張子信發現了太陽視運動的非等速率運動,「覺日行有入氣差」,可惜這個「入氣差」的記錄沒有流傳下來,上文後段其實也在批評觀測還是有誤。不過張子信是有學生的:

疇人傳卷第十一

張孟賓,受業於張子信,制造新法。以六百一十九為章,四萬八千九百為紀,九百四十八為日法,萬一千九百四十五為斗分。元紀共命,法略旨遠。日月五星並從斗 十一起,盈縮轉度,陰陽分至,與漏刻相符,共日影俱合,循轉無窮。

隋書卷十七志第十二律曆中

又有廣平人劉孝孫、張孟賓二人,同知曆事。孟賓受業于張子信,並棄舊事,更制新法。又有趙道嚴,准晷影之長短,定日行之進退,更造盈縮,以求虧食之期。

我們現在知道劉孝孫與張孟賓的曆法可能皆有應用到太陽運動的不等速率運動性質,但其實這幾套曆法沒有正式實施,且也已經失傳,當時留下來的太陽運動記錄已不可考了。

現今最早的記錄是張胄玄的大業曆(西元597年 - 西元618年),從那時開始曆書中會記載著太陽運動的數據。不過當時的記錄以現在的眼光來看準確度不佳,我們直接看比較成熟的曆書大衍曆(西元729年 - 西元762?年),後來的曆書都會有這一張日躔表,一些電子化史書的網頁可能會忽略表格沒有將其電子化,先看古書掃描的版本:

日躔表

資料來源:新唐書,https://ctext.org/library.pl?if=gb&file=102423&page=895


電子化的結果如下:

大雪 小雪 立冬 霜降 寒露 秋分 白露 處暑 立秋 大暑 小暑 夏至 芒種 小滿 立夏 穀雨 清明 春分 驚蟄 雨水 立春 大寒 小寒 冬至 定氣
盈二千三百五十三 盈千八百四十五 盈千三百九十 盈九百七十六 盈五百八十八 盈二百一十四 縮二百一十四 縮五百八十八 縮九百七十六 縮千三百九十 縮千八百四十五 縮二千三百五十三 縮二千三百五十三 縮千八百四十五 縮千三百九十 縮九百七十六 縮五百八十八 縮二百一十四 盈二百一十四 盈五百八十八 盈九百七十六 盈千三百九十 盈千八百四十五 盈二千三百五十三 盈縮分
後二千三百五十三 後四千一百九十八 後五千五百八十八 後六千五百六十四 後七千一百五十二 後七千三百六十六 後七千一百五十二 後六千五百六十四 後五千五百八十八 後四千一百九十八 後二千三百五十三 後端 先二千三百五十三 先四千一百九十八 先五千五百八十八 先六千五百六十四 先七千一百五十二 先七千三百六十六 先七千一百五十二 先六千五百六十四 先五千五百八十八 先四千一百九十八 先二千三百五十三 先端 先後數
損百七十六 損百三十八 損百四 損七十三 損四十四 損十六 益十六 益四十四 益七十三 益百四 益百三十八 益百七十六 損百七十六 損百三十八 損百四 損七十三 損四十四 損十六 益十六 益四十四 益七十三 益百四 益百三十八 益百七十六 損益率
朓百七十六 朓三百一十四 朓四百一十八 朓四百九十一 朓五百三十五 朓五百五十一 朓五百三十五 朓四百九十一 朓四百一十八 朓三百一十四 朓百七十六 朓初 朒百七十六 朒三百一十四 朒四百一十八 朒四百九十一 朒五百三十五 朒五百五十一 朒五百三十五 朒四百九十一 朒四百一十八 朒三百一十四 朒百七十六 朒初 朓朒積

其實這樣還是很難閱讀,另外,表中的盈縮、先後、損益、朓朒就是正負號的意思,但不是單純所有的益就是正、損就是負,或是朓就是正、朒就是負,是相對於「先後數」那一欄來看,會隨著「先」或「後」而改變正負的定義,這裡稍複雜,可以先忽略不對照沒關係。若用當代大家比較熟悉的排版及數字來表示的話,結果如下:

定氣 盈縮分 先後數 損益率 脁朒積
冬至 2353 先端 176 朒初
小寒 1845 2353 138 176
大寒 1390 4198 104 314
立春 976 5588 73 418
雨水 588 6564 44 491
驚蟄 214 7152 16 535
春分 -214 7366 -16 551
清明 -588 7152 -44 535
穀雨 -976 6564 -73 491
立夏 -1390 5588 -104 418
小滿 -1845 4198 -138 314
芒種 -2353 2353 -176 176
夏至 -2353 後端 -176 朓初
小暑 -1845 -2353 -138 -176
大暑 -1390 -4198 -104 -314
立秋 -976 -5588 -73 -418
處暑 -588 -6564 -44 -491
白露 -214 -7152 -16 -535
秋分 214 -7366 16 -551
寒露 588 -7152 44 -535
霜降 976 -6564 73 -491
立冬 1390 -5588 104 -418
小雪 1845 -4198 138 -314
大雪 2353 -2353 176 -176

中文字的部分其實就是零。其實這張表的每一欄都可以從「盈縮分」那欄而變來,「先後數」就是「盈縮分」累加,「損益率」則是「盈縮分」除以某個常數 (這裡大約是13.369),「脁朒積」即損益率累加,或是「先後數」除以同一個常數而來。換句話說要生出這張表,只要有其中一欄的數字,其他欄都算得出來。

這些欄位究竟代表什麼意思?我們會在之後的數篇文章中慢慢揭曉,讓我們先將目光放在「先後數」這一欄,如果好奇看到數字就想做圖,我們把「先後數」這欄畫成圖形試試,看會是什麼樣子呢:

這圖形好面熟啊……?豈不是高中數學教過的sine(正弦)的圖形!?!?

三角函數一直到大明崇禎年間,透過傳教士的幫忙才傳入東亞,徐光啟、鄧玉函、湯若望在西元1631年所寫的【大測】第一次讓三角函數出現在東亞的土地上,正弦這個名稱也是那時候翻譯出來的。

那這張圖是什麼呢?

還有另一個值得注意的事是,這張圖的數字,一定有人為修正過。因為我們現在知道,這張圖所觀測的東西,如果從「冬至」算起,不可能是這麼漂亮從0開始的sine圖形。

早期的圖形就沒那麼漂亮了。在現存最早引入這種表格的大業曆(西元597年 - 西元618年)中,把相同的表格畫出來會是長這個樣子的 (下兩張圖形如果查詢原史書的記載,有明顯傳抄錯誤的地方,筆者有自行幫忙更正了):

這張圖就很明顯比較像是觀測的結果了,因為至少不是對稱的。譬如過了數年的皇極曆(完成於西元604年,未實行)就已經刻意操作數字讓他慢慢對稱了(見下圖),之所以會覺得操作過最大原因是因為我們以現代的眼光來看會知道從冬至起觀測,冬至那欄不可能是0,而且形狀應該比較接近大衍曆(西元729年 - 西元762?年)的sine圖形,這裡的數字卻又對稱很漂亮,連觀測的誤差都沒有。



跟讀者們說聲抱歉,要好花幾篇的篇幅來解釋我們到底看到了什麼東西,真的是sine的圖形?為什麼會是sine的圖形?到底在觀測什麼?這觀測的結果是準確的嗎?這對於曆法的制定或是天體運行的運算推測有什麼幫助呢?古人發現了這張其實長得很像sine的圖形嗎?除了最後一個問題的答案是很單純的:沒發展三角函數很難知道這是sine的圖形,其他的問題在之後幾篇會慢慢分解!





參考文獻:

陳美東。日躔表之研究。

中國數理天文學。2008年。曲安京著。科學出版社。

沒有留言:

張貼留言