明朝的大统历法,本来是继承元朝的授时历法。可是从成化年间开始,用明朝的历法推算日食常常不准。到了万历年间,徐光启、李之藻等人把西方的历法书翻译过来,用新的方法推算日食和行星凌犯,结果都非常准确,但是当时还没来得及正式使用。

清朝世祖皇帝(顺治帝)建立政权后,才正式废除明朝的旧历法,改用新法推算,一直沿用了二百六十多年。徐光启他们以前辛辛苦苦地讲解新历法,当时没被采纳,却为清朝改历法提供了基础,这难道不是天意吗?康熙皇帝很精通历法,决定采用“均轮法”来计算七曜(日月五星)的位置,以康熙甲子年(1664年)为纪元。雍正年间,根据天文官员的建议,又改用椭圆法推算,以雍正癸卯年(1723年)为纪元。道光年间,天文官员发现用椭圆法推算日食的秒数不准,就根据实际观测的数据修改了原来的数值,以道光甲午年(1844年)为纪元。

从康熙到道光,推算历法的办法改了三次,但是道光甲午年制定的历法里,只有恒星表,至于推算日月食和行星运行的详细方法,都没来得及写成书。西方的汤若望,跟徐光启一起翻译新历法,他用42件事证明了西方历法的精确和中国旧历法的粗糙,当时的天文学家们都纷纷相信了。安徽宣城人梅文鼎钻研天文计算,从授时历追溯到更早的三统历、四分历等历法,又广泛研究了回回历和西方历法,最终融合到新历法中,他彻底弄明白了各种历法的原理和异同,最终凭借他的学问得到了康熙皇帝的赏识。从此,学习推算历法的人才知道中国和西方的历法其实是相通的,不会再被新历法搞得迷迷糊糊了。

跟汤若望同时期来中国的还有穆尼阁,他把自己的学问传给了山东淄川的薛凤祚,而江苏吴江的王锡阐自己又创造了一种新方法,用来推算日月食,精确到毫秒不差。这两家的历法,都没被朝廷正式采用,但是他们的精确度,可能比朝廷里的天文官员还要高。现在我们要编撰《时宪志》,详细考证历法的推算方法、七曜运行、四余(历法中的余数)、原理、方法和数值,并把各个学派对历法有益的论述,也简要地记录下来。明朝的大统历法和回回历法,康熙初年曾经使用过,因为《明史》里记载得很详细,这里就不再赘述了。【推步因革】

顺治元年六月,汤若望跟皇帝说:“我从明朝崇祯二年就来到北京了,那时候我就根据西洋的新方法修改了旧历法。现在,我用新方法推算出今年八月初一会有日食,我已经把北京和全国各地看到的日食时间,精确到秒,以及日食发生的位置和图像都呈上来了,请求您派官员在日食那天进行观测验证。”皇帝同意了。

七月,汤若望又上交了他推算的天象数据。这个月,礼部奏报说:“钦天监已经改用新方法推算历法,新的历法已经编制完成,请求给它起个新名字,然后在全国颁布。”睿亲王建议说:“应该叫‘时宪书’,这样才能体现朝廷效法天道,治理百姓的意图。”皇帝采纳了这个建议。八月丙辰朔,也就是农历八月初一中午的时候,日食持续了二分四十八秒。大学士冯铨和汤若望一起到观象台观测日食,然后向皇帝汇报。结果显示,新历法推算的结果完全准确,而大统历和回回历推算的时间都和实际情况有出入。皇帝下令说:“旧历法用了这么久,本身就存在误差,这并不是官员和天文生推算错误造成的。新历法既然能精确地符合天象变化,钦天监的工作人员就要认真学习,不能懈怠。”

十月,顺治二年版的《时宪书》正式颁布。汤若望又提出了建议:“制定历法,最重要的是要准确掌握节气交接的时间和太阳的出没时间。现在,节气的时间和太阳的出没时间,都是根据各地距离远近来推算的,我希望把这些内容也加入到《时宪书》里。”皇帝同意了他的建议。十一月,汤若望被任命为钦天监的负责人。汤若望等人又说:“我们按照新方法推算出了月食的时间,并且重新整理了每年要上交的历法书目,去掉了重复的内容,避免混淆。”

顺治二年六月,汤若望等人又上奏说:“旧历法推算今年十二月己卯日辰时会发生日食,持续时间大约三分多钟;回回历的推算结果是日食持续时间大约一分多钟。但是根据新历法推算,日食只持续半分多钟,而且发生在日出之前,在地平线上看不到,请求在日食那天派官员进行观测验证。”皇帝同意了。但是到了那天,天气阴雨,观测验证最终没能进行。十一月,汤若望将明朝大学士徐光启翻译的《崇祯历书》改名为《新法历书》呈献给皇帝,皇帝下令让钦天监的官员和学生学习这本新书,并把它送交史馆保存,同时还提升汤若望为太常寺卿。十年后,皇帝又赐予汤若望“通玄教师”的称号,以表彰他的辛勤工作。

