3.1祖沖之:不只是數學家

內容梗概:前幾次說到冬至是從陰到陽的轉折點,“日北至”,“一陽生”。但冬至不是某一天而是一個時刻。如何測量這一時刻?最常見的方法是測量冬至前后幾天的影長。但如果那幾天陰天怎么辦?冬至時刻不是正午怎么測量影長?祖沖之提出了巧妙的方法解決了這一問題。這種方法后來為歷代所采用,它所用的數學和幾何原理非常簡單,初中生都明白,但卻蘊含著科學發現的普遍規律:長期觀測、分析數據、深入思考、提出假設、實驗驗證。

一周以后,老師和學生又在老地方碰面了。這天餐廳里有些擁擠,中間的大長條桌坐滿了人,好像在聚餐。他們好不容易找到了一個靠墻的座位。


剛一坐下老師就問:“上次我們提到的那位中國古代科學家,你猜到了嗎?”

“是祖沖之吧?” 學生說道。

“對,正是他。”

“提到圓周率就想到了祖沖之,以前只知道他是數學家,還真不知道他還測量過冬至時刻!” 學生說到。

祖沖之 (位于北京古觀象臺. from Wikimedia)

“除此之外,祖沖之還對天文歷法做出了很大的貢獻!你記得祖沖之是什么時候的人嗎?”

“是南北朝的?”

“對,也就是公元500年左右,距今已經1500多年了。那時既沒有望遠鏡、也沒有精確的秒表,更不用說其它先進的儀器和設備了。”

那祖沖之是用什么工具來測量冬至時刻的呢?” 學生不解地問道。

“只是用一根桿子而已,測定正午時分桿子投射在地面上的影長。當然準確的叫法應該是圭表。”

圭表包括兩部分,豎立起來的叫做“表”,而水平放置的叫“圭”,圭上有刻度,用來指示影子的長度 (位于北京古觀象臺內. from Wikimedia)

“就這么簡單?”

“是的,如果僅僅是想知道冬至大概是在哪一天,那么只需要測量冬天正午影子最長的那一天即可。但是由于“景之差行,當二至前后,進退在微芒之間”,冬至附近影長變化經歷了一個拐點,本來變化就不明顯,再加上冬天日影變淡,很難精確測量,所以根據《左傳》等資料推算,那時連冬至日都測不準,通常會有2-3天的誤差。”

可是我有個疑問:冬至那幾天要是“陰天”怎么辦? 就沒法測量日影了吧?”

“是的,這是個棘手的事情,畢竟天氣沒法輕易改變。其實,祖沖之還有更大的挑戰呢!”

“什么挑戰?” 學生問道。

“冬至不是一個日子,而是一個時刻。而要精確地測量出冬至時刻,才能夠幫助制定出準確的歷法。但我們知道冬至時刻每年都在變,不一定正好是正午,如果冬至時刻在晚上,那又如何測量影長呢?古人總不會繞過大半個地球跑到美國去測量正午時分的影長吧!”

“那該怎么辦呢?”

“這說明,單單測量影長已無法準確得到冬至時刻,必須進行推算。祖沖之之前的何承天,他連續測量十年,并且利用古人提出“要取其中”的方法來推算冬至時刻。但是具體如何做,現在已經不可考了。祖沖之長袖善舞,提出了一種很巧妙的方法,化解了陰天無日影問題、冬至時刻不在正午的問題。他提出的方法不局限在一定要在冬至這一天測量影長,而是在冬至前后幾十天的范圍內挑選幾個晴天的日子測影長,然后進行一些簡單計算就可以了,這樣一來,天氣的原因對于祖沖之來說就不是問題了。”

“哦,是嗎?真巧妙!那需要測量多少次呢?”

“需要三天正午的測量數據,因為不知道未來會不會陰天,為了保險可以多測幾次,但做計算時只要有三次的有效影長的數據就夠了。”

“只需3次的數據?”

“是的。”

“我對祖沖之越來越好奇了”,學生感嘆道:“他究竟是個什么樣的人呢?既精于數學,又通天文!”

“你說的沒錯,一個人的性格、經歷和治學態度,決定了他采用的方法,而方法又決定了成就大小。”

“嗯。祖沖之的家庭是怎么樣的呢?”

