武家璧
(北京師范大學(xué) 歷史學(xué)院,北京 100871)
據(jù)《淮南子》記載,楚國的魯陽公與韓交戰(zhàn),戰(zhàn)酣日暮,魯陽公揮戈向日,將落日扯回到天空中,繼續(xù)再戰(zhàn)!這場戰(zhàn)事引發(fā)“時間倒流”的假想,在中國歷史上產(chǎn)生了很大影響,古人很少懷疑其真實性,但從現(xiàn)代科學(xué)知識來看,魯陽公揮戈“回日”是不可能的。筆者認為合理的解釋是發(fā)生了大食分的“云遮日食”:當(dāng)“食甚”時人們以為到了“日暮”;當(dāng)復(fù)圓時人們又以為“日返三舍”。下面筆者從“日食”的角度,考證魯陽公酣戰(zhàn)事件的真實性和具體年代,并對這場“云遮日食”及其科學(xué)意義進行探討。
魯陽公酣戰(zhàn)事件的文獻記載,載于西漢淮南王劉安編撰的《淮南子·覽冥訓(xùn)》:“魯陽公與韓構(gòu)難,戰(zhàn)酣日暮,援戈而撝之,日為之反三舍。”東漢高誘注:“魯陽,楚之縣公,楚平王之孫,司馬子期之子,《國語》所稱魯陽文子也。楚僭號稱王,其守縣大夫皆稱公,故曰魯陽公。今南陽魯陽是也?!盵1](P447)東漢王充《論衡·對作篇》載:“魯陽戰(zhàn)而日暮,援戈麾日,日為卻還。”[2](P1183)又《論衡·感虛篇》載:“傳書言:魯陽公與韓戰(zhàn),戰(zhàn)酣,日暮,公援戈而麾之,日為之反三舍?!驎r戰(zhàn)時日正卯,戰(zhàn)迷,謂日之暮,麾之轉(zhuǎn)左,曲道日若卻。世好神怪,因謂之反,不道所謂也。”[2](P230)
如果真是“日返三舍”就等于“時間倒流”,這明顯違反人們的經(jīng)驗和常識,于是王充解釋為一種錯覺:戰(zhàn)爭實際發(fā)生在早晨卯時,魯陽公誤以為是傍晚。王充的這一解釋過于主觀牽強,很難設(shè)想戰(zhàn)斗人員會將早晨誤以為是傍晚,沒有及時糾正而被記載下來。我們認為這是一場發(fā)生在下午的“云遮日食”,由于云層遮擋了日食的全部過程,人們并不知道發(fā)生了日食,反而把天空的“明—暗—明”現(xiàn)象當(dāng)成了傍晚時的“日返三舍”。
在此,我們有必要交代一下日食的相關(guān)知識。太陽直徑是月球直徑的400倍左右,日地距離也是月地距離的400倍左右,月繞地和地繞日的軌道近似在同一平面內(nèi),從地球上看去日月兩個天體具有近似相同的角直徑,當(dāng)月球從地球和太陽中間通過(新月)時,太陽有可能被月球遮住,就發(fā)生了日食。月球的黑影落在地球表面上,向東掃過狹長的區(qū)域,稱為日食帶。當(dāng)月球靠近近地點時(超級新月),月球的本影大于日面,完全遮住整個太陽,就是日全食。[3](P11~12)當(dāng)觀測者處于月球本影范圍內(nèi),便能看到日全食;而處于半影范圍的觀測者會看到日偏食,如圖1所示。當(dāng)月球遠離近地點時,月球的本影小于日面而不能完全遮檔太陽,就會發(fā)生日環(huán)食。
圖1 日食示意圖
據(jù)統(tǒng)計,每世紀平均發(fā)生日全食約67次,月影掃到地面的本影只有幾十到200多公里寬,地面上只有少數(shù)地區(qū)(本影帶內(nèi))才能看到日全食,而且時間一般為幾分鐘,最長也只有7分多鐘。[4](P215)中心食帶與日食南界和日食北界為三條平行線,兩兩之間的距離為0.55個地球半徑。[5](P9)本影帶的寬度可達270公里,半影帶寬度可達7000公里,長度數(shù)千公里。對于同一地點而言,每年能看見日全食的平均機會是1/360[3](P12),大概每300到400年才出現(xiàn)1次日全食,而在兩年半內(nèi)可見日偏食1次[6](P344)。因此魯陽公酣戰(zhàn)時的云遮日食為日全食的可能性極小,大概率是一次大食分的日偏食或者日環(huán)食。
如果沒有云層遮擋,人們可以清楚地看到日食的全過程,但如果日食發(fā)生在陰天或者全過程都有云層遮擋,并且觀測地靠近中心食帶而發(fā)生大食分的日偏食,人們就容易產(chǎn)生一系列錯覺。下面以日全食過程的五個階段為例[7](P33),說明在“云遮日食”的過程中,人們可能產(chǎn)生的三種錯覺:
①初虧—②食既——對應(yīng)傍晚
③食甚——對應(yīng)“日暮”
④生光—⑤復(fù)原——對應(yīng)“日返”
這三種錯覺,同樣適用于日環(huán)食和大食分偏食。日食的五大過程及其可能產(chǎn)生的三種錯覺,如圖2所示:
圖2 “云遮日食”的錯覺示意圖
由于食分較大(>0.8)并且有云層遮擋,從“食始—食既”階段,天空逐漸暗淡下來,但是人們并不知道已經(jīng)發(fā)生了日食,而是依據(jù)以往的經(jīng)驗,感知到太陽的昏暗程度已經(jīng)相當(dāng)于日暮黃昏。駐守在楚國北部邊境的魯陽公與晉國的韓卿正在進行一場大戰(zhàn),戰(zhàn)事膠著至食甚(食分最大)時刻,天昏地暗,魯陽公貪功好戰(zhàn),不愿退兵。我們可以設(shè)想這樣的情節(jié):正在酣戰(zhàn)之中的魯陽公明顯感覺到時間過得太快了,可能有揮戈回日的舉動,以發(fā)泄憤懣和不滿;沒想到“奇跡”發(fā)生了:日食進入“生光—復(fù)原”階段,天空逐漸明亮起來,魯陽公如愿以償,于是繼續(xù)戰(zhàn)斗!當(dāng)日食結(jié)束時,太陽從云層中鉆了出來,人們錯誤地以為太陽是從地平線以下返回到天空的,太陽的高度與地平線之間足足有“三舍”的距離——實際上太陽并未落山,只是比原來偏西了一些。于是人們將這次“日返三舍”的現(xiàn)象歸結(jié)為魯陽公有“回天”之術(shù)。實際上這場戰(zhàn)爭與一次“云遮日食”同步,下面為行文方便不妨稱之為“魯陽公日食”或者“魯陽日食”。
魯陽公與韓之戰(zhàn)本身并不重要,除了《淮南子》《論衡》之外,漢以前典籍并未留下其它相關(guān)記載,此戰(zhàn)并未對楚國前途命運或者列國戰(zhàn)爭造成多大影響,《淮南子》也僅僅是因為此戰(zhàn)發(fā)生了“日返三舍”的奇特現(xiàn)象,才記錄下來。所謂“日返三舍”意味著時間倒流,根據(jù)現(xiàn)代科學(xué)知識,這是不可能發(fā)生的事件。因為宇宙的根本規(guī)律是時間律和因果律,即時間不能倒流,否則將因果倒置。為此愛因斯坦提出“光速不可超越”定理作為“相對論”的基石。通俗地說:媽媽必須先于兒子出生,因為媽媽是“因”,兒子是“果”;作為足夠遠處的觀察者,我們必定先看到媽媽,后看到兒子;假若從媽媽身上發(fā)出的光以光速傳播,而從兒子身上發(fā)出的光以超光速傳播,結(jié)果就會出現(xiàn)“時間倒流”——人們先看到兒子,后看到媽媽——也就是說“先有兒子,后有媽媽”,這樣倒“因”為“果”,完全違背了宇宙的根本規(guī)律。因此只要稍稍具備現(xiàn)代科學(xué)素養(yǎng),就不會相信“時間倒流”的神話。
中國古代很少有人懷疑魯陽之戰(zhàn)“日返三舍”的真實性,因而在文學(xué)作品中對“魯陽戈”“回天(日)”術(shù)等大量引用和宣揚。如西晉左思《吳都賦》記載:“魯陽揮戈用高麾,回曜靈于太清;將轉(zhuǎn)西日而再中,齊既往之精誠。”[8](P232)東晉郭璞曾說道:“愧無魯陽德,回日向三舍?!盵8](P1021)南朝宋謝靈運:“茍無回戈術(shù),坐觀落崦嵫?!盵9](P503)南朝梁蕭紀:“想君愁日暮,應(yīng)羨魯陽戈?!盵10](P307)南朝梁劉孝威說:“秦云猶變色,魯日尚回輪?!盵9](P523)唐朝盧照鄰:“別有豪華稱將相,轉(zhuǎn)日回天不相讓?!盵11](P519)唐朝岑參:“惜別津亭暮,揮戈憶魯陽?!盵11](P2080)李商隱:“酣戰(zhàn)仍揮日,降妖亦斗霆?!盵11](P6253)唐朝王翰:“壯士揮戈回白日,單于濺血染朱輪?!盵11](P1603)宋代蘇轍:“魯陽揮長戈,日車果再斜?!盵12](P9826)由此可見,魯陽公揮戈“回日”事件引起古人極大的好奇心,在歷史上產(chǎn)生了很大的影響。
“回日”事件明顯違反人們的經(jīng)驗和常識,也有少數(shù)人選擇不相信,如王充《論衡·感虛篇》記載:
陽公志在戰(zhàn),為日暮一麾,安能令日反?使圣人麾日,日終不反。陽公何人,而使日反乎?……陽公爭斗,惡日之暮,以此一戈麾,無誠心善言,日為之反,殆非其意哉!且日,火也,圣人麾火,終不能卻;陽公麾日,安能使反?[2](P231~233)
從王充所發(fā)議論來看,他并不反對“日返”的說法,而是認為魯陽公“志在戰(zhàn)”“無誠心善言”,他怎么能夠感動天而使“日返三舍”呢?看來王充對這個問題的批評,思想水平并不高。
北魏張淵《觀象賦》記載:“魯陽指麾,而曜靈為之回駕;嚴陵來游,而客氣著于乾象。斯皆至感動于神祗,誠應(yīng)效于既往?!弊宰?“魯陽,古之賢人,以手麾日,能再回也?!盵13](P1952)唐李淳風(fēng)《乙巳占序》記載:“魯陽麾指,而曜靈回駕……此則精誠所感而上靈懸著也?!盵14]左思《吳都賦》李善注:“昔光武合呼沱水,鄒衍有隕霜之應(yīng),精誠之感通天地,人神以相應(yīng)。魯陽公麾日,抑亦在此之謂也?!盵8](P232)是皆認為魯陽公戀戰(zhàn)的“精誠”感動天地,故此有“回天”之應(yīng)。“天人感應(yīng)”是古人對“時間倒流”理所當(dāng)然的解釋。南宋詩人范成大則認為這種事情象女媧“煉石補天”一樣,根本沒有可能,其詩曰“日豈揮戈及,天無煉石功”[12](P26019),表示了對揮戈“回日”術(shù)的根本懷疑。
要理解古人的認識,首先要了解當(dāng)時的計時制度。戰(zhàn)國時期盛行一種不等間距計時法,其時名除了“日中”和“夜半”相對確定之外,其它時名對應(yīng)的時間長度和起始時刻都不確定,在夜晚主要根據(jù)日光影響的程度來確定,如日落、黃昏、定昏、平旦、日出等;在白天則主要根據(jù)太陽方位來確定,如《淮南子·天文訓(xùn)》所稱“(日)行九州七舍…以為朝、晝、昏、夜”。高誘注“凡十六所,為九州七舍也”。[1](P237)這實際上是一種依據(jù)太陽方位來劃分的“十六時”制。湖北天門彭家山楚墓出土的席鎮(zhèn)銘文“於軌九州,順日右行”,就是針對這種計時法而言的。[15]云夢秦簡出土《秦楚月名與日夕分表》,其晝夜的日分、夕分隨月份而呈周期性變化,農(nóng)歷十一月(冬至)為日5分、夜11分,五月(夏至)為日11分、夜5分,二月八月(春秋分)為日8分、夜8分,每天的總分數(shù)為十六分。筆者分析了《日夕分表》的數(shù)據(jù)后認為,這種“十六分”為地平歷數(shù)據(jù)[16],是依據(jù)太陽在地平圈上的晝弧和夜弧的比率來劃分的,與時角圈上的晝夜弧有著本質(zhì)的區(qū)別,因此先秦十六時制是不等時的,與秦漢以后盛行的等間距十二時完全不同。在十六時制的情況下,人們在白天不使用漏刻,而是通過立竿測影來確認時間的變化;如果遇上陰天就依據(jù)人眼對日光影響的感知程度來估計時間的變化。例如人們感覺到天空逐漸昏暗下來,就以為到了日暮黃昏,很可能是這種計時習(xí)慣導(dǎo)致人們在云遮日食的時候產(chǎn)生“日返三舍”的錯覺。
大約公元前數(shù)個世紀,迦勒底人(Chaldean,意為占星者)發(fā)明了預(yù)測日月食的簡單方法:日月的223個回合周期(朔望月29.5306日)等于242個交點周期(交點月27.2122日)[6](P328),[17](P188),用算式表達為:
日食間隔期是兩者的公倍數(shù),約為6585.3日,合18年11日8時,稱為“沙羅周期”。[18](P149)據(jù)古希臘的希羅多德《歷史》[19](P37)記載:泰勒斯曾經(jīng)預(yù)言一場戰(zhàn)爭期間的日食,于是雙方停止戰(zhàn)爭締結(jié)了和平協(xié)議。[3](P11)這是沙羅周期的最早應(yīng)用。
現(xiàn)代天文學(xué)家仍然采用沙羅周期對日月食進行系列編號:把近現(xiàn)代已經(jīng)發(fā)生的日食和進行了科學(xué)觀測的日食編入“沙羅系列”之中,同一“沙羅號”的日食遵守“沙羅周期”依次重復(fù)出現(xiàn);一個沙羅周期(18.3年)內(nèi)約發(fā)生40次日食,均屬于不同系列,故任何時候都有約40個沙羅系列正在進行。某一沙羅系列開始時,月球半影登陸南極區(qū),為最小食分的日偏食;然后每次北移約300公里,食分逐漸增大到日全食,再逐漸減小到最小食分日偏食;大約70次后月影移出北極區(qū),該沙羅系列結(jié)束。每個系列經(jīng)歷1152~1444年,包含沙羅周期次數(shù)68~75次。[7](P66,69)雖然利用沙羅周期很難準(zhǔn)確地推算日食時刻,但推算日食的日期很少出錯。[18](P150)這樣就可以將歷史上發(fā)生過的日食,全部回推在“沙羅系列”之中,具體表示為“某某沙羅號的第幾次日食”。
給定一個時間段,就可以找出這段時期內(nèi)全部日食的沙羅系列號,同一沙羅號中的次序及其日期等。因此,要證認“魯陽日食”發(fā)生的年代日期,首先要大致框定此次日食發(fā)生的年代范圍,這主要依據(jù)魯陽公本人的活動時代而確定。據(jù)《國語·楚語下》記載:“(楚)惠王以梁與魯陽文子,文子辭,曰:‘梁險而在境,懼子孫之有貳者也……懼子孫之以梁之險,而乏臣之祀也?!踉?‘子之仁,不忘子孫,施及楚國,敢不從子?!c之魯陽。”三國吳韋昭注:“文子,平王之孫,司馬子期子魯陽公也。”[20](P527~528)孫詒讓《墨子間詁》引賈逵注《國語》曰:“魯陽文子,楚平王之孫,司馬子期之子,魯陽公?!盵21](P431)《左傳·哀公十六年》記載,楚惠王十年(前479)發(fā)生“白公勝之亂”,楚令尹子西、司馬子期被殺,葉公子高(沈諸梁)平定叛亂后,任命子期之子公孫寬為司馬。[22](P1704)公孫寬在何時被封為魯陽公,擔(dān)任司馬之職止于何時或者卒于何年,史籍均無記載。雖然如此,我們還是大致可以確定公孫寬任司馬之職的年代范圍,應(yīng)該超不出惠王時代,即自惠王11年(前478)接替葉公至57年(前432)惠王去世,共任職47年之久。假設(shè)他初任司馬時已經(jīng)成年,那么至惠王末年他已年至70歲左右,尚屬合理范圍。魯陽公與韓之戰(zhàn)是春秋末年楚國與晉國之間發(fā)生的一場邊境戰(zhàn)爭,晉國的主將是韓卿,最有可能是韓康子(?~前425)。有了這樣一個年代范圍,就可以依據(jù)大食分日食發(fā)生的時間和地點來考訂魯陽公與韓交戰(zhàn)的具體年代。
日食發(fā)生的地點,取決于“魯陽公與韓戰(zhàn)”是一場防守戰(zhàn)還是進攻戰(zhàn),如果是防守戰(zhàn),戰(zhàn)斗應(yīng)在魯陽本地進行;如果是進攻戰(zhàn),則有可能在與楚國邊地“汝畛”相鄰的鄭、韓境內(nèi),即從梁地(汝州)向北翻過箕山進入到穎水上游地區(qū),這里有負黍、陽城等著名城邑,是鄭、韓、楚、魏等國爭相奪占的軍事要塞,如圖3所示。
圖3 魯陽位置示意圖
據(jù)上引《國語·楚語》記載,魯陽并不是楚國的最北邊境,比魯陽更靠北的鄭、楚邊境有“梁”,如圖3所示?!蹲髠鳌ぐЧ哪辍酚涊d:“楚人……為一昔之期,襲梁及霍。”[22](P1626)《太平寰宇記》記載:“汝州臨汝郡,今理梁縣……即《左傳》謂‘楚襲梁及霍’是也?!盵23](P142)可知楚國邊境的“梁”邑在宋代的汝州治所梁縣,即今河南省汝州市。
關(guān)于魯陽,《漢書·地理志》記載,南陽郡屬縣“魯陽,有魯山,古魯縣,御龍氏所遷。魯山,滍水所出,東北至定陵入汝”。顏師古注:“即《淮南》所云魯陽公與韓戰(zhàn),日反三舍者也?!盵24](P1564)《楚世家》記載:“(肅王)十年,魏取我魯陽?!薄墩x》引《括地志》云:“汝州魯山本漢魯陽縣也。古魯縣以古魯山為名也?!盵25](P1720)《水經(jīng)注·滍水》:“滍水,出南陽魯陽縣西之堯山……滍水又東逕魯陽縣故城南……昔在于楚,文子守之,與韓遘難,戰(zhàn)有返景之誠?!盵26](P722~723)按漢志曰“魯山滍水所出”,而酈注稱“滍水出…堯山”,是謂堯山即魯山。滍水即今汝水支流沙河,實出伏牛山脈之主峰堯山?!对涂たh圖志》卷六“汝州”載:“魯山縣,本漢魯陽縣,古魯縣也,屬南陽郡魯陽公與韓戰(zhàn)酣,揮戈,日為退三舍,謂此地也?!盵27](P166~167)《墨子·耕柱篇》載“子墨子謂魯陽文君”,孫詒讓《墨子間詁》轉(zhuǎn)引畢沅注曰“其地在魯山之陽”。[21](P431)現(xiàn)今魯山縣境內(nèi)已沒有稱“魯山”的山峰,原魯山有人認為是現(xiàn)在的露山[28](P27~28),在河南魯山縣東北,接近襄城縣境。堯山又稱石人山,位于河南省平頂山市魯山縣西部,地處八百里伏牛山東段的脊頂,主峰海拔2153米[29](P19),堯山是汝水上游支流沙河(滍水)和北汝河的共同發(fā)源地。
《水經(jīng)注》的作者酈道元(約470~527年)曾經(jīng)在北魏宣武帝永平(508~512)年間出任魯陽太守,對今“魯山—汝州”一帶的地理形勢和歷史典故非常熟悉,他判斷魯陽君“返景(影)”(日返三舍)之戰(zhàn)是發(fā)生在魯陽本地的一場防守戰(zhàn)。《元和郡縣圖志》大抵沿用《水經(jīng)注》之說,至《太平寰宇記》則指出日食之戰(zhàn)發(fā)生的具體地點在“魯陽關(guān)”:
魯陽關(guān),《淮南子》云“魯陽公與韓戰(zhàn)酣,日暮,援戈而撝之,日為之反三舍。”即此地也。漢改為關(guān)曰魯陽。今有水,俗名三鴉水。南自鄧州向城縣,流入關(guān)是也?!f路,在(魯山)縣西南,七十里接鄧州南陽縣界。[23](P150~151)
如圖3所示,魯陽關(guān)是“楚方城”北長城上的著名隘口。從交通狀況和地理形勢分析,除非楚國方城以外的城池全部丟失,包括魯陽已經(jīng)失守,戰(zhàn)爭才有可能打到楚長城的隘口魯陽關(guān)。而楚惠王時期的楚國正處于對外擴張的強盛時期,大司馬魯陽公的封地被占領(lǐng)幾乎是不可能發(fā)生的,因此《太平寰宇記》推斷的韓方進攻“魯陽關(guān)”的情況并不存在。筆者主張“魯陽公酣戰(zhàn)”是楚國向北擴張或者報復(fù)懲罰韓方的一場進攻戰(zhàn),戰(zhàn)爭應(yīng)該在楚國境外進行,戰(zhàn)場很可能在穎水上游或者楚國邊境的梁地(今汝州),最保守的估計也應(yīng)在魯陽城外進行,故此我們把陽城(北緯34.42°)[30]作為日食發(fā)生的北界;把魯陽(魯山縣城)(北緯33.2°)作為日食發(fā)生的南界。為了保守起見,在下面的天文計算中一律以魯陽地點(112.91°E,33.74°N)為計算條件。
為了確認“魯陽日食”的具體年代,還需要根據(jù)文獻提供的相關(guān)信息估算日食的其他相關(guān)參數(shù),如食分、日食時刻及太陽高度等,這些參數(shù)均不能準(zhǔn)確地認定,但可以大致確定一個適當(dāng)?shù)姆秶?然后綜合這些條件進行篩選,就可以在相應(yīng)的年代框架內(nèi)挑選出符合這些條件限制的日食。
天文學(xué)上用“食分”來表示日月食的程度,食分越大,被遮掩的程度就越大,食分大于等于1為全食。日偏食的食分用日面直徑的被遮部分與太陽直徑的比值來表示,它并不表示太陽圓面被遮掩的面積。但是各次日全食時的月、日直徑之比不同,日全食延續(xù)時間也因此而不同,為了顯示這一差異,食分的概念在日全食時被定義為月球本影直徑和日面直徑的比例,因此大于等于1,最大食分可達1.08。
如果食分過低,肉眼難以看出太陽大小和視亮度在發(fā)生變化。劉次沅給出不同食分對天光亮度的影響[31],在正常情況下可以感覺0.5食分時天光變暗,0.8食分則明顯感覺到天光變暗。如果食分為0.8,再加上陰天或者下雨的屏蔽,天空就會像傍晚那樣昏暗。魯陽日食,人們感覺到了“日暮”,據(jù)此可做出如下推斷:
一是食分不小于0.8,不一定是日全食,可能是大食分偏食或者日環(huán)食;
二是魯陽位于中心食帶附近、0.8食分線以內(nèi)區(qū)域;
三是有云層遮擋日食,人們未看到日食過程,但看到了復(fù)圓之后的太陽高懸在空中;
四是日食發(fā)生在下午,太陽已經(jīng)偏西,故食甚時人們誤以為到了“日暮”。
依此我們首先把食分0.8作為篩選“魯陽日食”的限制條件。食甚時刻可依據(jù)“日暮—日返三舍”的記載來做出判斷。關(guān)于“三舍”,王充《論衡·感虛篇》載:
星之在天也,為日月舍,猶地有郵亭,為長吏廨也。二十八舍有分度,一舍十度,或增或減。言日反三舍,乃三十度也。日,日行一度,一麾之間,反三十日時所在度也?如謂舍為度,三度亦三日行也,一麾之間,令日卻三日也。[2](P230~233)
王充并不知道“日返三舍”究竟是多少度,他將“三舍”看做“日行度”而作了兩種推測,即“三舍等于三十度”或“三舍等于三度”。實際上人眼所見太陽位置的變化,主要是由地球自轉(zhuǎn)導(dǎo)致天體東升西落而產(chǎn)生的,這種位置變化很快(一天轉(zhuǎn)360度)。太陽在黃道上行進的速度很慢(日行1度),而且其方向(自西向東)與地球自轉(zhuǎn)效應(yīng)(天球自東向西轉(zhuǎn))是相反的,人們能夠感覺到天體自東向西的升落運動,但肉眼基本上無法分辨太陽在黃道上的移動。因此王充把“三舍”解釋為太陽行進的“黃道度”(日行度)是不恰當(dāng)?shù)?應(yīng)當(dāng)以度量地球自轉(zhuǎn)速度的“時角”來計量。筆者認為“舍”作為天體位置的度量單位,相當(dāng)于文獻記載的“頃”。[32]《尚書·考靈曜》載:“晝夜之量,三十六頃率”[33](P348);“分周天為三十六頃”[33](P360)。這表明我國古代天文歷算中確有以10°為單位的設(shè)置,我們認為“舍”相當(dāng)于“頃”,那么“三舍”等于30度,在數(shù)值上與王充的說法一致。由于反映的是太陽周日視運動的位置變化,故以“時角”或緯圈上的數(shù)值度量為宜。
“日暮”是太陽已落入地平線以下,但不是很深,人眼還能感覺到“暮光”的時段,俗稱傍晚或者黃昏,那么“日返三舍”應(yīng)該理解為:魯陽公等本以為太陽已落入地下“一舍”(10°),但實際上“天再明”時發(fā)現(xiàn)太陽仍然在地平線以上“二舍”(20°),故此認為太陽已從地下返回天空,共計倒退了“三舍”。左思《吳都賦》謂此“將轉(zhuǎn)西日而再中”,認為“日返三舍”是再次回到了“天中”,顯然沒有這種可能,因為從地下回到天中遠超“三舍”,應(yīng)在六舍至九舍之間。由此可以判斷魯陽日食復(fù)圓時,太陽距離日落地平的時角約為“二舍”即20°左右,如圖4所示。
(虛線太陽表示假想中的“日暮”日入地下)圖4 “日暮”與“日返三舍”示意圖
至于食甚時的時角,要考慮日食全過程的長度。日全食一般只有幾分鐘就過去了,在最合適的條件下也只有7.5分鐘,但先要經(jīng)過1到2小時的偏食階段。[18](P227)近地食的時間為5時14分,遠地食為6時15分。[6](P346)魯陽日食不一定在中心食帶上,我們設(shè)定其全長約為4小時,那么從食始到食甚為2小時;再加上“日返三舍”的時角,得到錯覺“日暮”時的食甚時刻,太陽距離日落地平線的時角距離為:
20°+30°=50°
為了得到地方恒時,我們需要計算半晝弧。我們定性地討論問題,不必考慮蒙氣差和太陽視半徑等因素,采用簡單的半晝弧公式:
cost=-tanδ·tanφ
其中t為太陽落入地平線的時角即半晝弧,φ為觀測地的地理緯度,δ是太陽赤緯,夏至等于黃赤交角ε,冬至等于-ε值。陳遵媯在《中國天文學(xué)史》中列出ε每隔500年的參考值[34](P160),內(nèi)插可得前450年左右(魯陽公時)ε=23.75°,魯陽緯度φ=33.74°,代入半晝弧公式,算得:
冬至半晝弧:t=72.91°
夏至半晝弧:t=107.09°
由此可估算食甚時刻的地方恒時為:
最早:12+(72.91-50)/15 =13.53
最遲:12+(107.09-50)/15=15.81
化算為北京時間,并充分考慮有±1小時誤差,得到食甚時刻的范圍為:
13.53+(120-112.91)/15-1≈13.00
15.81+(120-112.91)/15+1≈17.28
于是我們得到篩選魯陽日食的兩個參數(shù)值的范圍:食分為0.8~1.08,食甚時刻為13.00~17.28時。
現(xiàn)代天文學(xué)據(jù)白塞耳根數(shù)(影的坐標(biāo)、方向、半徑、影錐半頂角等)可計算日食的中心線、南北界限及初虧復(fù)原等時線等,從而繪制出日食路線圖。通用天文軟件Stellarium具有強大的天文計算功能,美國太空總署(NASA)網(wǎng)站發(fā)表艾斯潘納克(Espenak)的《6000年日食表》等,利用這些共享軟件可以立馬輸出歷史日食的相關(guān)數(shù)據(jù)和路線圖。然而依據(jù)引力理論計算所得日食中心線上的點(λ*,φ)為均勻變化的歷書經(jīng)度(平黃經(jīng)λ*),在化算為經(jīng)度(λ)的過程中,因時差(地球自轉(zhuǎn)改正值ΔT)的不確定性而導(dǎo)致結(jié)果差異。一般來說,經(jīng)度差與時差之間有如下關(guān)系[7](P122),[35]:
于是有:
λ=λ*+1.002738ΔT
這里ΔT的單位為秒,T為世紀數(shù)(自公元1800年起算[38](P113~116),c的單位為:秒/世紀2。不同《日食表》主要由n和c取值不同,導(dǎo)致在遠距歷元上的結(jié)果差異。
日食時月影自西向東掃過地面的速度(約1公里/秒)快于地球自轉(zhuǎn)的速度(赤道上最大速度不到0.5公里/秒),月影在地面上仍然以約1700公里時速掃過幾千公里的行程[18](P227)。月影并非沿著緯圈平行移動,在經(jīng)緯度均勻分布的直角坐標(biāo)地圖中,日食帶形狀接近半個周期的正弦曲線,只是相位不同而已。故此從已知點求未知點的日食數(shù)據(jù),至少需要在三個地點之間進行平面內(nèi)插。歷史日食一般有工具書《日食典》或《日食表》可供查找,但工具書中僅列出若干有限地點的參考值,求任意地點的日食數(shù)據(jù)須從已知地點數(shù)據(jù)中插值求得。
內(nèi)插公式如下:xi、yi分別為已知地點的經(jīng)、緯度,zi為已知食分或食甚時刻,基于此以所求地點的經(jīng)緯度x、y而求其z值(食分或食甚時刻),有如下公式[5]P27~29)(:
其中a=(x1-x3)(y2-y3)-(x2-x3)(y1-y3)。下面以張培瑜《日食表Ⅰ》為依據(jù),計算魯陽公時期魯陽地區(qū)的日食數(shù)據(jù)。魯陽(今魯山縣)位于歷史文化名城西安、鄭州和江陵之間,故在此三地的日食數(shù)據(jù)之間進行平面內(nèi)插,可求得魯陽的日食數(shù)據(jù)。已知三地的經(jīng)緯度為:
西安:x1=108.95y1=34.28
鄭州:x2=113.67y2=34.77
江陵:x3=112.27y2=30.30
代入公式求得a值,并得到求z的數(shù)值計算公式:
z=22.5072z1- 26.8185z2+ 5.3113z3
-(0.218z1- 0.195z2- 0.024z3)x
+(0.0686z1+ 0.1626z2- 0.2312z2)y
式中x、y為所求見食地點的經(jīng)、緯度,本例見食地點是魯陽,參考河南省魯山縣政府門戶網(wǎng)站《走進魯山》欄目,查知:x=112.91°,y=33.74°。當(dāng)將z1、z2、z3代入表列的已知食分時,所求z值為魯陽食分;當(dāng)代入已知地點的食甚時刻(表中簡稱“時”以小時為單位),則z值為所求食甚時刻。計算結(jié)果列入表1。
表1 據(jù)張培瑜《日食表Ⅰ》計算的魯陽日食
表中的日食類型和沙羅系列號參考Stellarium軟件,日期干支參考劉次沅《日食表Ⅱ》。同理,據(jù)劉次沅《日食表Ⅱ1-2》所載西安、北京、南京三地的日食數(shù)據(jù),計算魯陽日食數(shù)據(jù),見表2所示。
表2 據(jù)劉次沅《日食表Ⅱ1-2》計算的魯陽日食
將內(nèi)插計算得到的魯陽日食三套數(shù)據(jù),以食甚時刻為橫坐標(biāo)、食分為縱坐標(biāo),展開為散點圖(圖5),然后以食分=0.8~1.08分,食甚時刻=13.00~17.28時為上下限,畫出一個方框,方框之內(nèi)的數(shù)據(jù)點就在誤差允許的范圍之內(nèi),從而篩選出魯陽日食只有兩個年代選項:公元前457年12月16日的日全食,公元前451年3月20日的日環(huán)食,如圖5所示。
圖5 “魯陽日食”的年代示意圖
下面依據(jù)具體日期的半晝長,對這兩個年代進行分析。查SkyMap軟件[主界面·工具欄tools→下拉菜單Eclipses→選項SolarEclipses→對話框(年月日選項)→按鈕Local Circumstance][5](P20),得到日食當(dāng)天的太陽赤緯:前457年12月16日食,太陽δ=-23.3773,接近于冬至點和近地點,月本影大于日面,故此為日全食;前451年3月20日食,太陽δ=-2.5306,接近于春分點并遠離近地點,月本影小于日面,故此為日環(huán)食。將δ值分別代入半晝弧公式cost=-tanδ·tanφ算得t,再定義一個“日返三舍”前的魯陽(E112.91°)食甚時刻:
這里估計從食甚到復(fù)圓長達2小時(30°),再加復(fù)圓時“日返三舍”的時角(20°),然后以半晝長(t)減之,就是正午到食甚的時差。在無計時工具情況下,人們對時間變化的感覺可能存在較大差異,已考慮日食過程長達4小時的情況,再設(shè)置±1小時誤差,就可以保證不至于漏掉可能的合理選項。計算結(jié)果如表3所示。
表3 “魯陽日食”的判別分析
表中由半晝弧推得的食甚時刻(τ)反映了魯陽公對云遮日食的感覺,即由“日暮”感覺到“日返三舍”,由《日食表》內(nèi)插得到的食甚時刻(z)只有與τ值相符合(即z?τ)才是所求的魯陽日食。由表3看出,只有公元前451年3月20丁卯日下午3時左右的那場日環(huán)食(沙羅系列號61)才是魯陽日食,食分≥0.92,在云遮條件下,完全能產(chǎn)生“食甚=日暮”和“復(fù)圓=日返三舍”的錯覺。食甚時刻的太陽高度(h)可由下式計算:
sinh=sinφ·sinδ+cos(τ-180°)
依《日食表Ⅰ》取τ=14.29h,算得地平高度h=41.4°,這就是“日暮”時太陽的實際高度,懸在半空中。由此可計算兩小時(30°)后“日返三舍”時的太陽高度角為h=19.58°。
日月運動的不確定性導(dǎo)致各種日食典的差異,表現(xiàn)為日食圖在地圖上東西方向的位移。[5](P23~24)本文的合理假設(shè)是:魯陽靠近日食中心帶(全食或環(huán)食帶)附近,因此具有很大的食分。劉次沅《日食表Ⅱ1》給出了BC451.3.20的日食圖(圖6)[5](P162),然而其中心食帶從我國西部的內(nèi)蒙—甘肅—陜西—四川—西藏地區(qū)穿過,魯陽離中心線較遠,導(dǎo)致其食分偏小(<0.8),不甚合理。為了說明問題,我們從Espenak的日食圖表及Stellarium的“天文計算”(默認ΔT值)中導(dǎo)出BC451.3.20的中心線數(shù)據(jù),成圖之后發(fā)現(xiàn)兩者彼此很靠近,但仍然從黃河以西穿過(圖6),魯陽地區(qū)離中心食還是很遠(食分<0.8)。中國科學(xué)院國家天文臺“國家天文科學(xué)數(shù)據(jù)中心”(NADC)官方網(wǎng)站有“公眾頻道·日食計算器”欄目,可搜索《日食列表》并輸出數(shù)據(jù)和日食圖,我們搜索到BC451.3.20的日食圖(ΔT=16280.42)與Espenak日食圖近似相同(食分<0.8),均不能很好地解釋魯陽日食(大食分)的“日暮”錯覺現(xiàn)象。為此,本文采用張培瑜《日食表Ⅰ》參數(shù),算得魯陽食甚時刻14.29h,其與劉次沅《日食表Ⅱ1》所推魯陽食甚(15.24h)的時差為(15.24-14.29)h=14.25°,故將劉次沅日食圖中的日食帶向東平移14.25°,得到一幅新的日食路線圖(相當(dāng)于地球自轉(zhuǎn)改正ΔT=18520″),此即魯陽日食的環(huán)食帶路線圖,如圖6所示。
圖6 公元前451年3月20日“魯陽日食”路線圖
另外,在“國家天文科學(xué)數(shù)據(jù)中心”(NADC)網(wǎng)站的“日食計算器”是依據(jù)NASA網(wǎng)站Espenak日食圖的c值得到本年ΔT=16280.42而計算的日食路線圖,本文認為張培瑜日食圖的c值更合理,故改為張培瑜日食路線圖,得到本年ΔT=18520,亦可得到此圖。圖中可見中心食帶從中原地區(qū)穿過,魯陽離中心食非??拷?故此食分達到0.92,因而在“云遮日”的條件下能使人產(chǎn)生“日暮”的錯覺。
魯陽公酣戰(zhàn)事件提出了一個關(guān)于“時間倒流”的問題,大多數(shù)古人對此深信不疑,這大概順應(yīng)了人們希望“時間倒流”的深層次關(guān)切。古往今來人們對此事多所稱引,但終究無人探明其真相。筆者將此事解釋為一次由“云遮日食”引起的錯覺,首次對“回日”事件進行科學(xué)解釋。
古代文獻有關(guān)于日食錯覺的記錄,例如把清晨或者黃昏時“帶食出沒”的日食記為“天再旦”“天再明”“天再昏”等。古本《竹書紀年》載“懿王元年天再旦于鄭”,《夏商周斷代工程》專家組推定為公元前公元前899年4月21日早晨發(fā)生的日環(huán)食[40](P62),有關(guān)專家對此類“帶食出”日食所造成的“明—暗—明”天光變化進行了實測研究,認為“天再旦”現(xiàn)象是客觀存在的。[41,42]另有文獻記載公元1361年“帶食沒”的日食為“天再明”。[43]彭瓞鈞等認為文獻記載禹征三苗的“天再昏”現(xiàn)象(《墨子·非攻下》記“日妖宵出”,《竹書紀年》記“日夜出”),可能是一次日落時的日環(huán)食。[38,44]然而魯陽日食發(fā)生在下午,食甚時(14.29h)的時角為2.29h=34.35°,太陽高度為41.4°;復(fù)圓時的時角為4.29h=64.35°,太陽高度為19.58°,距離日落的時角為88.31-64.35≈24°,即大約在復(fù)圓后1.6小時才日落地平線,因此不能用“帶食沒”來解釋魯陽日食所引起的“日返三舍”的錯覺現(xiàn)象。為此,我們特地提出“云遮日食”的假說,為解釋這一認識史上的奇特現(xiàn)象創(chuàng)造新的范式。現(xiàn)代天文學(xué)有關(guān)日食的計算方法建立在近代幾百年精密觀測的基礎(chǔ)之上,但將其推廣到幾千年以前仍然會產(chǎn)生很大的誤差。盡管現(xiàn)代日月位置的計算公式參考了古代觀測記錄,但由于古代記錄的精確度和可信度都有限,所以天文學(xué)家更希望找到盡可能多而精確的古代天象記錄來改進計算方法。[42](P62)千年以上的日食一般僅記錄日期,如載某某日期(干支)“日有食之”云云,沒有提供食分和食甚時刻等相關(guān)信息。魯陽日食可以相對確定食分和食甚時刻的大致范圍,因此具有更高的科學(xué)價值。以魯陽日食為例,比較一下國內(nèi)通行的張培瑜、劉次沅日食表,參考國際著名天文網(wǎng)站Stellarium、Espenak和SkyMap等日食計算,我們認為只有張培瑜日食表更符合實際,并以此導(dǎo)出相對精確的地球自轉(zhuǎn)改正值(ΔT),從而對確定常數(shù)c值具有參考意義??傊?對魯陽公酣戰(zhàn)日食進行研究,不僅解決了一個楚國歷史事件的年代問題,而且具有認識論上的意義,有一定的科學(xué)價值。