咱们先说说这天文学的计算方法,以天聪戊辰年为起始点。把周天分成三百六十度。太阳每天运行五十九分八秒十九微四十九纤三十六芒,一年最多运行四十五秒。戊辰年,太阳运行到冬至点,距离是五十三分三十五秒三十九微,最远距离冬至点是五度五十九分五十九秒。

月亮每天运行一十三度一十分三十五秒一微,自己本身的运行速度是一十三度三分五十三秒五十六微,垂直方向的运行速度是三分一十秒,月孛(注:古代天文学中的虚星)运行六分四十一秒。戊辰年,月亮运行到冬至点,距离是六宫一度五十分五十四秒四十六微,本身运行到冬至点的距离是六宫二十五度三十二分一十五秒三十四微,垂直方向的运行距离冬至点是一宫一十四秒,月孛运行到冬至点的距离是十一宫六度一十九分。

土星的运行,平行于冬至点的距离是十一宫十八度五十一分五十一秒,今年土星运行到离冬至点最远的地方是九宫八度五十七分五十九秒。平行距离和最远距离的差值,也就是所谓的“引数”,是二宫九度五十三分五十二秒,垂直方向的运行距离冬至点是六宫七度九分八秒。普通年份,土星的平均运行速度是十二度十三分三十一秒,最快的速度是一分二十秒十二微,用最快的速度减去平均速度,得到十二度十二分十五秒,这就是一年土星的“引数”。闰年,平均运行速度是十二度十五分三十五秒,“引数”是十二度十四分十五秒。垂直方向的运行速度一年是四十二秒。

木星的运行,平行于冬至点的距离是八宫二十八度八分三十一秒,今年木星运行到离冬至点最远的地方是十一宫二十七度十一分十五秒,“引数”是九宫初度五十七分十六秒,垂直方向的运行距离冬至点是六宫二十四度四十一分五十二秒。普通年份,木星距离冬至点的平均运行速度是一宫零二十分三十二秒,最快的速度是五十七秒五十二微,两者相减,得到一宫零十九分三十四秒,这就是普通年份木星的“引数”。闰年,木星距离冬至点的平均运行速度是一宫零二十五分三十一秒,“引数”是一宫零二十四分三十三秒。垂直方向的运行速度一年是十四秒。

火星的运行,平行于冬至点的距离是五宫四度五十四分三十秒,今年火星运行到离冬至点最远的地方是七宫二十九度三十分四十秒,“引数”是九宫五度二十三分五十秒,垂直方向的运行距离冬至点是三宫十七度二分二十九秒。普通年份,火星距离冬至点的平均运行速度是六宫十一度十七分一十秒,最快的速度是一分十四秒,两者相减,得到六宫十一度十五分五十五秒。闰年,火星距离冬至点的平均运行速度是六宫十一度四十八分三十六秒,“引数”是六宫十一度四十七分二十一秒。垂直方向的运行速度一年是五十三秒。

金星的运行,平行于冬至点的距离与太阳相同,都是初宫初度五十三分三十五秒三十九微,“引数”是六宫零五十六分五十五秒。从最远点开始算,金星的运行位置是初宫九度十一分七秒,最远点位置在六宫零十六分六秒。普通年份,金星距离冬至点的距离是十一宫二十九度四十五分四十秒三十八微,本身运行的“引数”是十一宫二十九度四十四分十七秒,从最远点开始算,金星的运行位置是七宫十五度一分五十秒,最远点位置是一分二十一秒。闰年,距离冬至点和本身运行的距离都要加上五十九分八秒,从最远点开始算的运行位置要加上三度六分二十四秒,这是它一天的运行距离。金星垂直方向的运行速度在最远点之前十六度,也就是五宫十四度十六分,速度非常慢,所以没法确定它的运行速度,但和最远点位置差别不大。

水星的运行,平行于冬至点的距离与太阳相同, “引数”是二十九度二十分二秒。从最远点开始算,水星的运行位置是三宫二十九度五十四分一十六秒,最远点位置在十一宫零五十二分四十二秒。普通年份,水星距离冬至点的距离也与太阳相同,本身运行的“引数”是十一宫二十九度四十三分五十一秒,从最远点开始算,水星的运行位置是满三周外还有一宫二十三度五十七分二十六秒。闰年,“引数”是十二宫零四十二分五十九秒,从最远点开始算,水星的运行位置是满三周外还有一宫二十七度三分五十二秒。垂直方向的运行速度,据说和最远点位置相同,很难测量,所以不敢确定。

好家伙,这可是个大工程啊,咱们一句一句地来,慢慢翻译成大白话。

