古代人們對於日月食成因的認識是很早的。《易》、《詩》中已有日食的記載。石申認識到日食和月亮有關,必定發生在朔或晦。西漢末劉向在《五經通義》中寫有“日食者,月往蔽之”。這說明最遲在西漢時,人們已經明白了日食的產生原因。東漢的張衡對月食的成因更是作了清楚的解釋,他認為月光來自太陽所照,大地遮住了陽光,便產生月食。沈括則清楚地解釋了不是每一朔望月都發生日月食的道理,是因為黃道和白道不在一個平麵上,而是相交的,隻有當日月處在黃道、白道相交的地方才會互相掩蓋而產生日、月食。隨著對日月運動研究的深入,推算日月食的方法不斷改進,預報的結果也就越發準確。
地球在繞太陽公轉時,自轉軸和它繞太陽公轉的軌道平麵不是垂直的,而是成一個66度33分的夾角。這樣就形成了地球上春、夏、秋、冬四季的變化。在這些變化中,人們把一年中白天最長、正午的太陽最高的一天叫做夏至;白天最短、正午時太陽最低的一天叫做冬至。白天和黑夜平分的兩天分別叫做春分和秋分。後來又規定四個季節的開始分別為立春、立夏、立秋和立冬。再後來又根據雨水多少、氣溫高低與農事活動情況製定出24節氣。
天文銅鏡是古代觀測天象的重要工具。銅鏡呈圓形,直徑27厘米,獸形鈕。邊緣飾有如意雲紋,鏡麵有文、圖共五圈:
第一圈為四神:青龍、白虎、朱雀和玄武。它們分別代表東、西、南、北四個方向。
第二圈為十二屬,代表十二地支。大約從西漢初年起,民間就流行用“屬相”推算歲數的方法。十二屬就是把地支與十二生肖聯係起來,即:子鼠、醜牛、寅虎、卯兔、辰龍、巳蛇、午馬、未羊、申猴、酉雞、戌狗、亥豬。用十二屬相計算年齡,形象好記,在群眾中流傳很廣。
第三圈為八卦:依次為乾(天)、坎(水)、艮(山)、震(雷)、巽(風)、離(火)、坤(地)、兌(澤)。這既概括了宇宙間的自然現象,也代表八個方位。
第四圈為二十八宿:四方各有七宿。東方為角、亢、氐、房、心、尾、箕;北方為鬥、牛、女、虛、危、室、璧;西方為奎、婁、胃、昴、華、觜(音zī)、參;南方為井、鬼、柳、星、張、翼、軫。其中的婁、井、亢、牛四宿為春分、夏至、秋分和冬至時太陽所在的方位,也是水星(辰星)所在的位置。
第五圈有詩一首:“長庚之英、白虎之精,陰陽相資,山川效靈。憲天之則,法地之靈,分列八卦,順考五行。百靈無以逃其狀,萬物不能遁其行,得而寶之,福祿來成。”銘文中的“長庚”就是“金星”,帛書中叫做“太白”。它早晨出現於東方天上叫做“啟明”,傍晚出現在西方天上則叫做“長庚”。帛書《五星占》中說:“西方金,其神上為太白,是司日行。”金星,遠在春秋戰國時代,我們的祖先對它已有認識了。
關於二十八宿的體係,大致在商代中期就開始形成了。至公元4世紀,其體係已基本建立。它對於測定群星距離赤道的遠近很有幫助。
《八卦圖》與電子計算機
人們在談論現代科學技術的先進性時,總要說到電子計算機。現代化的生產和生活,到處都有電子計算機的應用。
一部小小的電子計算機,可以進行加減乘除、乘方、開方等幾十種運算,在一秒鍾之內,能夠運算幾十萬次,甚至幾百萬次,這是任何人的大腦運算速率所達不到的。
人們在為電腦的高效率而驚歎時,有誰想到過,它和我國古代的《八卦圖》竟有著密切的聯係。可以說,《八卦圖》中所包含的運算製是電子計算機所以能夠誕生的基礎。這絕不是聳人聽聞!
電子計算機所采用的二進位製,即“逢二進一”,是17世紀德國卓越的科學巨匠萊布尼茲創立的。這對於現代科學技術和生產的發展,以及社會的發展,都起了重要的作用。
然而,有趣而又使人驚奇的是,遠在我國周代,勞動人民就已經運用二進位製數學來進行計數了。《八卦圖》就是曆史的見證。馬王堆漢墓文物中,還有帛書《易經》(原無篇題,研究人員暫取此名)的第二部分,專門論述由八卦演變出來的《六十四卦》。後來有人把八卦簡要地圖像化為《太極圖》。在公元10世紀的後漢年間,有一位叫魏伯陽的學者,寫了一本叫做《周易參同契》的書,對《太極圖》作了詳盡的記載和闡述。我國一些上了年紀的人,大都比較熟悉《太極圖》。在現今還存留的一些古廟建築中,特別是在孔廟廳堂橫亙正中心的木梁上,就有這種《太極圖》。可別小看了這張普普通通的《太極圖》,它對古代中國方士的經典著作《周易參同契》作了最集中、最簡明扼要的圖像描述,稱得上是中國古代勞動人民智慧的結晶,是比“四大發明”、“絲綢之路”意義更加深遠的珍貴文化遺產。據史料證實,二進位製數學與計算機的發明和應用,同中國的《太極圖》有著不可分割的親緣關係。萊布尼茲是在中國《太極圖》的啟示下,才發明了二進位製數學的。因此,萊布尼茲對中國懷有一種特殊的情感和興趣,但是,因為條件的限製,他沒有來過中國。
《太極圖》,有的人叫作《八卦圖》,如果你留心的話,在一些舊房屋的牆頭上也能看得到。因為在封建社會裏,人們是把《太極圖》當作神明來供奉的;舊社會的巫婆、道士,也借用它來畫符念咒,進行封建迷信活動。因此,有的人一看到它,就誤以為它是迷信的產物。其實,《太極圖》來源於古代的生產、生活實踐,是被人們廣泛采用的一種記事方法。它涉及天文、地理等知識。對於它所記述的實際內容以及它的科學價值,仍有待於人們去認識和探討。
據傳說,八卦是伏羲氏首創出來的,原本是古代用作記事的一套有象征意義的符號。它用一長橫線〔—〕表示陽,以兩短橫線〔--〕表示陰。運用這樣兩種符號的變換,組成了8種不同的圖像,名稱分別叫做乾、坤、震、巽、坎、離、艮、兌,統稱為八卦,分別代表天、地、雷、風、水、火、山、澤。它不但概括了各種自然現象,包含了豐富的辯證法思想,而且推出了數學概念,就是以“陰爻”〔--〕代表0,以“陽爻”〔—〕代表1。據此變化繁衍,以至無窮。根據《太極圖》圖像排列,我們可以列出八卦,甚至六十四卦的次序。
如此類推,直至六十四爻。這正是:無極生太極,太極生兩儀,兩儀生四象,四象生八卦,並推演出六十四爻。
有人認為,八卦很可能就是最早的甲骨文字。有一首卦歌是這樣說的:
乾三連,坤六斷;
兌上缺,坎中滿;
離中虛,巽下斷;
震仰魚,艮複盌。
從這八句卦歌中,也可以看出八卦圖是象形文字的雛形。同樣,六十四卦也都是觀物取象的。
《太極圖》的內容極其豐富,其中一項十分重要的內容是,它包含了巧妙的二進位製記數原理。公元1701年秋末,正當54歲的萊布尼茲為探尋乘法計算機原理而苦苦思索的時候,他意外地收到了一位法國傳教士從北京寄給他的《伏羲六十四卦次序圖》和《伏羲六十四卦方位圖》。這兩幅古老的《易圖》,在關鍵時刻幫助和啟發了這位數學家,他從中看到了從0到63的二進位製。這種科學的計數方法,使萊布尼茲創立起歐洲的二進位製數學。不久,他終於成功地製造出了當時最新型的乘法計算機。據說,萊布尼茲為了表達他對中國文明的敬佩心情,特地給當時的中國康熙皇帝寫了一封熱情洋溢的信,並且寄來了一篇研究八卦的數學論文,他還贈送給康熙皇帝一台計算機的複製品,希望能夠和中國開展科學技術交流與合作。誰知夜郎自大的康熙皇帝揮筆批曰:“天下之事,何必師事夷人!”一筆竟堵塞了交流渠道。
在距今10個世紀以前,魏伯陽集先人之大成,艱辛著述,寫成了《周易參同契》一書,頗受曆代科技人員的讚賞,不少學者先後為它寫過許多注本,為它畫過幾十種圖像,作了諸多解釋。在眾多的圖像中,如《九宮八卦圖》、《六十四卦相生圖》、《伏羲六十四卦方位圖》等,《太極圖》是其中最簡易而又最概括的一種圖像。
《周易參同契》不是宣揚鬼神的工具,而是一部內容豐富多彩的自然科學專著。它主要是研究人體生理功能,與死亡做鬥爭,以及延長人類生命的醫學專著,其內容涉及生物學、生理學、物理學、化學、數學、醫藥學等等。它是我們研究古代科學技術十分難得的經典文獻。魏伯陽在書中繼承了中國淵源極其古老的一門學術,假借一些爻象作為象征性的符號,把從自己身上所做的實驗觀察,做了如實的嚴密的記錄。一部“參同契”,有千言萬語;而一張小小的《太極圖》,言簡意賅,畫龍點睛,顯示了中國古代燦爛的文化。有人把《周易參同契》看成是打開中國古代科技寶庫的金鑰匙,不是沒有道理的。
怎樣用幹支紀年
幹支紀年法是我國古代曆法中的一項重要創造。“幹支”又叫“杆枝”,是天幹與地支的總稱。天幹的順序是甲、乙、丙、丁、戊、己、庚、辛、壬、癸;地支為子、醜、寅、卯、辰、巳、午、未、申、酉、戌、亥。
用幹支計算年、月、日的方法,就是把天幹和地支搭配起來,如甲子、乙醜、丙寅、丁卯……因為天幹隻有十個,而地支卻有十二個,所以搭配到癸酉時,天幹得從頭輪起。這樣周而複始地排列,經過60年又回到“甲子”。60年就叫做一個“花甲”。
我國曆史悠久,文獻記載連綿不絕。今天,我們碰到幹支紀年時,怎樣去推算它的公元年呢?由於幹支紀年法是60年一循環,所以最小的公倍數是60。例如已知鴉片戰爭發生在1840年,這一年是庚子年,那麼:
1840+60×2=1960
公元1960年也是庚子年。由此類推,再過20年,公元1980年即是庚申年,公元1985年則是乙醜年。
幹支紀年法雖有許多優越之處,但如果沒有熟記,排列起來也是挺費神的。為了計算方便,熟記熟用,人民群眾從實踐中總結了一些簡便方法。例如用手指掐算幹支紀年的方法,就簡明扼要。這裏不妨分別簡要介紹一下。
先說計算法。隻要我們知道了某一年的幹支年,就可以推算出其他任意一年的幹支。例如我們已經知道公元1803年是癸亥年,那麼:
1803+60×2=1923(年)
公元1923年也是癸亥年。它距離公元1963年有40年,用天幹個數去除40,恰好除盡,用地支個數去除則剩4。按照天幹地支的次序,第十個天幹是癸,第四個地支是卯,因此公元1963年是癸卯年。
再說手指掐算法。用手指掐算幹支,大概很早就有了。清代李汝珍所著《鏡花緣》第七十五回談到古課問題,就是用手指掐算的。他所說的“地盤式”排列方位,就是我們要說的方法。為了便於說明,我們在這裏畫了一個圖。為了便於記住,附口訣四句:
天幹變化無定位,地支分布列四邊;
天幹順推求個數,地支逆跳加十年。
圖一為地支部位。天幹的部位則沒有固定,它好像是一個能轉的齒輪套在地支的外邊。10個天幹好像10個齒,隨著地支而變動。圖中箭頭轉動的方向和鍾表一樣。假若現在說“甲子”,就要把“甲”字指在“子”的位置上(在左手無名指的下節)。按照這個“齒輪”所列的天幹次序,一字一字地和手上的地支配上,那就是:甲子、乙醜、丙寅、丁卯……假如你說“甲寅”,就要把“甲”字指到食指下節的“寅”字,好像這個齒輪往前移動了。這時天幹地支的配合便成了甲寅、乙卯、丙辰、丁巳……
天幹不像地支那樣在指頭上有固定的部位,而是跟著地支而變化的,所以詩的第一句說“天幹變化無定位”。但有一點要注意,天幹的單數(甲、丙、戊、庚、壬)一定要配上地支的單數(子、寅、辰、午、申、戌),天幹的雙數(乙、丁、己、辛、癸)一定要對上地支的雙數(醜、卯、巳、未、酉、亥)。在第二圖上把它們的單數和雙數用不同的字體區別開來,以便在練習時不致搞錯。
現在舉乾隆“庚寅”年為例,看是乾隆的第幾年?這裏要有一個先決條件,即我們要求得的幹支年所對應的年份,就要先知道它的第一個年頭的幹支是什麼才行。乾隆第一年的幹支是“丙辰”,從圖中先找到地支的“辰”字(在食指第二節),然後配上天幹的“丙”字,即乾隆的第一年是丙辰。這時第二圖中的天幹有如齒輪的轉動一樣,把“丙”字轉到“辰”字上,以此為起點“1”算起(注意:後邊談到計算公元年或是計算每個人的實歲時,作為起點的數字應當是“0”而不是“1”),順著圖中箭頭往前推算成為這樣的情況:
數字:12345……
天幹:丙丁戊己庚……
地支:辰巳午未申……
我們一般的習慣,要求得數目字,比如說要求得乾隆二十五年,是先求得十位數,再求個位數,而用手推算,是先求個數,然後求十數。天幹可以代替從“0”至“9”的每一個數字:
0123456789
庚辛壬癸甲乙丙丁戊己
不是說,天幹所代表的數字在任何地方都不變,而隻是講它是相對不變的。比如公元○年正好是“庚”年,凡是能用10除完的公元以後的年份,都是庚年。於是,天幹和數字就這樣套上了。
記住這個相對應的數字和天幹是有用處的。比如“己”字永遠是代表公元後年份個數的“9”,79年就是己未,10年前的69年是己酉,10年後的89年是己巳,這是相對不變的。但是,我們現在要求的是乾隆年代的天幹,它的天幹第一年是“丙”,按照這個次序數和“天幹”套上之後,卻變成這樣了:
0123456789
丙丁戊己庚辛壬癸甲乙
以乾隆的年號來說,上列的天幹所代表的數字也相對不變了。口訣的第三句說“天幹順推求個數”,就是說,你隻要知道所求對象的第一年是什麼幹支,就能順著次序求得它的個數了。如從乾隆“丙”年起推到“庚”年,它的個數是5,以後隻要逢著乾隆天幹有“庚”字,也就有個數5。
現在我們再來看所舉例子的圖中,天幹“庚”字對數字5,是落腳在地支的“申”字(在小指的第一節),如果我們要問的是乾隆庚申年是他的第幾年,那就不用往下求了,它就是第五年。可是,我們要求的是“庚寅”年,既然已經求得了個數5(天幹的庚),再求得它的“十”數即地支的“寅”就行了。這就要用口訣的第四句:“地支逆跳加十年”。從何跳起又怎樣跳呢?請看圖四。這裏必須注意,單數和雙數兩種不同的字體,同時也要注意上邊我們所說的單對單,雙對雙,不能單雙相對而弄錯了。現在,從“庚”和5的落腳點“申”字(在小指的第一節)跳起。所謂逆跳,就是往回跳,像跳棋一樣,隔一字一跳,第一次要跳到“午”字(在中指上節),這個好像寫有“庚”字和“5”字的跳棋子,和“午”字配合起來,就得到“庚午”;因為每跳一次要加10年,和“5”字加在一起,就是15年。也就是說乾隆“庚午”年是乾隆十五年。再往回跳就要跳到食指第二節“辰”字處,這時就是“庚辰”,加10年就是25年。跳第三次就跳到食指下節的“寅”字處,就得到“庚寅”;再加10年,就是35年了。乾隆的“庚寅”年是它的35年。如果還要往下跳就是:“庚子”年是45年,“庚戌”年是55年,“庚申”年是65年。可是,乾隆隻有60年。所以,我們在推算某一個皇帝的年號或某人的年數時,既要知道他的第一年,也要知道他的最後一年,才不至於算錯。