第83章 年月日的故事
笔者提醒:推动古代数学发展的是天文观察,本章再现了古人从结绳计数开始的历法研究。不喜欢天文学的读者朋友请跳过此章。
最近二狗学习物理的速度有点慢。一是因为家里治丧的影响,授课停了一段时间。二是因为二狗安排了一些时间来阅读史哲类的书。三是他还要穿插着学习高等数学,因为他发现要学好物理,必须要先学好数学。四是他学的东西越来越难了。
学习物理不像学习数学,数学只要研究方法就可以了。不是太深刻的数学问题,不需要做哲学方面的思考。而物理学不同,许多物理现象和人们的日常生活经验并不一样,有许多是正好相反的。背后的许多问题甚至涉及人的世界观问题,进入到哲学的范畴。因此,光靠读书的速度快和脑子反应快已经不行了,它需要静下心来去体验和感悟。
二狗很喜欢学习物理,因此有点舍不得学得太快,他要慢慢地品味,细细地琢磨。上一次有关“米”的对话使他对物理量的研究有了兴趣,今天又到了周末,又是几位老师过来玩的日子。
二狗照例招待他们吃了晚饭,晚饭后就进入了沙龙的环节。
上次讨论关于“米”的对话结束的时候,二狗就提出了“秒”的问题,这次关于“秒”的讨论就成了沙龙的主题。下面是他们对话的内容。
“今天我先给大家讲一个故事吧。”高建开言。
听故事总是让人愉快的事情,三人都表示洗耳恭听,于是高建开始了他的杜撰。
“在很久很久以前,也许是在旧石器时代的母系氏族社会,人类就开始在华夏的大地上劳作。春夏秋冬,寒来暑往,他们日出而作,日落而歇。他们已经从极危险和极不稳定的狩猎生活中解放出来,开始开垦土地,从事农耕的生活。
“当春天到来的时候,他们就把种子播下去,秋天到来的时候,他们就把谷子收了。除了留下种子,剩下的就可以作为越冬的食物。谷子丰收的时候,总是最激动人心的时候。他们在劳动中付出了汗水,也收获了智慧,收获了希望,生活变得越来越稳定起来。
“不如意的事情也是有的。如果不小心误了农时,庄稼就没了好的收成。当杨树的绿叶长满了枝头,布谷鸟的叫声在天空中回荡,他们就知道,要播种了。当杨树在秋风中飘下第一片叶子的时候,他们的谷子就要成熟了。但是日子总是不能掐得那么正好,谷子不是播得早了就是播得迟了,很难有个准确的日子。
“就这样,布谷鸟来了一次又一次,杨树的叶子落了一回又一回。
“一个智慧的老人,日夜仰望着天空。他看见圆圆的太阳挂在天空,就用尖锐的石头在一片龟甲上刻了一个圈。他看着有些空,又看了看太阳,一束强烈的光线刺激着他的眼睛,于是,他把石头磨了磨,又在圆圈的中心加了一个点。老人自言自语道,这个叫日。他看着是好的,就这样成了。
“夜晚,老人又仰望天空。他看见弯弯的月亮挂在夜空,就用尖锐的石头在一个龟甲上刻了一个半圆。他看着有些空,又看了看月亮,一束淡淡的光线照亮了他的眼睛,于是,他把石头磨了磨,又在半圆的中心加了一个点。老人自言自语道,这个叫月。他看着是好的,就这样成了。
“谷子成熟的那天,农人载禾而归。老人手拿禾穗,一阵琢磨。他用尖锐的石头在一个龟甲上先刻了一个禾,在禾的下面又刻了一个人。老人自言自语道,这个叫年。他看着是好的,就这样成了。
“老人把刻着年月日的龟甲用骨钉并排钉在了墙上。某一年,当谷子又成熟的那一天,老人做了一根绳子,在绳子的起端打了一个结,挂在那根钉着年的骨钉上。他又做了第二根绳子,在绳子的起端打了一个结,挂在那钉着月的骨钉上。他又做了第三根绳子,在绳子的起端打了一个结,挂在那钉着日的骨钉上。他看着是好的,就这样成了。
”第二天,当太阳从东方升起的时候,老人就在那第三根绳子上打一个结,两结相距一个拳头,日复一日,从不间断。绳结越来越多,绳子越来越长,一直拖到了地上。
“有一天晚上,老人夜观天象,星光暗淡,一轮满月挂在天上,于是老人在那第二根绳子上也打了一个结。位置和当日第三根绳子上最新的那个结对齐。月复一月,从不间断。绳结越来越多,绳子越来越长,一直拖到了院子里。
“有一天,又到了谷子又成熟的日子,农人载禾而归。于是,老人在那第一根绳子上也打了一个结。位置和当日第三根绳子上最新结的那个结对齐。绳子已经有36米多长了。年复一年,从不间断。绳结越来越多,绳子越来越长,一直伸到了远方。为了管理方便,老人每年都把绳子盘起来,每根绳子都盘了12圈,形成1米直径的圆。
“当第19个年结产生的时候,老人一共打了月结235个,日结6940个。
”老人掐指算了一下,一个年结平均对应了36525个日结,一个月结平均对应2953个日结。
“当第二十个年结产生的时候,老人觉得自己的生命快走到了尽头,他叫来了他的儿子,让他继续完成他的结绳工作。
“老人的儿子想:一年太长了,可以把一年分成四份,每一份叫一季,这四季对应着春夏秋冬。
“春夏秋冬,寒来暑往。四季的变化摆在那里,它们总是跟年的周期同步。但是年的起点在哪里呢?春天的起点在哪里呢?昼夜的长短也随四季而变化,冬天的夜是那么漫长,那么哪一夜是冬天最长的夜呢?
“禾又熟了二十回,老人的儿子也成了老人,他觉得自己的生命快走到了尽头,又叫来了他自己的儿子,也就是老人的孙子,让他继续完成他的结绳工作。绳结越来越多,绳子越来越长。
“在一个风雨交加的夜晚,老人的孙子站在窗前,看着满天的乌云,他看不见今天的月亮了。但是他知道,月亮一定在那里,如果不是这乌云的遮挡,今天一定有一个又大又圆的月亮。现在他不用看桃花,也知道春天的来了。他已经可以告诉农人,什么时候播种,什么时候禾熟。只要记下上一年禾熟那天的日结,今年绳结的位置也是一样。
“禾又熟了二十回,老人的孙子也成了老人,他觉得自己的生命快走到了尽头,又叫来了他自己的儿子,也就是老人的曾孙子,让他继续完成他的结绳工作。现在每根绳子都达到了2200米长,每盘绳子已经盘了720圈。底部的绳子已经烂了。他的曾孙子觉得可以对前面的工作作一个了结,又开了三个新绳子。
“就这样,一代一代地传承了下去。禾熟60次,就作一次了结。最早结的那盘绳子已经烂掉了,不过不要紧,老人的子孙改进了方法,已经把那些记录在绳子上的信息,刻录在竹片上、木板上,烧制在陶土上。一代一代地保存下来。
“定下季的起点有点难,老人的子孙想了很多办法。除了白天观太阳,又增加了晚上看星辰。天上的星宿在变化,北斗的勺柄在旋转,和四季相合的很明显。禾熟的日子无准时,星空的变化却和四季完全相合。就这样,老人的子孙日日夜夜都在观察。
“时间来到了尧的时代,年和月的天数已测得相当准确了,老人的子孙已不用结绳了,他们成了天子的历官。历字的甲骨文上面是两个禾字,下面一个止字,意思就是在两次禾熟之间走过的长度。历官的任务就是测量两次禾熟之间有多少个日子。其目的就是用来指导农时。
“四季的天数也弄清楚了,春夏秋冬的中点也大体上知道在哪一天,虽然还不准确,指导农时已差不多够用。但是,预测的时间不长,只能预测最近几年。真正可用于长期指导农耕甚至各行各业的历,必须要推演到未来,最好是非常遥远的未来,如果非要给这个未来加个期限,他们希望是一万年。
“因为当时的通讯和交通都非常落后,不可能经常去诏告天下时节的变化。只能一次性颁布可长年使用的历。
“研究历的人成了天子的历官,有不同的姓氏加入了他们的行列。他们记录的成果被转录到了竹简上、陶器上、青铜制作的大鼎上。作为推算未来日月星辰运转的资料,研究节气变化、寒来暑往的规律。
“尧为了制定指导全天下的历书,命令羲氏与和氏专门精心地研究日月星辰运行的规律,制定历书,为天下万民提供气候变化的时间。
“尧派羲氏的老二去了东方,住在嵎夷的一个叫旸谷的地方(大概是今天的山东威海附近)。恭敬地迎接日出,辨别测定太阳东升的时刻。当昼夜长短相等的那一天,南方朱雀七宿在黄昏的时候出现在天的南方,这一天定为春分。这时,人们开始在田野里耕作,鸟兽也开始交配。清明前后,种瓜点豆。
“尧又派羲氏的老三去了南方,住在交趾的一个叫明都的地方(大概是今天的越南北部红河流域),恭敬地迎接太阳向南回来,辨别测定太阳往南运行的情况,当白昼的时间达到最长的那一天,东方苍龙七宿中的星宿二在黄昏的时候出现在天空的南方,这一天定为夏至。这时,人们居住在高处,为了适应酷暑,鸟兽的羽毛变得稀疏。
“尧又派和氏的老二去了西方,住在交趾的一个叫昧谷的地方(大概是今陇南市礼县峁谷天台山),恭敬地送别落日,辨别测定太阳往西落下的时刻,当昼夜长短相等的那一天,北方玄武七宿中的虚星黄昏时出现在天空的南方,这一天定为秋分。这时,人们又回到平地上居住,鸟兽换生新毛。
“尧又派和氏的老三去了北方,居住在朔方的一个叫幽都的地方(大概在今北京城西南隅),辨别观察太阳往北运行情况。当白昼的时间达到最短的那一天,,西方白虎七宿中的昴星在黄昏时出现在天空的南方,这一天定为冬至。这时,人们避寒而住在室内,鸟兽长出柔软的细毛。
“尧命令羲氏与和氏制历,一周年定为三百六十六天,采用加闰月的办法让月份和春夏秋冬四季相合来成岁。以此指导各行各业,天下百业逐渐兴旺起来。”
说到这里二狗忽然插言道:“你刚才说这尧命羲和氏制历的事情记载在《尚书虞书尧典》里,前几天我刚读过,虽然记住了内容,但是并不明白,经你这一说,我全懂了。《尧典》被作为《尚书》的第一篇,而且花了大量的笔墨写制历的事情,可见历对古人的重要程度。你再继续,继续。”
高建继续他的杜撰。
“人们渐渐地发现,以星位定春夏秋冬其实并不准确。大概300年后,星空就出现了4度左右的偏差。6440年后,就会整整相差一个季节。因此,以星位定节气的办法只能在短期适用,时间长了误差会越来越大,需要不断地修正。
“测量昼夜的长短是件非常辛苦和事情,每天都需要在天不亮的时候起床。昼夜的分界线也很模糊,测量时间的工具也很简陋,得到准确的值很不容易。远不如测量长度来的容易。
“在院子的中央立了一根八尺的杆,历官的子孙们观察它的影子,年复一年。
“就在春天的某一日,日出与日落的时候,影子正好成了一条直线。在秋天的某一日,日出与日落的时候,影子也正好成了一条直线。算一算,这两个日子正好相差半年。这是分开寒暑的中界线。所以一个叫春分,一个叫秋分。各向前反推八分之一年,就是春和秋的起点。
“就在冬天的某一天,正午时影子达到最长,那天的夜晚最漫长。就在夏天的某一天,正午时影子达到最短,那天的夜晚也最短。最就是极,极就是至,所以一个叫冬至,一个叫夏至。各向前反推八分之一年,就是冬和夏的起点。
“冬至和夏至,恰好在春分和秋分的中间。确定了一个,就确定了其余的三个。确定影子在一条直线上比较难,确定影子的长度相对较要简单,尤其是影子较长时误差较小。因此,寻找冬至日就成了确定节气的关键。
“日影法来得准确又简单,测量的工具叫圭臬。奉为圭臬,说的就是测量的标准。前有祖冲之制圭表,后有郭守敬制景符,其精准度已不输今天。
“季的间距还是有点大,历官们增加了新玩法,他们把一个季又等分了六分,奇数位称为节气,偶数位称为中气。小数的部分依日结取整。这样用来指导农时就更精确了。这样一年就有了二十四个节气,每个节气15或16天。这个叫做平气法。每个节气又被分成3个候,一个候为5天或6天。从此就有了气候的概念。
“尧以来,以节气为准的太阳历和以月亮为准的太阴历并存。虽有闰月的设置,阴历的月份和阳历节气并没有很好的同步,并不准确。
“文字已经发展得很成熟了,许多史事都有了记录。但是就是记不清是哪一年了,只知道是武王伐纣后麦子又熟了几回,时间只能某某王几年孟春。那堆绳子里记录的都是时段,却没有时刻。一年一度的庆祝和祭祀就安排在丰收的时节。从舜开始,就不断地调整月份以合四时。就是无法避免混乱。
“到了夏朝的时候,天下大统,天子命历官修定历法,史称夏历。后经历代修正完善,成为我们今天的农历。华夏的历史上出现过黄帝历、颛顼历、夏历、殷历、周历、鲁历,史称古六历。
“到底哪一天算是一个年的开始,没有人知道。夏王就规定,春为岁首,春天的第一个月,就是正月,正月初一就是一年的开始!这,没有什么道理,就是天子的命令。
“岁本来是以木星的周期(1186年)变化来定的,其十二分之一大约为一年。后来的岁虽然还叫岁,但是已和木星的周期无关,而是按阳历的节气来定,岁和年的概念渐渐地就混为一谈了。
“按太阳历节有12个,气也有12个,用12地支(子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥)来表示,每个地支正好表示一个节气对。气开始的那一天正好位于某一个节气对的正中,因此,气也称为中气。古人用建表示节(起始),用正表示气(正中)。比如,冬至日就是子节气对的正中间那天,称为子正。它向前推半个月,就是子节气对的开始,称为建子,节气正好是大雪。据此立春的节气应在建寅。以春一月为岁首,那夏历的岁首就在建寅。
“故岁首并不是冬至,也不是春分,而是在它们的中间位置以立春为中心摆动。为什么会摆动呢?因为阴历的月和阳历的节气并不同步,需要用闰月来调整,这样就会忽前忽后。但是总体上以立春为中心摆动。因此,有年前打春和年后打春的说法。
“但是,让阴历的闰月成岁和阳历的节气成年相合是非常困难的。计算非常复杂。虽有闰月调整,但是总有零头。如果闰月成岁平均每年少了005天,二十年才相差一天,这是很难觉察的。随着闰月成岁的计算推演得太长,误差就会变大。阴历的岁跟阳历的年就会拉开距离。史官按照夏历记载历史事件,是按岁来记载的。一个甲子六十岁,就会差三天。
“随着光阴的变迁,岁首的日子偷偷地在提前,二十年时间岁首才提前了一天,给人的感觉似乎没改变。月亮的圆缺渐渐的也不听了使唤,历法说它圆的时候它却扁,说它扁的时候它又圆。十个甲子一转眼,推算出来的岁和年就相差了30天。夏阴历的正月初一渐渐地就退到了阳历的建丑。但是史官的纪年并没有做修正,还是按照夏阴历的岁来记载历史事件。
“从夏到殷过了十个甲子,到了殷的时候,新的殷历重新将殷正月调整到建寅,殷正月就比夏正月向后推迟了一个月,殷正月重新回到了春天,这样夏正月就变成了殷历的冬十二月。但是为了保持史书的纪年不乱,还是按夏阴历,把岁首定在夏正月初一。从殷历来看,岁首就退到了建丑。
“从殷到周又过了十个甲子,到了周的时候,新的周历重新将周正月调整到建寅,周正月就比夏正月向后推迟了两个月,周正月重新回到了春天,这样夏正月就变成了周历的冬十一月。但是为了保持史书的纪年不乱,还是按夏阴历,把岁首定在夏正月初一。从周历来看,岁首就退到了建子。
“从周到秦又过了十个甲子,到了秦的时候,新的秦历重新将秦正月调整到建寅,秦正月就比夏正月向后推迟了三个月,秦正月重新回到了春天,这样夏正月就变成了秦历的冬十月。但是为了保持史书的纪年不乱,还是按夏阴历,把岁首定在夏正月初一。从秦历来看,岁首就退到了建亥。当时的闰月就放在九月之后的岁尾,称为后九月。
“到了汉武帝的时候,史官司马迁实在忍受不了这种历法的误差了,已经按夏历建立起来的干支纪年法又很难再推倒重来。史书能推倒重写吗?那岂不是一切都要乱了套了?
“公元前104年,司马迁等人算出,农历的十一月初一恰好是甲子日,又恰交冬至节气,是制定新历的一个千载难逢的机会。司马迁建议汉武帝重修历法。汉武帝同意了司马迁的建议,下令征召全国的天文学家来参与。一时间,二十多位天文学家纷纷从全国各地来到京师长安。
“来到长安之后,二十多位天文学家以及朝中历官就改历问题进行了激烈的讨论和争辩,提出了十八种不同的方案。通过实际的天象观测鉴定之后,汉武帝识金明裁,认为落下闳与邓平、唐都合作的所造的八十一分律历要好于其他十七种。元封七年(公元前104年)公布正式实行,并把元封七年改为太初元年,《太初历》诞生。
“为了将夏正月重新调整到春天,《太初历》在太初元年先空置了三个月,纳入了周历最后的冬十月、十一月和十二月。这相当于一口气补闰了三个月,把近两千年中夏阴历闰月成岁所损失的时间都找补了回来,终于把夏正月重新拉回到了春天,岁首又回到了春一月。纪年也不需要再重编,只是太初元年那一年特别地长,它有十五个月,两个冬至日。出现了前十月、前十一月和前十二月。从此以后,春节才真正地是春天的节日,一直保持到今天。
“为了消除旧夏历的误差,《太初历》编制者们又制造仪器,进行实测、计算,规定一年等于3652502日,一月等于29日。并以‘加差法’替代之前的‘减差法’来调整时差。如果这两个数是准确的话,那么按19年7闰的置闰法,一个甲子误差只有0005天。但是根据今天的实测结果,一个甲子的误差大概有05天。
“《太初历》以没有中气的月份为闰月,调整了太阳周天与阴历纪月不相合的矛盾,使月份与季节配合得更合理。它还把二十四节气第一次收入历法,对于农业生产起了重要的指导作用。该历设置了十九年七闰的办法,使月和年的变化基本同步,奠定了华夏春节的基础,惠及千秋万代。”
“《太初历》以实测历元为历算的起始点,定元封七年十一月甲子朔旦冬至夜半为历元,其实测精度比较高,与理论值之差仅024日。
“《太初历》是我国古代历史上第一部完整统一,而且有明确文字记载的历法,在天文学发展历史上具有划时代的意义。汉成帝未年,由刘歆重编后改称《三统历谱》。前后历时一百八十八年。
“《三统历谱》是我国古代流传下来的一部完整的天文着作。它的内容有造历的理论,有节气、朔望、月食及五星等的常数和运算推步方法。还有基本恒星的距离,可以说含有现代天文年历的基本内容,因而《三统历谱》被认为是世界上最早的天文年历的雏形。
“为了最大程度地减少闰月成岁的误差,南北朝时的祖冲之制定的《大明历》采用了更为精确的置闰法则。即:391年144闰,这样,岁的平均长度和年的差距越来越小。
“最后说明一点。年的长度就是365或366日,相差最多一天。而岁的长度则相差很大。无闰月的那些岁,一年大概有354天,有闰月的那些岁大概有384天。在连续391个岁中,有144个岁是384天,有247个岁是354天。因此,我们每年过春节经常会在不同的节气,但是总体上以立春为中心摆动。岁的多年平均值应该和年的多年平均值基本相等。这就是阴阳合历。阳历的节气指导农时,所以又叫农历。阴历的岁首采用的是夏正月初一,所以又叫夏历。”
高建结束了他的故事,李二狗、周洁、韩刚听得入了迷。
二狗从故事的世界里回到了现实,他不由地为高建的故事鼓掌,周洁和韩刚也一同鼓掌。
“你他妈的真是个人才,我是第一次听人把年月日的概念讲得这么好懂。只到今天,我才知道,岁是岁,年是年。”周洁忍不住捶了高建一拳。
“但是今天的主题是秒,你讲这个故事和秒有什么关系呢?”韩刚问。
“当然有关系,而且还有很大的关系。不过这个话题有点长,今天就到这里吧,关于秒的问题,我们下次接着聊。”