首先,徐光启这篇文章主要讲的是他改进历法的新方法,一共42条,咱们先看看第一段:他说新历法主要有42个改进点,第一,天地经纬:天有经纬线,地也有,他认为每250里是一度,经纬线都这样算。第二,日月星辰不在同一平面:日月星辰的高度和距离差别很大,纠正了旧历法认为它们都在同一个圆心上的错误。第三,圆心不重合:太阳的运行轨道圆心和地球的圆心并不重合,这两个圆心之间的距离,古今也不一样。第四,大气层的影响:地球有大气层,如果不考虑大气层的影响,计算结果就不会很精确。第五,计算方法不同:测量天体位置用的是球面三角形,计算用的是割圆术和八线表。

接下来,咱们继续看第二段:第六,都用黄道计算:旧法用赤道仪测天体,得到的经度不准确,新法都用黄道经度计算,用黄赤交角表换算,这样就和天体运行很吻合了。第七,重新确定起始时间:从天聪二年戊辰年冬天冬至后的己卯日开始算。第八,计算节气更精确:旧法节气是平均分的,不是真正的节气,现在改进了。第九,考虑闰年的精确度:用授时历的平均年,再根据最大和最小偏差进行加减,算出实际年份长度。第十,用春秋分测定:旧法用圭表测冬至,不太准确,现在用春秋二分来测,更精确。第十一,计算日出日落和晨昏线:以北京为起点计算,其他地方要根据距离进行加减。

第三段:第十二,昼夜长短不一样:昼夜长短的差别超过一刻钟,原因有两个:一是黄道在夏天运行慢,冬天运行快;二是黄赤道宽度不同,导致运行速度也不同。第十三,重新规定时刻:把昼夜分成96刻。第十四,闰年的设定不同:旧法用平均节气来决定闰年,不对,现在用太阳在天球上运行的度数来决定节气。第十五,月亮的运行变化:朔望日只有一种加减法,其他日子有两种或三种,平均数也不一样。第十六,月亮运行速度和高度变化:月亮运行一周,最高点速度最慢,最低点速度最快,其他行星也一样。第十七,月亮初现时间的快慢:一是月亮本身运行速度快慢不同,二是黄道升降和倾斜角度不同,三是月亮运行轨道在黄道南北纬度的不同位置。第十八,交点处的加减:月亮在交点上,用平均值计算肯定不准,所以要设置一个加减值作为交点平均数。

第四段:第十九,月亮的纬度距离:旧法认为黄道和白道相距5度,但不知道朔望之外还有增减,最大距离是5度三分之一。第二十,预测日食月食:月食是看月亮到黄道的纬度距离和月亮和地球影子半径之和比较,日食是看月亮到太阳的距离和日月半径之和比较,距离小就发生食,距离大就不发生食。第二十一,日食月食的限度不同:月食是月亮和地球影子边缘相切,用视半径和白道到黄道的距离比较,再用距离推算交点周期的限度;日食必须加上视差才能得到距离。第二十二,日食月食的差别:月食是月亮中心到地球影子中心的实际距离,日食是日月中心距离,但日食不用实际距离而用视距离。第二十三,日食月食的中心位置:以地球中心到黄道的直线为准,日月五星都在这条线上,就是中心食;月亮和五星都在各自轨道上运行,地球中心到黄道的直线和两个轨道中心都在这条线上,就是中心食。

第五段:第二十四,视食:日食有天上的实际情况,也有地上的观察情况,视食以人的眼睛和地面为准。第二十五,黄道东西方向的偏差:黄道90度是东西方向偏差的中间限度,从天顶看,高低偏差是垂直的,南北偏差是倾斜的,而东西偏差只有中间那条线是垂直的,其他都是倾斜的。从黄道上看,南北偏差是直角边,东西偏差是直角边,高低偏差是斜边。到中间限度时,直角边和斜边变成一条线,没有直角边了。第二十六,三种视差:以地球半径为一边,以太阳月亮到地球的距离为一边,以二曜高度为一边,组成三角形,用来得到高低偏差,再向南偏转纬度得到南北偏差;以黄道90度限度向左向右偏转纬度,得到东西偏差。第二十七,三种外差:东西、南北、高低偏差,都产生于地球半径,外差不是产生于地球半径而是产生于大气。一,大气层偏差;二,大气层半径偏差;三,本轮半径偏差。

第六段:第二十八,日食月食的亏复时间不一致:不是简单的二分之一,新法用视运动推算时刻,就能清楚地知道亏复时间不一致的原因。第二十九,日食月食的计算不同:各地都用地球半径来计算日食月食的时刻和日食食分。第三十,日食的偏差:按规律应该发生日食但实际上没看到,是因为这天这地的南北偏差变成了东西偏差,几百年才发生一两次,不是没有。第三十一,可以预先推算和事后验证:新法的所有表格,可以上溯下延,打开就能看到,不用费力。第三十二,行星运行与太阳同步:旧法计算行星会合和伏藏的天数,有时多有时少,只是用段数来确定,难免有误差,现在改正了。第三十三,行星的伏藏和出现更精确:旧法计算行星伏藏和出现只用黄道距离,不对,现在改正了。第三十四,行星的纬度:月亮轨道斜交黄道,所以产生距离和阴历阳历,行星也一样,新法都详细计算了,旧法没做到。