“祖沖之生于429年,在他出生前九年,東晉滅亡。接下來中國進入了南北朝時期,形成了南北對立的局面。 祖沖之生活在南朝的宋和齊兩個朝代,都城是建康,也就是今天的南京。祖沖之家族屬于低級士族,地位不高,但是有世代鉆研學習的傳統。祖沖之的祖父祖昌善于發明,在朝廷擔任過大匠卿,父親祖朔之是皇帝的侍從官員。根據《隋書》記載,祖家世代掌管歷法。祖沖之自幼生活在這樣的家庭里,對天文學和數學非常感興趣,廣泛搜羅閱讀鉆研前朝留下的著作,但是他發現古人留下的論述中又有一些不可靠的地方,所以他每每“親量圭尺,躬察儀漏,目盡毫厘,心窮籌策”,“不虛推古人”。”

“這讓我想到了歐洲十六、七世紀的開普勒。開普勒繼承了他的老師第谷留下的大量觀測數據,同時又不拘泥于古人的結論,終于推翻了行星軌道是圓形的觀念。”

“是的,既能夠占有大量數據,又自己親自測量和計算,不囿于古人的結論和成法,從而才能開創出一片新天地。祖沖之自己是這樣說他如何利用古人的文獻資料的:

搜煉古今,博采沈奧。
唐篇夏典,莫不揆量。
周正漢朔,咸加核驗。
罄策籌之思,究疏密之辨
”。

祖沖之對張衡的天文著作、東漢時期劉洪的《乾象歷》和三國時期楊偉的《景初歷》都進行了系統研究考察,對前人的觀點批判地繼承。”

“比如說呢?”

“例如祖沖之看到東漢初年班固所寫的《漢書》里提到了六種古代歷法:《皇帝歷》、《顓頊歷》、《夏歷》、《殷歷》、《周歷》和《魯歷》。后人曾以為是這幾個朝代當時所采用的歷法,而經過祖沖之的推斷發現,這些只不過是后人的偽作而已,他說:“古術之書,皆在漢初周末,理不得遠”。”

“祖沖之在哪里進行研究呢?”

“祖沖之在青年時代就進入了南北朝時期宋朝設立的華林學省的機構,專門從事天文歷法和數學研究。因為工作出色,被朝廷“省賜宅宇車服”。后來祖沖之雖然出任了地方官,但仍然沒有中斷天文測量和研究。”

“那祖沖之是如何利用手頭的影長數據來推算冬至時刻呢?”

“雖然說祖沖之的方法只需要進行三次測量,但是實際上祖沖之每天都堅持觀測,并且積累了大量的一手數據,并且他還利用工作上的便利接觸到大量的古代觀測數據。他平時沒事就去琢磨這些數據。”

“那他從中琢磨到了什么嗎?”

“就比如關于影長的觀測數據吧,他經過長年累月的觀察,發現冬至前后影長的數據都與下表類似。比方說有這么一組由于陰天導致觀測記錄不完整的桿子影長數據:

日期 影長
十月三十 12尺
十一月初一 12.06尺
十一月初二 12.12尺
十一月初三 *陰天沒有影長數據
十一月初四 12.12尺
十一月初五 12.06尺
十二月初六 12尺
十二月初七 *陰天沒有影長數據

“你能看出有什么規律嗎?” 老師問道。

“讓我看看,影長一開始不斷增加,突然來了一個陰天,后來又不斷減少,又來了一個陰天。總體趨勢是這樣先增加后減少的。”

“對。”

“既然如此,那么從增加變得減少的拐點應就是冬至日。”

“對,如果假設冬至前后影長增加的速度和減少的速度都是均勻的,冬至前每天增加0.06尺,冬至后每天減少0.06尺。即使有兩天是陰天,那么我們也可以估計出十一月初三那天應該是影子最長,是冬至日。”

“嗯,同意!”

“祖沖之手頭上積累了很多這樣的數據,分析研究這些數據是他從事研究的基礎。換句話說,現代科學研究也是如此:大量占有數據,并且深入思考、科學地進行分析才有可能取得突破。”

“嗯。”

祖沖之經過仔細琢磨得到了兩個基本判斷:冬至前影長增加,冬至后影長減少,并且基本對稱。影子的變化速度是近似均勻的。

“那根據這兩個假設就能夠計算出冬至時刻嗎?”

“還要加上一點點最基本的幾何知識。”

