李志超
恩格斯曾指出,天文学是人类最早发生的科学。中国也不例外。本文要讲的是中国天文学的最早的精确史料——《国语·周语》的一段文字。它足以证明,周武王的史官们已经具备基本的科学素养,其知识体系足够称为科学。为了帮助不熟悉中国古天文的读者、特别是海外出生的年轻人理解本文,先要讲一点有关的基础知识:阴阳合历规则和岁差原理。
现在全世界华人仍以夏历与公历并用,春节是夏历的元旦。夏历不是夏代的历法。考古学的夏代是龙山文化或二里头文化,还没有文字。夏历是东周初期晋人之作,晋为夏墟,故称“夏历”。夏历与中原其他古历的共同点是阴阳合历,以月亮圆缺周期为1个月,以太阳在正午的高低周期为1年。1年比12个月多11.25天,为了保持月份编序数与季候基本一致,就要隔一两年加1个闰月,19年加7个闰月,闰月的编序数与上月相同。但是到底哪个月后加闰,这是直到秦朝还没有完全解决的问题。夏历把冬至月定为11月,而周王朝的历法把冬至月定为正月(1月)。“正”的意思是测量正午的竿影。那时不会推算冬至,要每天观测正午竿影,最长那天定为冬至,也就决定了正月。儒经《春秋》用周历,所以书中说的春季正、二、三月是夏历的十一、十二和一月(夏历仍叫正月)三个月,正是最寒冷的季节;而秋季七八九月是夏历的五六七月,正是最热的季节。
岁差是指赤道在恒星背景上的移动。太阳在恒星背景上沿着黄道从西向东一年转一圈,每72年春分点在黄道上向西移动l度。晋代的虞喜发现岁差,比欧洲晚500年,在这以前都以为一年四季昏后的恒星以与太阳一样的周期变化。所以汉朝人不可能编造出周武王时期每月的天象。严格说是明朝以前都不会,因为中国人原来误以为岁差是黄道在恒星背景上移动而赤道不动。直到明末传教士来华,才知道不是黄道动,而是赤道动。
图一表示岁差,其中黄道是个正圆,周围分布廿八宿,等分为12个区间,称为十二次,如玄枵、星纪、析木……赤道在图上不是正圆(在球面星图上是与黄道一样的正圆),但很接近正圆,它以黄极为中心逆时针旋转,每72年转1度。赤道与黄道相交的两点是春秋分点,正在黄道的一条直径的两端,与这直径垂直的直径两端是二至点。
我们要讨论的是公元前522年泠州鸠的话,他回答周景王的问题,说:
昔武王伐殷,岁在鹑火,月斗柄,星在天鼋。星与日辰之位皆在北维,颛顼之所建也,帝喾受之。我姬氏出自天鼋。及析木者有建星及牵牛焉。则我皇批大姜之侄伯陵之后逄公之所凭神也。岁之所在则我有周之分野也。月之在辰又农祥也,我太祖后稷之所经纬也。王欲合是五位三所而用之,自鹑及驷七列也,南北之揆七同也……王以二月癸亥夜陈,未毕而雨……
原文的下文讲武王用音律助战,离我们的兴趣较远,略去不引了。从天文学分析证明,这确实是武王伐纣当时的史官所记。关键是从汉代的刘歆起人们已经弄错了其中几个天体的名称所指,今人若不加考据纠正,就只能把这条珍贵史料弃置不用。
天体名不可径以后世之文为解。黄道恒星在西方分为“十二宫”,如双子、天蝎等;在中国古代是“十二次”,如实沈(参)、大火(商)等。但周武王时十二次之名尚未问世。“鹑火”是十二次之一,那么泠州鸠所说的“鹑火”是什么?那应该是“鹑”(大约是翼宿)和“火”(即心宿二)两星象名的连举,其下文“自鹑及驷”就是单举一个“鹑”字的。所以“岁在鹑火”是说:木星的位置在鹑和火之间的天区里,大约是轸角亢区间,属“寿星”之次。不说“寿星”这个名字,是因那时尚无此名。“天鼋”按后人注解就是“玄枵”之次,不叫“玄枵”也是因为那时没有这个名称。“析木”也是一次之名,不说“析木之次”而曰“析木之津”,也是还没有“次”。“析木之津”指天河东岸,正是民间流行的很形象化的朴实名称,原非史官古奥典雅之词。
《国语·晋语》记公元前644年公子重耳在流亡路上求食,“野人举块(土筐)以与之”,子犯说这是好兆头,是“获土”,要大家记住:“岁在寿星及鹑尾,其有此土乎。”十二年后重耳过黄河归晋,问对记录中说到岁在大梁、实沈、大火等次。这表明那时已有十二次之名。
“天驷”是房星(天蝎的头部)没有问题。“辰在斗柄”,问题就大了。历来按《左传》说(与伐纣无关),解此“辰”为日月之会,错了。从“星与日辰之位”以“日”与“辰”并举,也不该是以辰为日月之会。且既有日月各自的位所,再提日月会合位所,正是画蛇添足徒增干扰。解“斗柄”为北斗之柄更无道理,实际上那是黄道斗宿,南斗六星之柄。之所以长期坚持谬说而不悟,是因把“星在天鼋”的“星”解为水星。其实,“辰”才是水星,而“星”是金星。拿五行与五大行星相配,在秦汉主要是一种诠释或代号,用五行正式命名行星是更晚的事。古称水星为“辰星”,称金星为“太白”,这在天文史界是常识。称金星为“星”则鲜为人知,只是笔者的发现,然而说“星”是水星则毫无根据。
郭沫若《甲骨文字研究》说,(辰)与(蜃)相关。上古用大蛤蛎壳割禾。辰字上顶一横是象天或星的,下部象耕作之农夫,后来的“晨”字以及其他几个与农事相关的字都用“辰”为偏旁。水星仅出现于昏旦地平线上,正如勤于田事的农夫,“辰星”就是“农夫星”。“星”字金文,上为内含一点的圆圈,象明大天体;下为一棵树,立在由一横表示的平地上,既强调不是山上的树,不很高,又不像水星之很低,这正是金星及其方位特征。用这两个字作成星名可资证明其文之古老,且未经转变。只是当时辰不在斗柄,差了十几度。实际是当时水星距日太近,已四十多日不见,仅由推测说在斗柄处,偏差大,但不是错误。
用计算机推得的天象图如图二,相当于图一的下边部分放大了,天蝎易辨,残月在蝎头房宿。此图是上北左东。面南而立,高举仰视,与星对应。它出现在公元前1045年冬至前27天,儒略历12月3日,儒略日数为1340073。金星夕见在虚宿,正是天鼋。土星和水星一起,靠近日边看不见。火星(图中没有)晚上在接近中天的位置,旦前不见。
由于月行每日十三四度,相当快,而天驷之位又是很窄的,故而这幅天象图所对应的时间只在一日之内,那就是周师出发的丁亥日,四天后辛卯朔。越36日为“二月癸亥”,周历二月初三,夏历的十二月初三。这天半夜武王布阵操演战术,天下起雨来。次日甲子发生牧野之战。甲子前10天甲寅是冬至,儒略历是12月30日,儒略日1340100,相当于现在的公历12月21日,周历是正月廿四日。
《荀子·儒效篇》说“武王之诛纣也,行之日以兵忌,东面而迎太岁。”也完全符合实际。丁亥清晨四点钟出
发向东走,木星距日5小时,确实在正东方。37天后,牧野战日清晨5点钟天还没亮,大约是雨过天晴,残月在东,木星正在中天,与西周青铜器利簋的铭文“岁鼎克昏”符合,是可用以鼓舞士气的好事。这一天是儒略历公元前1044年1月9日。
泠州鸠语中前头22字(引文中的下划线粗体字)所述天象,图景清晰,没有错误。
“星与日辰之位皆在北维”是太阳和两个内行星都在斗牛女虚之间。直观的太阳周围不见星,史官认识到太阳与别的星体一样,也处于周天星宿之间,这标志着天文学超越直观已达一定水平。把赤道周天划分四维并各命为东西南北,是精密分度的前奏。进一步应该是分出十二次,再进一步是每天恒星西移量定为一度,周天365又1/4度。为了分度要找合适的标志星,于是有了二十八宿。这些进步大约发生在春秋中期以前。天之四维以及分野等概念的发生,表明已经发明站在旋运的天穹上而认其为静止的理论处理方法,这是现代相对运动坐标概念的滥觞。这些都说明天文学可以称为科学了。
整条史料又是占星术在最早的天文学实录中的体现。
说这个天区是颛顼、帝喾占领的,以及“姬氏出自天鼋……”云云,这是后世流行很久的所谓“分野”的概念。“辰马”(天驷)是耕田之马;“农祥”是农事的保护神或佳兆。周人是农业民族,故重视辰星,并谈到很多农事,这很合情理。
“五位三所”:木星、月亮、水星、太阳和金星五个天体为五位;三所是指日、月、岁三者所在的分野——颛顼、姬氏、大姜(炎帝之姓)为“星与日、辰”之所;后稷的天驷为月之所;周室先祖的分野则为“岁之所在”。这三所分属:北维斗牛女虚区、东维房心尾箕区、南维与东维的交界翼轸角亢区,从图一来看,近平等足巨。
“七列”的列是田间阡陌。由五个天体分出六片区域,加上两个边线,共有七条界线;但也可能是五个天体加上鹑和火的标志星,由它们引向北天极的线。“自鹑及驷”,注意是“及”不是“至”,是顺着鹑、驷……的次序数过去,不是到驷为止。
“南北之揆”,“揆”是度量,初文是“癸”,甲骨文X,形为交叉的两把尺。“南北”当然是天之南北。此指自天北极到各天体的度量,也就是赤纬上的数,把吹管乐器“律”的长度比例与七个天体取同,谓之“七同”。有度量和数,是成熟科学的特征。
《汉书·律历志》载刘歆“世经”之文,其中有历史上第一次对伐纣年代的推算。他认为《春秋》记事从灭商之年后整400年开始,是为隐公元年(前722年)。从鲁求釐公五年(前655年)正月辛亥朔冬至(前656年)可以算得隐公元年的正月朔日和冬至日(前723年)的干支。中间可能参考隐公三年(前720年)二月己巳朔日食。400年146100日,是60的整数倍,故灭商之年冬至的干支与隐公元年一样是己未。他的回归年是365.25日(余分l/4),因而400年多算了三天,那年冬至实际是壬戌。他的朔望月数是29.53085(余分43/81)。467年多算了一天半,但却凑成了二月初五甲子,与《尚书·武成》的记载对上了。那时的晦朔是定不准的,差一两天是常事。刘歆只抓住这一点,对其他天体则委曲勉强地作解释,并不很照顾合理性。然而这反倒证明刘歆没有造伪,因为要造伪则当面面俱到地合理化,哪管是只合他自己的理。
(作者单位:中国科技大学科技史与科技考古系)