第七段:第三十五,金星水星的伏藏和出现:金星有时和太阳合而不伏,水星离开太阳而不见,用浑天仪一测就知道,旧法做不到。第三十六,行星的测量方法:测量行星必须用恒星为准。第三十七,恒星的东移:恒星以黄道极点为极点,各星宿距星时近赤极,有时也远赤极,因为黄赤二道极点不同,不是恒星有不同的运行或易位。第三十八,确定恒星的大小等级:有六等之分,以前没听说过。第三十九,银河的解释:新法用望远镜测量,银河是由无数小星聚集而成的。第四十,四余的删改:罗喉是白道的正交点,计都是中交点,月孛是月亮运行的最高点。至于紫微等余,数量无法确定,《明史》是附会,现在都删改了。

最后一段:第四十一,新的测量仪器:

四月十四号那年,回回科的官员吴明炫上奏说:“我们吴家,还有默河、亦里等等十八个姓氏,都是西域人,从隋朝开皇己未年(公元589年)起,祖上就带着他们的天文知识来中国做官了,被朝廷授予了天文官的职位。一千五百年来,我们一直负责观测星宿运行、推算吉凶,每年都根据太阴五星的运行情况,以及天象变化、日食月食来进行占验,然后把结果写成奏章呈给皇帝,这是祖上传下来的规矩。可是到了顺治三年,天文监的掌印官员汤若望却下令说,日食月食、太阴五星凌犯这些天象的占验结果,都不用再上报了。我仔细查了汤若望推算的星象,发现他算的水星,二月份和八月份都说是看不见的,可实际上,我二月二十九号在东方看到了水星,八月二十四号晚上也看到了,这关系到天象占卜,我不敢隐瞒,所以特地把这事儿禀报皇上。恳请恢复回回科,好把这门快要失传的学问保存下来。” 奏章递交下去,有关部门开始调查处理。

这时候,新安卫的一个秀才杨光先,也跑到朝廷去告状,说汤若望的新方法有很多错误,还说:“《时宪书》上写着‘依西洋新法’五个字,这更是大错特错!”他还上书弹劾汤若望,说汤若望在给荣亲王选墓地的时候,用洪范五行来推算,结果选出来的日子和方位,都犯了忌讳。

康熙三年十二月,礼部讨论说,历书上“依西洋新法”五个字,建议改成“奏准”两个字,就照这个建议办了。

四年的时候,议政王他们说:每天一百刻,新法改成了九十六刻;二十八宿的顺序,汤若望把觜宿和参宿的先后顺序给调换了;还把四余里的紫炁去掉了,这些都不符合咱们的规矩。而且,他选用的不是正五行,而是洪范五行,导致山向、日月都犯了忌讳,这可是大事儿,所以建议把汤若望和那些相关官员都凌迟处死。后来皇上开恩,免了汤若望的死罪,但是时宪科的李祖白等五个人还是被处斩了。于是,又恢复了以前的大统历法,让杨光先负责天文监的业务。杨光先上书多次推辞,但皇上没同意。杨光先其实对推步之学也不太精通,到了康熙七年,他说明年要闰十二月,后来发现自己算错了,主动承认错误,可是时宪书已经发下去了,只好下令全国停止闰月。

同一年,天文监副吴明烜说:“以前的方法有很多错误,五官正和回回科(穆斯林天文官)算出来的结果都不一样,应该赶紧校正一下。”这事儿就交给了礼部讨论。礼部上奏说:“五官正戈继文他们算的七政金水二星的误差太大了,主簿陈聿新算的七政也没经过验证,也有误差,监副吴明烜算的七政跟实际的天象比较接近,应该颁布施行。同时,还要让天文监的官员和四科的官员,每天白天测量日影来确定节气,晚上观测月亮和五星来确定它们的运行度数。”皇上就同意了这个建议。

十一月份,西方的传教士南怀仁说,之前颁布的那些历法跟天象对不上。于是,皇帝就把南怀仁、利类思、安文思,还有监官马祐、杨光先、吴明烜这些人都叫到东华门来。大学士李霨给他们传达了皇帝的意思:“制定历法是国家的大事,你们可千万别带着以前的恩怨,只认为自己是对的,别人是错的。对的就应该采用,错的就应该改正,最终的目标是要达到最完善的境界。”

十二月,南怀仁弹劾吴明烜在康熙八年编写的《七政时宪书》里有很多错误。这事儿被提交给王大臣、九卿和科道官员讨论。议政王他们说:“应该派大臣和南怀仁他们一起去观象台验证一下。”于是,就派了图海、李霨等人,一共二十个人,去观象台进行观测。