“什么樣的幾何知識呢?” 學生問道。

兩個相似三角形的對應邊長成比例。”

“就這么簡單嗎?”

“方法是簡單,但是能想到這一方法本身并不簡單。它需要十年如一日的觀測,翻閱幾百年的觀測數據,還要有恒心、細心和毅力才可以。在祖沖之之前,就已經有了測量冬至時刻的粗糙方法。北朝的周琮指出:“晉、漢歷術,多以(至)前后所測晚晷,要取其中。” 但是古人是如何“要取其中”,卻沒有明確交代,因此具有很大的主觀性和隨意性,而祖沖之是第一個從嚴格的數學意義上推導出冬至點的觀測方法。”

“那么他是具體怎么測量的呢?”

“祖沖之曾經簡要介紹了自己的計算方法,我在手機里查到了南朝《宋史 歷律志》里的原文:

大明五年十月十日影一丈七寸七分半,
十一月二十五日一丈八寸一分太,
二十六日一丈七寸五分強,
折取其中,則中天冬至應在十一月三日。
求其蚤(早)晚,令后二日影相減,則一日差率也,倍之為法;
前二日減,以百刻乘之為實。
以法除實,得冬至加時在夜半后三十一刻,在元嘉歷后一日,天數之正也
”。”

“是什么意思呢?”

“ 簡單翻譯一下就是,

  • 大明五年十月十日影長為10.775尺,
  • 十一月月二十五日影長為10.8175尺(“太”是古代的一個計數符號,是最小單位的3/4),
  • 十一月二十六日影長為10.7508尺(“強”也是古代的一個計數符號,是最小單位的1/12)。
  • 十月十日的影長落在十一月二十五日和二十六影長之間,所以根據對稱原理,冬至日應在十月十日和十一月二十五日之間,也就是十一月三日。
  • 令十一月二十五日和二十六日測得的兩個影長相減:10.8175-10.7508=0.0667,
  • 然后乘以2倍,0.0667 x2=0.1334,這個值稱為“法”。
  • 再令十月十日和十月二十五的影長相減:10.8175-10.775=0.0425,
  • 這個值乘以100(古代每天等分成100刻)得到4.25,稱為“實”。
  • 用“實”除以“法”:4.25/0.1334=31.86刻,
  • 即大明5年的冬至點是在11月3日31刻多一些。”

“讓我換算一下,一天是100刻,那么31.86刻就是在一天的三分之一附近,也就是早上8點前一點,大約是現在的早上7點37分26秒。那具體是怎么計算的呢?”

“如果把三天的影長按照時間順序分別是a,b和c,那么計算的公式就是:

冬至在一天100刻中所處的相對時刻:100(b-a)/2(b-c)。”

“哦,這個計算真簡單,加減乘除四則運算就夠了。可是這只是具體的計算方法,那背后的原理是什么呢?” 學生問道。

“后人推測祖沖之應該是利用了相似三角形的原理。”

“相似三角形?果然有初中幾何知識就夠了。”

“嗯。首先,祖沖之在冬至前后選擇了A/B/C三天,正午的影長分別為a,b,c。我們可以把這三個影長畫在時間軸上(如圖),橫軸代表日期,而縱軸代表影長。a的影長介于b和c之間,根據對稱性,所以冬至日應該在A和B中間的那一天,我們標識為D日零時。也就是說A在冬至前N天,B在冬至后N天,C在冬至后N+1天。有了這三天的數據就可以推算冬至時刻了,這樣即使冬至日是陰天也沒有關系,因為并不需要在冬至那一天進行測量。退一步講,即使A/B/C三個測量日期是陰天也沒關系,只要把A提前一天,把B和C分別推后一天,我們就可以利用新的數據來計算了。”

“太妙了!”

“對。下面我們就開始驗證祖沖之的腳步開始推算了,你準備好了嗎?”

“想想都激動,這可是祖沖之一千五百多年前使用的方法!”

祖沖之相似三角形測量冬至時刻