到了八年二月,议政王他们又汇报说:“图海他们去观象台验证过了,南怀仁说的都对,吴明烜说的都错。我们还问了监正马祐他们,他们也说南怀仁算出来的结果和天象相符。我们仔细想想,虽然百刻法已经用了很久了,但是南怀仁的九十六刻法既然符合天象,那就应该采用。而且南怀仁还说,罗睺、计都、月孛是推算历法要用到的,所以写在七政之后;紫炁星没啥用,不应该列进去。从康熙九年开始,就应该用九十六刻的历法了。”当时吴明烜说:“我只懂天文,不懂历法。”杨光先也说:“我不懂历法,我只懂历法的道理。”杨光先说话还特别不客气,结果被撤职了。

三月,南怀仁被任命为钦天监监副。在此之前,钦天监的官员都是按照老方法推算历法的。康熙八年十二月,按老方法应该闰月,但是南怀仁说,雨水是正月的节气,而那年十二月二十九日是雨水,所以这一天就应该是康熙九年正月初一,不应该闰月,闰月应该放到明年的二月。钦天监的很多官员都支持南怀仁,就听他的,把闰月改到九年二月。这样一来,大统历和回回历都被废除了,开始全面采用西洋历法,就像顺治初年那样。八月,南怀仁弹劾杨光先诬陷汤若望叛逆,议政王他们讨论后认为:“汤若望应该恢复通微教师的职位,按照原来的品级给予抚恤,杨光先应该受到反过来处罚。”但是皇帝下令说:“免议”。

好家伙,公元1676年二月,也就是康熙十三年二月,咱们那个新造的《仪象志》终于完工了!南怀仁也因此被加封为太常寺卿,官儿升了!

到了康熙十四年二月,皇帝下令让钦天监副监安泰去跟何君锡学习古代的历法。 这可是个大事儿,毕竟这历法关系到国家大事,得好好学学老祖宗留下来的东西。

转眼到了康熙十五年二月,钦天监上报说五月初一要日食。安泰按照老法子算,说日食得持续五分六十秒。可南怀仁用他的新法一算,说才二十微三分秒之一。 这差距也太大了!到了那天,大家伙儿都登台观测,结果酉正(下午五点)日食达到最大程度,将近一分,戌初(晚上七点)就恢复原样了。 哎,古法算得离谱,南怀仁的新法也不太准。 南怀仁解释说:“这是因为清蒙气(大气层)的影响,蒙气能把小的东西放大显示。” 这说法,听着也挺玄乎的。

时间一晃,到了康熙十七年七月,钦天监献上了《康熙永年表》三十两卷,这可是个大工程啊! 再到康熙二十二年十月,钦天监又上报说盛京(沈阳)的九十度表算出来了。 话说这之前,南怀仁就建议过:“各地的北极高度不一样,日食的时间和大小也都不一样,得根据各地的九十度表来算。以前咱们不知道盛京的北极高度,就用北京的九十度表,现在测出来盛京的北极高度比北京高两度,得重新根据盛京的高度算个九十度表。” 皇帝同意了。 所以这次进呈的就是盛京的九十度表,皇帝还下令说:“永远遵守”! 这可是钦定的标准了!

康熙四十一年的十月,大学士李光地把宣城贡生梅文鼎写的三卷关于历法的疑问呈给皇上。皇上说:“朕多年来一直关注历法,这件事朕能够判断它的对错。”于是亲自批注后还给了梅文鼎,这件事梅文鼎的传记里都有记载。《梅文鼎传》里记载,梅文鼎论述中西历法异同的时候说:

现在采用新历法,是兼采两家之长,用来弥补旧法不足的地方,并不是完全抛弃旧法而完全采用新方法。西历和中法相同的地方,不止一个方面。西历里讲五星运行的最高点和最低点的加减,这和中法里的“盈缩历”是一样的;在太阴方面,西历讲运行的快慢,这和中法里的“迟疾历”是一样的;西历里讲五星的运行周期,这和中法里的“段目”是一样的;西历里讲恒星的东移,这和中法里的“岁差”是一样的;西历里讲节气是根据太阳运行到哪个宫位来确定的,这和中法里的“定气”是一样的;西历里讲各个省份的真正节气不一样,这和中法里的“里差”是一样的。

但是,中法只讲“盈缩”、“迟疾”,而西法则阐明了这些现象的原因;中法只讲“段目”,而西法则用“岁轮”来解释其原因;中法只讲“岁差”,而西法则用“恒星东行”来解释其原因。也就是说,中历只讲运行的结果,而西历则解释了其运行的原因,这就是西历值得借鉴的地方。至于“定气”、“里差”,中历本来就有方法,只是没有用在历法计算中而已,并非古时候没有而现在才有的。西历里新出现的是五星的纬度。中历里只有太阳和太阴有纬度,而五星的纬度则没有涉及。现在西历里对五星的纬度、交点都有详细的计算,如同对太阳和太阴一样详明,这正是中历的重大缺陷,可以用西法来弥补它的不足。

西历不仅阐明了中法相同之处的原因,而且弥补了中法的不足,这样一来,我们积累的天文观测数据,因为西方的说法而更加可信,而那些看起来难以置信的西方的说法,也因为我们积累的天文观测数据而得以证实其真实性。即使圣人复活,也只会兼收并蓄,两者都取用。

十月,皇上给大学士们下旨说:“天文历法,我一直很重视。西方的历法大体上没问题,但是具体到分分秒秒的计算,时间长了难免会有误差。今年夏至,钦天监报告说是正午三刻,但我仔细测量日影,其实是午初三刻九分。现在看起来只是小小的偏差,可要是几十年后,误差就会越来越大。这就像钱粮一样,每一笔小小的出入,虽然看起来不多,但加起来就会越来越多,这是有事实证明的,可不是书生们空口说白话就能糊弄过去的。” 皇上还下令礼部考试选拔精通算法的人才,并且亲自在宫殿里考问他们,最后录取了顾琮等42人。

第二年五月,皇上到避暑山庄避暑,就召来了梅文鼎的孙子梅瑴成到行宫。在此之前,皇上已经让苏州府教授陈厚耀,钦天监五官正何君锡的儿子何国柱、何国宗,官学生明安图,还有原钦天监监副成德,都跟着皇上侍奉左右,皇上亲自指导他们,允许他们像老师教学生一样提问。梅瑴成到了之后,回答问题让皇上很满意,于是就让他和陈厚耀他们一起在内廷当差。

到了五十二年五月,皇上开始修订律吕和算法方面的书籍,让诚亲王允祉、皇十五子允烜、皇十六子允禄担任总负责人,何国宗、梅瑴成负责汇编,陈厚耀、魏廷珍、王兰生、方苞等人负责校对。他们编写的书,每天都要呈给皇上,皇上还亲自修改。

康熙五十三年的四月,康熙皇帝下旨给诚亲王允祉等人说:“古代历法的框架很好,但是它里面的数字经过长时间的运用已经不太准确了,现在修订历法,应该沿用古代历法的框架,用现在的数字来计算。” 十月份,他又下旨说:“北极高度和黄赤交角的测量最为重要,要每天在澹宁居进行测量。” 于是,他让人制造了象限仪,直径五尺,用铜铸造而成。白天用来测量太阳的度数,晚上用来测量勾陈帝星。还制造了中表、正表、倒表各两根,每根都高四尺。中表用来测量太阳中心的影子,正表和倒表用来测量太阳上下边缘的影子。但是这六根表测得的日影尾数,有很多地方参差不齐,对不上。

海瑴成进言说:“表高影淡,尾数难以精确,这是古人就一直头疼的问题。以前郭守敬制作铜表的时候,用两条龙作支架,把横梁抬高到四十尺,因为影子很模糊,所以他发明了景符来取得精确的影子。它的制作方法是用两寸宽的铜片,长度是宽度的两倍,中间穿一个小孔,像针眼那么细。用方形的木头做底座,一端装上可以开合的机关。调整底座的一端,让针斜靠着,北边高南边低,来回移动,调整到虚影的中心位置。小孔透过的阳光,只有小米粒那么大,隐约可以看到横梁在其中。”于是,就仿照元史中记载的郭守敬制造景符的方法,制作了六个景符,按照同样的方法使用,日影的尾数终于精确无误了。

通过测量,得到了申昜春园北极高度为三十九度五十九分三十秒,比北京观象台高四分三十秒;黄赤交角为二十三度二十九分,比以前的测量结果减少了两分。十一月,诚亲王允祉等人上奏说:“郭守敬制定授时历的时候,派人到二十七个地方分别测量,所以才能做到非常精确。现在除了在申昜春园和观象台每天进行测量外,像福建、广东、云南、四川、陕西、河南、江南、浙江这八个省份,各地之间的差异尤其显著,请求派人到这些地方每天进行测量,得到精确的数值,这样南北东西之间的距离差异以及日地距离,就都有了可靠的依据。”康熙皇帝批准了他们的请求。

1658年2月,因为觉得人手不够,皇上就下令礼部从蒙养斋的考试合格者中,挑选傅明安等28个人,让他们到修书处工作。到了1660年,皇上自己编写的算法书完成了,赐名为《数理精蕴》。皇上还特意吩咐说:“这本书要赏给梅文鼎一本,让他仔细校对。”然后就派梅文鼎的孙子梅瑴成把书送去。1661年6月,历书稿子也写好了,包括律吕、算法,合起来一共一百卷,叫做《律历渊源》。这其中包括《历象考成》上下两编,《律吕精义》上下两编和续编,《数理精蕴》上下两编。雍正元年,也就是1723年,《历象考成》颁发给了钦天监,这就是康熙甲子元法。从雍正四年开始,编制《时宪书》就都按照《历象考成》的方法来。皇上还决定,他亲自编写的书,钦天监不用管,而钦天监里负责历法计算的那些西洋人,就由他们自己当监正。