“讓我們開始吧”。老師說道。

  • 首先,既然冬至日D是AB的中點,所以AD=DB 。
    又因為D是冬至日子夜零時,所以冬至時刻在D右邊的E點,且DB=DE+EB。
    這個E點的位置就是我們要找的冬至時刻,換句話說只需求出DE的長度就能確定冬至時刻。
  • 接下來,因為冬至前后影長是對稱的,而且a介于b和c之間,c<a<b,所以在BC之間必有一個A的對稱點A1,其影長a1=a。
    所以可以得到:AE=EA1,即AD+DE=EB+BA1。
  • 然后,我們很容易推導出DE剛好是BA1的一半。(推導方法:把AD=DB=DE+EB帶入到上式,就得到了AD+DE=DE+EB+DE=EB+BA1,約去左右的EB,得到2DE=BA1)”
    既然我們要求出DE,那么可以先求出BA1,然后減半就可以求得DE了!

“那怎么求BA1的長度呢?”

“關鍵之處就要找出兩個相似三角形。”

“找哪兩個相似三角形呢?”

“我們一起看一看。既然是要求BA1,那其中一個三角形肯定和BA1有關,它剛好對應了一個小三角形B'FA'1的底邊,而GC'剛好是另一個大三角形B'GC'的底邊,GC'的長度是B的正午和C的正午的間隔,剛好是一天100刻(注:古代一天分為100刻,1刻相當于現在14.4分鐘)。那么就找到了這兩個相似三角形。小三角形的豎直邊長b-a,大三角形的豎直邊長b-c。”

接下來,根據三角形相似的原理,我們就有:(b-a)/(b-c)=BA1/BC。
所以,BA1=(b-a1)·BC/(b-c)。
而BC為25日至26日1晝夜時長100刻,也就是祖沖之原話中的“百刻”,因此BA1=100(b-a)/(b-c)。
而DE是BA1的一半,所以BA1=100(b-a)/2(b-c)。

“那祖沖之測量到的冬至時刻與理論值有多大誤差呢?”

“誤差大約是20刻,這個值遠遠小于歷代的誤差。例如東漢四分歷測得的公元173年冬至的誤差是239刻,晉朝楊偉的景初歷測的237年冬至的誤差是221刻,王朔之的永和歷測的351年冬至時刻誤差是102刻,與祖沖之同時代的何承天“立八尺之表,連測十余年”,他的元嘉歷在公元442年測的誤差是50刻,這已經比前人的誤差縮短了一半,而祖沖之的測量誤差比何承天又小了一多半。祖沖之的方法首次提出一種明確的數學表達式來計算冬至時刻。”

“那祖沖之為什么把冬至前后三個日子的距離拉得那么大呢?前后有四十多天。”

“道理也很簡單。這樣就克服了冬至前后影長變化不明顯問題。把測量日期提前或推后到冬至前后二十多天,那時影長的日變化量比冬至大很多,超過了六分,更容易測量影長變化。”

“祖沖之的測量和計算方法對現在有什么意義呢?” 學生問道。

“它的意義在于,用簡單的測量工具和簡單的數學計算得到了非常高的測算精度,這是當前科學研究和工程實踐追求的目標。”

“能舉個例子嗎?”

“如果用一句話來說,就是奧姆卡剃刀原理,又叫“簡單有效原理”,即“如無必要,勿增實體”。你看在祖沖之的測量方法里沒有任何一步是多余的,你無法再精簡了。”

“為什么精簡的就好呢?”

“精簡的東西人們更容易記住,也更容易流傳下來。祖沖之測量冬至時刻所發明的這個方法也被后人所繼續使用,元代的郭守敬后來繼續改進了測量的圭表,讓它的的精度又進一步提高。”

“那郭守敬是如何改進圭表的測量的呢?”

未完,待續...


參考文獻:

  • 郭蕊,《數學泰斗祖沖之》,吉林出版集團,2011-1. ISBN 9787546341040

  • 陳美東. 祖沖之的天文歷法工作[J]. 自然辯證法通訊, 2002, 24(2):68-73.

  • 陳美東. 論我國古代冬至時刻的測定及郭守敬等人的貢獻[J]. 自然科學史研究, 1983, 2(1):51-60.

  • 《全齊文》卷十六 祖沖之

  • 白壽彝,《中國通史(第二版)》,上海人民出版社 江西教育出版社,2013-7

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,936評論 6 535
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,744評論 3 421
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,879評論 0 381
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,181評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,935評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,325評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,384評論 3 443
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,534評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,084評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,892評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,067評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,623評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,322評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,735評論 0 27
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,990評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,800評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,084評論 2 375

推薦閱讀更多精彩內容