1728年6月,监正明安图上奏说:“日月运行的度数,时间长了就会逐渐出现偏差,必须及时修改方法,才能精确吻合。我们按照《御制历象考成》推算《时宪书》,根据监正戴进贤和监副徐懋德的推测,发现有细微的差别。本月初一日的日食,我们大家一起观测,实际观测的结果和推算的结果有出入,请求皇上命令戴进贤和徐懋德仔细校对修改。”皇上准奏了。1730年4月,日躔、月离表修订完成。

1737年4月,协办吏部尚书顾琮说:“世宗皇帝同意监臣的建议,请求修订日躔、月离两表,用来推算日月交合、宫度、晦朔弦望、昼夜长短以及凌犯等,一共三十九页,加在《历象考成》各表之后。查阅发现,制作这些表的是西洋人监正戴进贤;能够使用这些表的是西洋人监副徐懋德和五官正明安图。我建议让戴进贤担任总裁,徐懋德和明安图担任副总裁,认真检查,补充图说。《历象考成》里如果有需要修改的地方,也让他们仔细改正。”皇上就下令说:“就让顾琮专门负责这件事。”五月,顾琮又上奏说:“请求让梅瑴成担任总裁,何国宗协同担任总裁。”皇上准奏了。十一月,皇上任命庄亲王允禄为总理。

1727年,庄亲王允禄他们上奏说:“《历象考成》这本书,只有黄赤交角的数值减少了两分,其他的都还是沿用康熙年间西方的第谷的旧算法。康熙年间,有噶西尼、法兰德等西方学者,对第谷的理论进行了补充完善,主要有三点:第一,他们认为太阳和地球半径的差值,以前定为三分,现在测量只有十秒;第二,他们认为大气折射的数值,以前规定在地平线上是34分,高度45度时是5秒,现在测量,地平线上只有32分,高度45度时还有59秒;第三,他们认为日月五星的轨道不是正圆形,而是椭圆形,两端直径长,两腰直径短。因为这三点,经纬度都会有细微的差异。戴进贤他们也了解这些说法,但因为没有经过验证,所以不敢轻易采纳。雍正八年六月初一发生日食,旧法推算的结果是九分二十二秒,新法推算的结果是八分十秒,跟实际观测结果相比,新法更接近。所以我们奏请重新修订日月运行的新表,作为《历象考成》的续篇。”

他们奉命增补了图表和说明,用新的日躔表推算,春分比以前推迟了大概十三刻钟,秋分比以前提前了大概九刻钟,冬至和夏至都推迟了大概两刻钟。但是,通过测量正午太阳高度,只有冬至比以前高了两分多,夏至和秋分只差二三十秒。这是因为测量是在地面上进行的,而推算则是以地心为基准,现在确定的地半径差和大气折射差都与以前不同,所以推算结果每每相差几刻钟,但测量结果差别并不大。至于他们用椭圆轨道来计算,虽然计算过程比较复杂,但是能够修正旧的数值,使其更符合天体的运行规律,这确实是很巧妙的方法。我们把这些原理和数据都阐述清楚了,写成了九篇日躔表及相关数据,请求皇上亲自审定,作为《历象考成》的续篇,命名为《御制后编》。凡是前书已经阐述清楚的内容,我们就不再重复了。” 奏报完毕。七年后,庄亲王允禄等人呈上了日躔、月离、交宫共十卷的书,这就是雍正癸卯年制定的新的历法。

话说康熙九年十月,监正戴进贤他们上奏说:“咱们这本《灵台仪象志》里记载的星宿位置,七十年就会差一度,时间长了误差就大了,得改改了。康熙十三年修订这书的时候,黄赤交角跟现在测量的结果不一样,书里的那些表格,都得重新算一遍。还有三垣二十八宿以及其他星星,现在跟以前数量也不一样了,也需要好好整理一下。” 皇上就让庄亲王、鄂尔泰、张照这几位大臣商量着办。到了十一月,皇上批准还是由这三位大臣负责这件事。这一年,他们还把罗睺、计都的名字改了改,又加上了紫炁,合起来叫“四余”。

康熙十七年,庄亲王允禄他们又上奏说,《灵台仪象志》里记载的星宿位置顺序不对,他们已经重新整理好了,一共三十卷,皇上赐名《仪象考成》。 这个月,庄亲王他们又上奏说,他们还修正了《恒星经纬度表》,并且重新确定了二十八宿值日顺序,把觜参前后顺序也改了。皇上就让大学士和九卿一起商量这事儿。到了十二月,大学士傅恒他们说:“咱们以后就从乾隆十九年开始算,《时宪书》里的值宿顺序,就把觜宿放在参宿前面。”皇上同意了。 后来,钦天监又发现推算土星的位置有偏差,跟实际观测结果差了三十分,从乾隆年间一直到道光初年,日食月食的时间也越来越不准了。

道光十八年八月,工部尚书敬徵,也就是当时负责钦天监(负责天文观测的机构)事务的大佬,给皇帝上奏说:从道光四年我接手钦天监以来,仔细检查了观象台上的仪器,发现康熙十三年制造的黄赤大距(黄道和赤道之间的夹角)是23度32分。可是到了乾隆九年,又重新制造了玑衡抚辰仪(一种天文仪器),测出来的黄赤大距却是23度29分。这说明以前的仪器已经和实际的天体运行不符了,现在又过了一百年,就连乾隆年间造的抚辰仪也出现偏差了。

我让人把抚辰仪的轴心换了,其他的仪器也进行了调整。我还另外制作了一台小象限仪,让天文官白天测太阳运行,晚上测月亮和星星。每逢节气和日食月食的时候,我们把实测数据和推算数据进行对比,发现有不少差异。经过仔细研究,我们发现问题出在太阳的纬度数据上,测得的黄赤大距比以前更小一些,只有23度27分。通过对节气时刻早晚的观察,我们还发现太阳运行的速度并不均匀,时快时慢。太阳的运行规律是推算其他天体运行的基础,所有天体的运行都依赖于它。而推算太阳的运行,又需要以岁实(一年实际长度)、气应(节气实际发生时间)和两心差(太阳视运动的两个重要参数)为依据,这些都是最基本的观测数据。

所以,我打算从道光十四年(甲午年)开始,根据我们实测的数据,对原有的数据进行一些调整,重新推算太阳的运行和节气时刻,这样算出来的结果应该更接近实际观测值。至于月亮的运行,我们主要通过日食月食来检验。最近几年观测到的月食,比原先推算的时间要早的多,晚的却很少。因此,我们对月亮的平行运动、自行运动和交行运动(月亮的三种运动)的数据也进行了一些调整。在月亮的平行运动方面,我们仍然沿用以前的平均值,这样推算出道光十四年以后三次月食的时间。其中,道光十七年三月只观测到月食初亏,九月因为天气原因没观测到;只有道光十六年九月十五日的月食,与我们新推算的结果比较接近,但只有一次月食的数据,还不足以完全证明新数据的准确性,还需要继续观测。现在马上就要到今年八月十五的月食了,我已经用新的数据推算出了月食的时刻、食分(月食被遮挡的程度)和方位,并与原先推算的结果进行了比较,发现有几秒钟的差别,我已经把详细的清单呈报上来了。到时候,我们会进行逐时观测,再根据实际情况向您汇报。

公元1842年6月,敬徵他们又上奏说:“每次日食月食,按照我们新计算的数值推算,都跟实际观测结果很接近。就拿今年六月初一日食来说,新推算的结果和实际观测结果只差几秒钟。这说明我们新计算的数值,在太阳运行方面已经没有疑问了,月亮运行方面也相当接近了。现在我们打算先测定恒星的位置,来确定它们的运行速度,然后研究太阳和月亮的运行轨迹,力求符合天体运行的实际情况。我们建议以道光十四年(公元1834年)甲午年为起始年,按照新的太阳运行数值,计算黄道和赤道的距离,修订恒星、黄道和赤道的经纬度表。同时,在进行计算的时候,要仔细研究金木水火土五星的运行情况,这样才能让恒星、五星、日月交食等方面的书籍,能够依次完成。”皇帝批准了他们的请求。同年七月,任命敬徵为修历总裁,周余庆、高煜分别担任监正和左监副,协助他完成这项工作。

过了几年,公元1845年7月,他们上交了《黄道经纬度表》、《赤道经纬度表》各十三卷、《月五星相距表》一卷、《天汉界度表》四卷、《经星汇考》、《星首步天歌》、《恒星总纪》各一卷,作为《仪象考成续编》的一部分。不过,日月交食和五星运行轨迹的详细数据,当时还没来得及补充完整。 就在这个时候,钦天监正司廷栋编写了《凌犯视差新法》,用球面三角法计算,通过限制地平高度和星体到黄极的距离来求解黄经高度的球面三角形,比以前的方法简便快捷多了。从乾隆朝以后,能改进旧历法的历官,就只有廷栋一个人了。那些不是历官却精通历法的,像梅文鼎、薛凤祚、王锡阐,以及后来的江永、戴震、钱大昕、李善兰,都是非常著名的。他们在阐明中西历法方面,实际上已经远远超过了徐光启、李之藻等人了。