咸丰元年六月,礼县久雨,山体崩塌;袁家崖山体崩裂,声震如雷,裂缝宽二尺左右,横向绵延两百丈。十月,兴山仙侣山崩塌。二年六月初一,狄道马衔山裂开;平河大雨,山体崩塌,大量民房被压倒。三年三月十六日,云和山体裂开两百丈。六月二十六日,景宁大雨,山体崩塌,七十三人遇难;郧县青岩崩裂十多丈;保康大山整体滑移十里左右,田地房屋损毁无数;永嘉大雨,龙泉村山体坍塌压垮房屋,十九人受伤。四年七月,云和山体崩塌,三十多人遇难。五年四月,大通县塔破山崩塌。六年五月初八,来凤大坝路猲甚山崩塌,三百多人遇难。九月,松阳大雷雨,山体崩塌几十丈。
同治四年七月,固原山体崩塌;汉阳铺有一块一丈多长、四尺高的平整巨石,自行移动一里多才停下。十三年七月十二日,宣平北门山崩塌。八月十一日,西和西山崩塌,山石冲进城里,推倒城墙二百四十多丈,民房九十多处,四十九人遇难。
光绪元年正月初一,西宁西川阴山崩塌。七月,旧洮州东明山崩塌。三年六月,河州红崖山崩塌,两百多人遇难,牲畜死伤无数。五年五月,文县山体崩塌。九年三月,光化马窟山裂开。十二年六月,河州草领山崩塌。十九年五月,狄道州皇后沟山崩塌,十三人遇难。二十年二月二十七日,河州东八部兰山崩塌。二十二年二月,河州哈家山崩塌。二十三年八月,宁远大夫沟山崩塌。二十六年六月,漳县还山崩塌,静宁州南五台山崩塌,河州王家山崩塌。二十七年六月,皋兰五泉山、三台阁山崖崩塌。三十一年七月二十四日,洮州泉古山崩塌。三十二年五月,洮州莽湾山崩塌;七月,芽坡山崩塌。三十三年五月,宁远小村槽山崩塌。
宣统元年六月十五日,秦州雒家川南山崩塌。
顺治五年三月,上海地上到处长出白毛。四月,娄县地面长出白毛。六年六月,杭州、嘉兴地面生出白毛。八月初三,天上像下雨一样落下白毛。七年六月,苏州、镇洋、震泽、青浦地面开裂,长出白毛。九年十月初四,永嘉天上落下像棉絮一样的东西。
康熙七年六月,上海、海盐、湖州、平湖、宁波地面长出白毛,一尺多长。七月,临安、余姚地面长出白毛,一尺多长。八月,永嘉、桐乡地面长出白毛。八年八月,开化县地面长出白毛。十月,义乌地面长出白毛。十四年三月,琼州地面长出白毛,一寸多长。十七年十月二十六日,镇洋天上落下白毛,如同雪片。四十六年,太平地面生出毛发。
乾隆二十八年,南陵地面生出毛状物,白色本体,顶端黑色。二十九年五月,武进地面长出白毛,数寸长。四十一年,婺源地面长出白毛。
嘉庆十九年七月,青浦遍地长出白毛,如同人的头发。二十三年三月,宜城地面生出毛发,有白有黑,一尺多长。
咸丰元年,江陵地面长出白毛,三寸左右。二年五月,青浦地面长出白毛。三年四月,武进地面生出毛发。六年夏季,青浦地面生出毛发;七月,武进地面生出毛发;九月,桐乡地面长出白毛。九年十月,武昌地面生出毛。
同治元年七月,高阳县地上长出毛。同治四年六月,罗田县遍地长出灰白色的毛,大约三寸长;即墨县地面也生出毛。同治五年十一月,潜江县地上长出黑毛,长三寸;江陵县地面生毛。同治六年三月,德安地面生毛。八月,京山县地上生毛,毛有黑色、白色,长度超过一尺。十月,随州地面长出白毛。同治七年春季,应山县地上生毛。同年夏季,黄安县地上生毛。
光绪四年冬天,光化县地上生毛。
顺治元年春季,荆门发生大饥荒。冬天,郧县发生大饥荒。顺治二年,枣阳、襄阳、光化、宜城发生大饥荒,出现人吃人的现象。顺治三年,太平、瑞安、崇阳发生大饥荒。顺治四年,苏州、震泽、嘉定、太湖、潜山、石埭、建德、宿松、江山、常山发生大饥荒。顺治五年春季,广州、鹤庆、嵩明爆发大饥荒,人吃人。夏季,惠来、大埔、嘉应州、兴宁、阳春、梧州、北流闹大饥荒,一斗米可以换一个孩子。冬天,整个四川发生饥荒;顺治六年,四川依旧饥荒;灌阳、平阳大饥荒。顺治七年夏季,榆林、青田闹饥荒。秋季,永宁州、襄垣、萍乡大饥荒。冬天,阜平饥荒。顺治八年春季,平湖、袁州、萍乡、万载饥荒。夏季,寿阳、静乐饥荒。顺治九年春季,苏州大饥荒。夏季,黄陂、孝感、天门饥荒,很多百姓沦为盗贼。顺治十年夏季,兴宁、长乐、博罗、阳江、阳春饥荒。冬天,六安饥荒。顺治十一年,临榆、乐亭、新乐饥荒。顺治十二年夏季,临川、沁州饥荒。秋季,武邑、宁晋饥荒。冬天,金华、东阳、永康、武义、汤溪五个县饥荒。顺治十三年春季,琼州饥荒。秋季,东安饥荒。冬天,乌程、寿光饥荒。顺治十四年,乐亭饥荒。顺治十五年,永年、抚宁、昌黎、庆云、鸡泽、威县饥荒。顺治十六年春季,阳信、海丰、莒州大饥荒。夏季,胶州饥荒。顺治十七年夏季,遵化州饥荒。秋季,独山州大饥荒,大量百姓饿死。冬天,滦州饥荒。顺治十八年春季,兴宁饥荒。夏季,南笼府大饥荒。秋季,临安饥荒。
康熙元年,吴川大饥荒。康熙二年,合肥饥荒。康熙三年春季,揭阳饥荒。秋季,交河、宁晋饥荒。康熙四年春季,曹州、兖州、东昌大饥荒。夏季,惠来饥荒。秋季,怀远饥荒。冬天,乌城饥荒。康熙六年,应山饥荒。康熙七年,无极大饥荒。康熙十年夏季,海盐大饥荒。秋季,临安、东阳大饥荒。康熙十一年,永康、峡江、大冶饥荒。秋季,遂安、汤溪大饥荒。康熙十二年,乐亭大饥荒。康熙十三年春季,兴宁、镇平、京山大饥荒。康熙十四年,东光饥荒。康熙十五年春季,大冶饥荒。夏季,连平饥荒。康熙十六年春季,嘉应州大饥荒。夏季,郧县、郧阳、郧西大饥荒。康熙十七年秋季,曲江饥荒。康熙十八年春季,真定府下属各地饥荒。夏季,兴宁、长乐、嘉应州、平远饥荒。秋季,无为、合肥、庐江、巢县、博兴、乐安、临朐、高苑、昌乐、寿光大饥荒。冬天,满城饥荒。康熙十九年春季,江夏大饥荒。夏季,大同、天镇饥荒。冬天,万泉、遵化州、沧州饥荒。康熙二十年夏季,儋州、永嘉饥荒。康熙二十一年春季,桐乡饥荒。冬天,信宜、真定、保安州饥荒。康熙二十二年春季,宜兴饥荒。秋季,单县饥荒。康熙二十三年春季,济宁州、剡州、费县饥荒。秋季,巴县、江安、罗田饥荒。康熙二十四年春季,沛县饥荒。康熙二十五年秋季,恭城大饥荒。冬天,藁城大饥荒。康熙二十六年,博兴大饥荒。康熙二十七年秋季,蔚州饥荒。康熙二十八年春季,高邑、文登饥荒。夏季,潜江大饥荒。秋季,龙门饥荒。康熙二十九年夏季,黄冈、黄安、罗田、蕲州、黄梅、广济饥荒。秋季,襄垣、长子、平顺饥荒。康熙三十年春季,昌邑饥荒。秋季,顺天府、保安州、真定饥荒。康熙三十一年春季,洪洞、临汾、襄陵饥荒。夏季,富平、盩厔、泾阳饥荒。秋季,陕西饥荒。康熙三十二年夏季,庆阳饥荒。秋季,湖州饥荒。康熙三十三年,沙河饥荒。康熙三十四年,毕节饥荒。康熙三十五年夏季,长宁、新安、藁城饥荒。秋季,大埔饥荒。康熙三十六年夏季,广宁、连平、龙川、海阳、揭阳、澄海、嘉应州大饥荒。秋季,庆元、龙南、潜江、酉阳、江陵、远安、荆州、郧西、江陵、监利饥荒。康熙三十七年春季,平定、乐平大饥荒,人吃人。夏季,济南、宁阳、莒州、沂水大饥荒。康熙三十八年春季,陵川饥荒。夏季,婺源、费县饥荒。秋季,金华饥荒。康熙三十九年秋季,西安、江山、常山饥荒。康熙四十年,靖远饥荒。康熙四十一年春季,吴川大饥荒。夏季,沂州、剡城、费县大饥荒。冬天,庆云饥荒。康熙四十二年夏季,永年、东明饥荒。秋季,沛县、亳州、东阿、曲阜、蒲县、滕县大饥荒。冬天,汶上、沂州、莒州、兖州、东昌、郓城大饥荒,发生人吃人的惨剧。康熙四十三年春季,泰安大饥荒,人吃人,饿死的人尸体互相堆叠;肥城、东平大饥荒,人吃人;武定、滨州、商河、阳信、利津、沾化饥荒;兖州、登州大饥荒,百姓死亡大半,甚至吃房屋野草;昌邑、即墨、掖县、高密、胶州大饥荒,人吃人。康熙四十四年,凤阳府属下各地饥荒。康熙四十五年春季,汉川、钟祥、荆门、江陵、监利、京山、潜江、沔阳、郧县、郧西饥荒。康熙四十六年秋季,东流、宿州饥荒。康熙四十七年,平乡、沙河、巨鹿饥荒。康熙四十八年春季,无为、宿州饥荒。夏季,沂城、剡城、邢台、平乡饥荒。秋季,武进、清河饥荒。康熙四十九年,阜阳饥荒。康熙五十年,通州饥荒。康熙五十一年,古浪饥荒。康熙五十二年春季,苍梧饥荒,饿死数以千计的人。夏季,长宁、连平、合浦、信宜、崖州、柳城饥荒。康熙五十三年春季,阳江饥荒。冬天,汉阳、汉川、孝感饥荒。康熙五十四年夏季,临榆饥荒;遵化州大饥荒,百姓靠啃树皮活命。康熙五十五年春季,顺天、乐亭饥荒。康熙五十六年春季,天台饥荒。康熙五十七年,广济饥荒。康熙五十八年春季,日照饥荒。夏季,静宁、环县饥荒。康熙五十九年春季,临潼、三原饥荒。夏季,蒲县饥荒。康熙六十年春季,平乐、富川饥荒。夏季,邢台饥荒。秋季,咸阳大饥荒。冬天,兖州府属下各地饥荒。康熙六十一年夏季,井陉、曲阳、平乡、邢台饥荒。同年夏季,蒙阴、沂水饥荒。秋季,嘉兴、金华饥荒。冬天,怀集饥荒。
雍正元年夏季,通州饥荒。秋季,嘉兴饥荒。雍正二年春季,蒲台大饥荒。夏季,乐清、金华、嵊县饥荒。冬天,英山饥荒。雍正三年夏季,顺德、胶州饥荒。冬天,惠来饥荒。雍正四年春季,嘉应州饥荒。秋季,澄江、阳江饥荒。雍正五年冬天,江陵、崇阳饥荒。雍正七年,寿州饥荒。雍正八年夏季,肥城、武城饥荒。冬天,铜陵大饥荒。雍正九年春季,肥城大饥荒,饿死的人尸体层层堆积;莒州、范县、黄县、招远、文登饥荒。夏季,章丘、邹平大饥荒。冬天,济南大饥荒。雍正十年,崇明、海宁饥荒。雍正十一年冬天,上海、嘉兴饥荒。雍正十二年秋季,武进大饥荒。雍正十三年秋季,庆远府属下地区大饥荒。冬天,垣曲饥荒。
乾隆元年夏季,海阳饥荒。乾隆三年秋季,平阳饥荒。乾隆四年春季,葭州饥荒。夏季,砀山饥荒。乾隆五年,巩昌、秦州、庆阳等地饥荒。乾隆六年,甘肃陇右各个州县大饥荒。乾隆七年春季,山阳饥荒。夏季,宜都饥荒。秋季,亳州饥荒。乾隆八年春季,南昌、饶州、广信、抚州、瑞州、袁州、赣州各府大饥荒。夏季,天津、深州二十八个州县饥荒。乾隆九年,高邑大饥荒。乾隆十年,正定、赞皇、无极、藁城、元氏等县饥荒。乾隆十一年春季,沾化饥荒。夏季,庆云、宁津饥荒。乾隆十二年,曹州、博山、高苑、昌乐、安丘、诸城、临朐饥荒。乾隆十三年春季,曲阜、宁阳、济宁、日照、沂水饥荒。夏季,福山、栖霞、文登、荣成饥荒,栖霞灾情最重,百姓贩卖儿女。乾隆十四年春季,安丘、诸城、黄县大饥荒,道路上到处是饿死的人,贩卖子女的不计其数。乾隆十五年秋季,广信饥荒。乾隆十六年春季,福山、栖霞饥荒,很多百姓饿死。夏季,南昌、广信饥荒。冬天,建德饥荒。乾隆十七年春季,全州饥荒。夏季,同官、洵阳、白河饥荒。冬天,房县饥荒。乾隆十八年春季,庆元饥荒。秋季,郧县饥荒。乾隆十九年,罗田饥荒。乾隆二十年,溧水、通州饥荒。乾隆二十一年春季,青浦、东流、湖州、石门、金华饥荒。夏季,沂州、武城饥荒。冬天,济南府饥荒。乾隆二十二年夏季,博白饥荒。秋季,掖县饥荒。乾隆二十三年春季,翁源、苍梧饥荒。夏季,日照饥荒。乾隆二十四年秋季,陇右各个州县大饥荒。乾隆二十五年,平定、潞安、长子、长治、和顺、天门饥荒。乾隆二十六年,江夏、随州、枝江饥荒。乾隆二十七年春季,济南饥荒。夏季,枣强、庆云饥荒。乾隆二十八年夏季,永年、永昌大饥荒。乾隆二十九年秋季,东光大饥荒。乾隆三十年春季,桐庐饥荒。秋季,吉安、广信、袁州、抚州饥荒。冬天,威远饥荒。乾隆三十一年,济南、新城、德州、禹城饥荒。乾隆三十二年冬天,池州大饥荒。乾隆三十三年夏季,沂水、日照大饥荒。乾隆三十四年,溧水、太湖、高淳饥荒。乾隆三十五年,兰州、巩昌、秦州下属各地大饥荒。乾隆三十六年夏季,会宁、肥城大饥荒。秋季,新城、宁陕厅饥荒。乾隆三十八年秋季,文登、荣成饥荒。乾隆三十九年秋季,秦州、镇番大饥荒。乾隆四十年,溧水、武进、高邮、南陵大饥荒。乾隆四十二年秋季,陆川饥荒。乾隆四十三年,整个四川爆发大饥荒,出现专门买卖人口的集市;江夏、武昌等三十一个州县饥荒。乾隆四十四年春季,南漳、光化、房县、随州、枝江饥荒。夏季,秦州下属各地饥荒。乾隆四十五年秋季,江陵、保康饥荒。乾隆四十七年,滦州、昌黎、临榆饥荒。乾隆四十八年春季,黄县饥荒。秋季,绥德州饥荒。乾隆四十九年春季,葭州饥荒。夏季,来凤饥荒。乾隆五十年春季,宜城、光化、随州、枝江大饥荒,百姓吃树皮度日。夏季,章丘、邹平、临邑、东阿、肥城饥荒。秋季,寿光、昌乐、安丘、诸城大饥荒,出现父子相食的惨剧。乾隆五十一年春季,山东各个府、州、县大饥荒,人吃人。乾隆五十二年,临榆大饥荒。乾隆五十三年秋季,文登、荣成饥荒。乾隆五十四年夏季,宜都饥荒。乾隆五十五年秋季,禹城饥荒。乾隆五十六年,邢台等八个县饥荒。乾隆五十七年,唐山、宁津、武强、平乡饥荒,很多百姓饿死。乾隆五十八年春季,常山饥荒。乾隆五十九年,清苑、望都、蠡县饥荒。乾隆六十年春季,蓬莱、黄县、栖霞饥荒。夏季,麻城饥荒。
嘉庆五年夏季,海阳饥荒。嘉庆六年,文登、荣成饥荒。嘉庆七年冬天,乐亭饥荒。嘉庆八年夏季,秦州下属各地大饥荒。嘉庆九年春季,滕县饥荒。嘉庆十年夏季,黄县、邢台饥荒。嘉庆十一年春季,中部、通渭饥荒。冬天,安陆饥荒。嘉庆十二年,蓟州、昌黎、永安州饥荒。嘉庆十三年夏季,黄县饥荒。嘉庆十五年秋季,宁津、东光、章丘饥荒。嘉庆十六年夏季,霸州、保定、文安、大城、固安、永清、东安、宛平、涿州、良乡、雄县、安州、新安、任丘、滦州、蓟州饥荒。嘉庆十七年春季,登州府属下地区大饥荒,秦州下属各地以及镇番、永昌等地大饥荒。夏季,临榆饥荒。冬天,乐清饥荒。嘉庆十八年春季,肥城、东阿、滕县、济宁、曹县、诸城饥荒。冬天,宜城、房县、竹溪、均州、保康饥荒。嘉庆十九年春季,宜城、安陆、保康、麻城、郧县饥荒。夏季,襄阳、汉阳、枣阳、南漳饥荒。秋季,高淳饥荒。嘉庆二十年,清苑饥荒。嘉庆二十一年,武昌县饥荒。嘉庆二十二年,固安、武强、内丘饥荒。嘉庆二十五年秋季,乐清、永嘉饥荒。
道光元年秋季,荣成饥荒。道光二年夏季,滦州饥荒。道光三年春季,东阿饥荒。秋季,曲阳饥荒。道光四年,皋兰、静宁、西宁、巩昌、秦州等地大饥荒。道光五年秋季,南乐、静海、文安、大城、宝坻饥荒。道光七年春季,日照大饥荒。道光八年,太平饥荒。道光十年冬天,江陵饥荒。道光十二年春季,昌平饥荒。夏季,紫阳大饥荒,人吃人。冬天,钟祥、潜江、汉阳、蕲州、黄梅、江陵、公安、监利、松滋饥荒。道光十三年春季,诸城、日照大饥荒,百姓四处流亡。夏季,保康、郧县、房县饥荒,人吃人。秋季,滦州、抚宁饥荒。道光十四年春季,归州、兴山大饥荒,人吃人。夏季,庄浪以及秦州下属各地饥荒。秋季,青浦饥荒。冬天,定海饥荒。道光十五年春季,诸城饥荒。秋季,孝义厅大饥荒。道光十六年春季,登州府属下地区大饥荒。冬天,太平饥荒。道光十七年冬天,即墨饥荒。道光十八年夏季,永年饥荒。道光二十年冬天,滦州、乐亭、抚宁饥荒。道光二十一年夏季,高淳饥荒。冬天,枝江饥荒。道光二十二年冬天,蕲州饥荒。道光二十三年秋季,湖州饥荒。道光二十六年秋季,平凉县饥荒。道光二十七年,南乐饥荒,人吃人。道光二十九年夏季,江陵、公安、石首、松滋、枝江、宜都大饥荒,饿死的人不计其数。冬天,青浦饥荒。道光三十年春季,湖州、咸宁、崇阳饥荒。
咸丰二年春季,日照大饥荒。夏季,全县大饥荒。咸丰六年,黄县、临朐饥荒。咸丰七年春季,肥城、东平大饥荒,尸体堆积;鱼台、日照、临朐也闹饥荒,人吃人。夏季,清苑、元氏、无极、邢台大饥荒。咸丰八年秋季,兴山饥荒。
同治元年春季,乐亭饥荒。同治二年春季,孝义厅饥荒。秋季,江山、常山饥荒。同治三年,保康饥荒。同治四年春季,蕲水饥荒,百姓被迫出卖子女。同治五年,兰州饥荒,人吃人。同治六年春季,庄浪、金县、皋兰饥荒。同治七年春季,即墨、孝义厅、蓝田、沔县饥荒。夏季,泾州大饥荒,人吃人。冬天,平凉、静宁、古浪、固原、灵台、秦州、永昌等地大饥荒。同治八年春季,日照饥荒。同治九年夏季,上饶饥荒。同治十年秋季,望都、乐亭饥荒。同治十三年秋季,雄县饥荒。冬天,山丹饥荒。
光绪元年冬天,海州饥荒。光绪二年春季,日照、海阳、滦州饥荒。光绪三年,高陵大饥荒,饿死男女三千多人;靖远、平凉、泾州、灵台、礼县、文县、合水大饥荒。光绪四年,唐县等四十个州县饥荒,庄浪、阶州、成县、灵州、巩昌、秦州下属各地饥荒。光绪六年秋季,邢台饥荒。光绪七年,通州等州县饥荒。光绪九年秋季,鹤庆州大饥荒。光绪十一年夏季,沾化饥荒。光绪十三年冬天,洮州、永昌饥荒。光绪十五年春季,鱼台饥荒。光绪二十一年春季,邢台、滦州饥荒。光绪二十二年夏季,太平饥荒。光绪二十三年,宁津饥荒。光绪二十四年冬天,靖远、静宁、庄浪、丹噶尔饥荒。光绪二十五年秋季,文县饥荒。光绪二十六年夏季,靖远饥荒。光绪二十七年冬天,洮州、静宁、灵台饥荒。光绪二十九年,洮州依旧饥荒。光绪三十三年秋季,皋兰饥荒。
顺治十五年六月,遂安降下黄沙。
康熙元年十一月,曹县接连好几天下土雨。康熙三十一年正月,襄垣下土雨。康熙三十七年四月,龙门降下黄沙。康熙四十八年九月,丘县黄色尘土遮蔽天空。康熙六十年春季,安定下土雨。
乾隆四年三月,甘泉下土雨。乾隆十六年三月十五日夜里,忠州降下黄土,人和物件全都变成黄色。乾隆二十四年二月初七,蓟州降下黄土。三月,永年降下黄土。乾隆四十八年三月十四日,宁陕厅下土雨。乾隆五十年二月十五日,临清下土雨。乾隆五十一年正月,文登、荣城下土雨。乾隆五十九年二月二十六日,翼城下土雨。
嘉庆十四年冬天,泰州下土雨。嘉庆二十三年四月,唐山降下二寸左右厚的尘土。
道光四年春季,沾化下土雨。
咸丰三年二月,栖霞下土雨。三月,宜昌下土雨。咸丰六年三月二十三日,咸宁下土雨。
同治三年春季,麻城下土雨。
光绪四年二月二十九日,宜城降下黄沙。三月,蓬莱下土雨。
志二十 时宪一
明代的《大统历》,根源来自元代的《授时历》。成化年以后,推算日食、月食经常和实际天象不符。万历末年,徐光启、李之藻等人翻译西方书籍,创立新历法,推算日食月食、行星冲犯都十分贴合天象,但是没来得及推行使用。清世祖定都北京之后,才废弃明代旧历法,依照这套新历法推演,也就是沿用了二百六十多年的时宪历法。徐光启等人曾经反复争辩这套历法的长处,在明代被阻挠没能施行,反倒成为新王朝改订历法的凭借,这难道不是天意吗!清圣祖精通历算学问,确定使用均轮算法推算日月五星,以康熙甲子年作为历法起算基准。雍正年间,听从钦天监官员的请求,推演历法改用椭圆算法,以雍正癸卯年作为起算基准。道光年间,钦天监官员发现日食月食推算的分秒和实际观测有偏差,就依据实测的数据修改原有参数,以道光甲午年作为起算基准。从康熙到道光,推算历法的算法一共改动三次,不过道光甲午基准的历法只完成了恒星表。至于推算日月交食、推演五大行星,都没有编撰完成成书。
西洋人汤若望,就是和徐光启一同翻译新历法书籍的人,他列举四十二条论据,证明西方历法精密、中原传统历法粗疏,天文历法的从业者大多信服他。宣城人梅文鼎深入钻研天文算学,从《授时历》往上追溯《三统历》《四分历》以来各家历法,又广泛研究《九执历》《回回历》,再折中参考西洋新历法,全部理清各家的本源,辨析异同,最终凭借深厚学识得到圣祖赏识。研究历算的学者,才懂得中原、西洋的学问可以融会贯通,不会被新历法迷惑。
和汤若望同一时期来到中国的是穆尼阁,他把学问传授给淄川人薛凤祚;吴江人王锡阐自己创立一套算法,用来推算日食月食,误差不到一秒。薛、王两家的学术,都没有被钦天监官方采用,但是推算的精密程度,有时超过朝廷天文官员。现在编撰《时宪志》,详细把推演计算、日月五星、四余星、原理、算法参数记录在书中;各家论述对数理有帮助的,也摘录核心要点写进来。明代的《大统历》《回回历》,康熙初年还在使用,相关内容在《明史》已经详细记载,这里不再重复叙述。
推步因革(历法推演的沿革变迁)
顺治元年六月,汤若望上奏说:“我在明朝崇祯二年来到京城,曾经依照西洋新历法修订旧历。现在把新历法推算出的本年八月初一日日食,京城以及各个省份能看到日食的食限分秒,还有日食初亏、复圆的方位、图像整理好进呈,请陛下到时间派遣官员实地观测检验。”皇帝准许了他的请求。七月,汤若望又推算天象进呈朝廷。这个月礼部上奏:“钦天监改用新历法,推算编排的历书已经完成,请改换新的名字,颁布到全国。”睿亲王说:“应当命名为‘时宪’,用来体现朝廷效法上天、治理百姓的心意。”朝廷采纳这个提议。
八月初一午时,发生日食,食分为二分四十八秒。大学士冯铨,会同汤若望前往观象台观测后回奏:只有西洋新法的推算和实际天象分毫不差,《大统历》《回回历》推算的时刻全都出现偏差。皇帝下谕:“旧历法使用年代久远自然产生误差,并不是监内官员生员推算出错。既然新历法贴合天象,钦天监、五官监的人员应当用心学习,不可懈怠玩忽。”十月,朝廷颁布顺治二年的《时宪书》。
汤若望又上奏:“恭敬地授予百姓农时,关键在于节气太阳运行宫度,还有太阳升起落下的白昼时刻。如今各个节气的时刻分秒、太阳出没昼夜时辰,全部按照各地距离京城的远近来推算,请把这些内容刊印进《时宪书》。”朝廷准许。十一月,任命汤若望掌管钦天监事务。汤若望等人上奏:“我们依照新历法推算月食时刻分秒,重新确定每年进呈书籍的条目,删去重复内容,避免混淆。”
顺治二年六月,汤若望等人上奏:“旧历法推算这一年十二月己卯初一辰时,日食三分多;回回科推算能看见的日食一分不到。按照新历法推算,应当只有半分多日食,而且发生在日出之前,在地平线之下,地面看不见,请到期派遣官员观测核验。”朝廷批准。到了那一天,天空阴雨,观测核验这件事就此搁置。十一月,汤若望把明代大学士徐光启翻译的《崇祯历书》改名为《新法历书》进呈。皇帝下令交给钦天监官员生员学习,同时交付史馆存档,加封汤若望太常寺卿官衔。顺治十年,赐给汤若望“通玄教师”称号,嘉奖他的功绩。
汤若望的历法,以天聪戊辰年作为起算原点。把整个周天划分成三百六十度。太阳每日平均运行五十九分八秒十九微四十九纤三十六芒;太阳远地点每年移动四十五秒;戊辰年太阳平均位置距离冬至点五十三分三十五秒三十九微,太阳远地点距离冬至点五度五十九分五十九秒。月亮每日平均运行十三度十分三十五秒一微;月亮自身本轮运行十三度三分五十三秒五十六微;月亮升交点每日运行三分十秒;月孛(月亮近地点)每日运行六分四十一秒。戊辰年月亮平均位置距离冬至点六宫一度五十分五十四秒四十六微;月亮本轮位置距离冬至点六宫二十五度三十二分十五秒三十四微;月亮升交点距离冬至点一宫十四秒;月孛距离冬至点十一宫六度十九分。
土星各项运行参数:平均位置距离冬至点十一宫十八度五十一分五十一秒;该年土星远地点距离冬至点九宫八度五十七分五十九秒;平均位置到远地点的角度,也就是引数,为二宫九度五十三分五十二秒;土星升交点距离冬至点六宫七度九分八秒。平年土星平均每年运行十二度十三分三十一秒;远地点每年移动一分二十秒十二微。用远地点运行度数减去平均运行度数,得到十二度十二分十五秒,就是一年的引数。闰年土星平均每年运行十二度十五分三十五秒,引数为十二度十四分十五秒。土星升交点每年移动四十二秒。
木星各项运行参数:平均位置距离冬至点八宫二十八度八分三十一秒;木星本轮远地点位置十一宫二十七度十一分十五秒;平均位置到远地点即引数,九宫零度五十七分十六秒;木星升交点六宫二十四度四十一分五十二秒。平年木星距离冬至点平均运行一宫零二十分三十二秒;远地点每年移动五十七秒五十二微;两数相减得到一宫零十九分三十四秒,就是平年的引数。闰年木星距离冬至点平均运行一宫零二十五分三十一秒,引数一宫零二十四分三十三秒。木星升交点每年移动十四秒。
火星各项运行参数:平均位置距离冬至点五宫四度五十四分三十秒;火星本轮远地点在七宫二十九度三十分四十秒;平均位置到远地点即引数,九宫五度二十三分五十秒;火星升交点三宫十七度二分二十九秒。平年火星距离冬至点平均运行六宫十一度十七分十秒;远地点每年移动一分十四秒;两数相减得到六宫十一度十五分五十五秒。闰年火星距离冬至点平均运行六宫十一度四十八分三十六秒,引数六宫十一度四十七分二十一秒。火星升交点每年移动五十三秒。
金星各项运行参数:平均位置和太阳度数相同,初宫初度五十三分三十五秒三十九微;平均位置到远地点即引数六宫零五十六分五十五秒;金星伏、见的起点位置初宫九度十一分七秒;远地点在六宫零十六分六秒。平年金星距离冬至点十一宫二十九度四十五分四十秒三十八微;本轮引数十一宫二十九度四十四分十七秒;伏见运行七宫十五度一分五十秒;远地点每年移动一分二十一秒。闰年,距离冬至点度数、本轮运行度数增加五十九分八秒;伏见运行度数增加三度六分二十四秒,也就是一日的运行度数。金星升交点在远地点前方十六度,即五宫十四度十六分。它的移动速度极慢,所以没有确定速率,但是对远地点推算不会造成大偏差。
水星各项运行参数:平均位置和太阳度数相同;平均位置到远地点即引数二十九度二十分二秒;伏见运行起点三宫二十九度五十四分十六秒;远地点十一宫零五十二分四十二秒。平年水星距离冬至点度数同样和太阳一致;本轮引数十一宫二十九度四十三分五十一秒;伏见运行走完三整周之后再多出一宫二十三分五十七分二十六秒。闰年引数十二宫零四十二分五十九秒;伏见运行走完一周之后再多一宫二十七度三分五十二秒。水星升交点,有人认为和远地点度数一致,很难观测,所以不敢下定论。
汤若望概括新历法的要点,一共四十二条: 1.天地经纬:天有经纬度,大地同样也有。二百五十里对应天上的一度,经度纬度都是这个比例。 2.各星体有不同的天球:各个星体距离大地高低远近差距极大,驳斥旧历法认为所有星体共用同一个同心天球的错误。 3.圆心互不重合:太阳运行轨道的圆心和地心不是同一个,两个圆心之间的距离,从古到今并不固定。 4.蒙气差:地球有大气层,如果不预先计算蒙气差,推算结果就不能和天象严密吻合。 5.测算方法和古法不同:观测天体使用球面三角,计算依靠割圆八线表。 6.全部以黄道开展测算:用赤道仪器观测,得到的经度并不准确;新历法算出黄道经度,再通过黄赤换算表转换,才和实际天象贴合。 7.重新确定各个历元起点:从天聪二年戊辰冬至之后己卯日子时正刻作为计算开端。 8.求取真实节气:旧历法用平均节气,并不是太阳运行形成的真实节气,现在重新订正。 9.日月运行盈缩的真实界限:借鉴《授时历》的消分算法得到平岁,再叠加远地点、近地点的差值进行增减,得到定岁。 10.圭表测量二分:过去用圭表测量冬至,并不是最好的办法;改用春分、秋分观测,比二至更加精密。 11.太阳出入以及晨昏界限:以京城作为基准计算,各个地方再做增减调整。 12.昼夜时长并不均等:昼夜时长差距超过一刻,一是因为黄道上太阳夏季运行慢、冬季运行快;二是黄道、赤道张开距离不同,每一度对应的实际时长就有差别。 13.重新规定时刻:把一昼夜定为九十六刻。 14.置闰规则不一样:旧历法依靠平均节气设置闰月,并不正确;改用太阳实际运行经过黄道的度数确定节气。 15.月亮运行加减差:朔望的时候只用一套加减参数,其余日期需要两到三套,数值大小各不相同。 16.月亮轨道高低速度快慢:月亮运行到本轮远地点速度最慢,到近地点速度最快;五大行星也是同样道理。 17.朔日之后月亮显现的快慢:一是月亮自身运行速度快慢,二是黄道高低倾斜,三是白道位置在黄道南边还是北边。 18.交行加减差:月亮走到黄白交点附近,只用平均算法推算就会出错,所以设置交行均数做修正。 19.月亮黄纬距离:旧历法认为黄道白道固定相差五度,不知道除了朔望之外距离会有增减,最大夹角是五度又三分之一度。 20.判断交食是否发生:月食,比较月亮黄纬和月亮、地影两个半径;日食,则比较月亮黄纬和太阳、月亮两个半径。黄纬小于两半径之和就会发生食象,大于就不会。 21.日月食食限不一样:月食是月亮和地影球体相切,对比两者视半径与月亮黄纬,再通过黄白交点推算交食范围;日食必须加入视差,才能得到真实黄纬。 22.日月食分的异同:月食用的是地心视角下月亮中心和地影中心的真实距离;日食用的不是真实距离,而是地面观测者看到的视距离。 23.实食和中食:以地心垂直向上对应黄道的直线为准,太阳月亮五大行星正好落在这条线上,叫作实食;月亮、行星处在本轮圆周,本轮圆心落在这条线上,叫作中食。 24.视食:日食存在天体本身真实发生的食象,还有地面人眼看到的视食,视食由观测者所处地面位置决定。 25.黄道九十度是东西视差的分界:从天顶来看,高低视差是垂直向下;南北视差是斜向;只有黄道九十度这条分界线上东西视差垂直向下,其余位置都是斜向。从轨道几何看,南北视差是直角三角形的股,东西视差是勾,高低视差是弦。到九十度分界处,股和弦重合,勾等于零。 26.三种视差:以地球半径为一条边,日月到地球距离为一边,星体地平高度为一边构成三角形,算出高低视差;星体南北偏移得到南北视差;星体在黄道九十度分界左右偏移得到东西视差。 27.三种大气造成的偏差:东西、南北、高低视差来自地球半径;另外三种偏差不是来自地半径,而是来自大气:蒙气折射差、蒙气半径差、本轮半径差。 28.初亏复圆时间不对称:不能简单认为初亏复圆把食的时间对半平分;新历法按照视运动推演,就能明白两者时刻不等的缘由。 29.各地交食算法不同:各个地方依据地球半径修正交食时刻,还有日食食分。 30.日食特殊偏差:按照算法应当出现日食,但是当地观测不到;这是南北视差转化为东西视差造成的,千百年才会偶然发生一两次,但确实存在。 31.可以向前推演、向后验证:新历法的各类表格,往前追溯、往后推算,一目了然,不耗费功夫。 32.五大行星以太阳作为参照基准:旧历法行星合伏周期时长忽长忽短,只靠分段参数,难免产生误差,现在加以改正。 33.行星伏见推算贴合天象:旧历法判断行星伏藏、显现只看黄道距离,并不正确,现在予以订正。 34.五大行星的黄纬:月亮轨道斜交黄道,产生南北纬度,分阴阳历;五大行星也是同理,新历法全部详细推演,旧历法做不到。 35.金星水星的伏见:金星靠近太阳也不一定隐没不见;水星远离太阳也可能看不见,用浑仪实测就能分辨,旧历法做不到。 36.五大行星观测方法:观测五大行星,要拿恒星作为参照坐标。 37.恒星向东移动:恒星以黄极为极点,各个星宿的距星距离北天极时而近时而远,是黄极、赤极并不重合,不是星宿星体本身在移位。 38.恒星划分六等亮度,从前没有这种说法。 39.银河的解释:新历法用望远镜观测,银河是无数细小恒星聚集形成。 40.四余星删改订正:罗睺就是白道升交点,计都是白道降交点,月孛是月亮远地点。紫炁没有可以推算的数理,《明史》牵强附会,现在一并删除修改。 41.观测仪器:新历法新增的仪器,象限仪、百游仪、地平仪、弩仪、天环天球纪限仪、浑盖简平仪、黄赤全仪;新制造的望远镜,尤其观测星体的关键器具。 42.日晷器具:地平晷、三晷、百游晷、通光晷。此外还有星晷、月晷,用来夜里观测。
汤若望所说的内容,大抵拿新历法批评旧历法的疏漏,而新历法的核心要义,也全部包含在这里。
顺治十四年四月,原回回科秋官正吴明炫上奏:“我的祖先默河亦里等十八个家族,本是西域人,隋朝开皇己未年带着历算学问辗转翻译来到中原,被任命为天文官员。一千五十九年,专门掌管星宿运行、吉凶占候,每年推算月亮、五大行星的冲犯天象,各类天象预兆,日月交食,都以我回回科单独文书进呈,成为固定制度。顺治三年,钦天监掌印汤若望下令回回科,所有日月交食、月亮五星冲犯、天象占候都不必上奏进呈。我核查汤若望推算的日月五星运行,水星二月、八月按推算应当隐没看不见,可今年二月二十九日水星仍然在东方出现,八月二十四日傍晚也能看见。这件事关系天象占候,不敢不如实上报。请求恢复回回科,保存这一门失传学问。”这份奏章下发相关部门商议。
这个时候,新安的官学生杨光先到宫门递交《摘谬论》,指责汤若望新历法的错误;还说:“《时宪书》上面‘依西洋新法’五个字尤其不合礼制。”又递交《选择议》,指责汤若望挑选荣亲王下葬日期,使用《洪范》五行,方位、年月日时全都触犯凶忌。
康熙三年十二月,礼部商议上奏:“《时宪书》封面上‘依西洋新法’五个字,打算改成‘奏准’二字。”皇帝批准。康熙四年,议政王大臣上奏说:“传统一日一百刻,新历法改成九十六刻;二十八星宿的顺序,汤若望把觜宿、参宿的前后颠倒;又删掉四余星中的紫炁,全都不合旧制。挑选葬期不用正统五行,采用《洪范》五行,导致方位时日触犯凶煞,事情性质重大。汤若望和钦天监各科官员,分别拟定凌迟、斩首的刑罚。”皇帝下旨,汤若望宽大免死;时宪科李祖白等五个人全部处斩。于是重新启用《大统历》旧算法,任命杨光先掌管钦天监事务。杨光先屡次上书推辞,皇帝不允许。杨光先本身并不精通历法推演。康熙七年,杨光先声称下一年应当闰十二月,不久发现自己推算出错,主动检举,但是《时宪书》已经颁发天下,朝廷只好下谕全国取消这个闰月。
同年,钦天监监副吴明烜上奏:“古法推算有很多错漏,五官正以及回回科进呈的推算结果各不相同,应当立刻校正。”下发礼部讨论。礼部回奏:“五官正戈继文等人推算日月五星,金星水星误差极大;主簿陈聿新推算七政没有经过实测,同样有错;监副吴明烜推算的结果和天象比较接近,应当颁行使用。依旧命令钦天监官员连同四科官员,白天测量日影确定节气,夜里观测月亮五星确定运行度数。”皇帝批准。
十一月,西洋人南怀仁上奏,说已经颁行的历法和天象不符。于是召南怀仁、利类思、安文思,还有钦天监马祐、杨光先、吴明烜等人到东华门。大学士李霨传达皇帝旨意:“制定历法是国家重大政务,你们不要抱着旧仇,只认定自己是对的、别人是错的。正确的就遵从采用,错误的就要修改,务必做到尽善尽美。”十二月,南怀仁上书逐条驳斥吴明烜编制的《康熙八年七政时宪书》。交给王公大臣、九卿、科道官员集体商议。议政王大臣上奏:“请求派遣大臣,会同南怀仁等人前往观象台实地测验。”于是派遣图海、李霨等二十人到观象台测验。
康熙八年二月,议政王大臣回奏核查结果:“图海等人到观象台测验,南怀仁推算的结果全部和天象吻合,吴明烜推算全部出错。询问钦天监监正马祐等人,也都说南怀仁推算确实贴合天象。我们认为,一日一百刻沿用已经很久,但是南怀仁九十六刻算法符合天象,应当颁布施行。另外南怀仁说,罗睺、计都、月孛是推算历法要用到的参数,所以附在日月五星之后;紫炁没有实际推算用途,不应当写进历书。从康熙九年开始,采用九十六刻的历法。”此时吴明烜辩解:“我只懂天文现象,不懂历法推算。”杨光先说:“我不懂计算历法,只懂历法义理。”杨光先言辞十分无礼,被革除官职。
三月,任命南怀仁担任钦天监监副。早先钦天监官员按照旧法推算,康熙八年十二月应当设置闰月。南怀仁说,雨水是正月的中气,这个月二十九日就是雨水,那一天已经属于康熙九年正月,不应该在这里置闰,闰月应当安排在第二年二月。钦天监多数官员认同南怀仁,朝廷听从他的意见,改闰到康熙九年二月。至此《大统历》《回回历》两套算法全部废弃,专门使用西洋历法,就像顺治初年那样。八月,南怀仁弹劾杨光先诬告汤若望谋反。议政王大臣商议,汤若望应当恢复“通微教师”名号,按照原来官阶给予抚恤;杨光先应当按诬告治罪。皇帝下旨,免于追究杨光先罪责。
康熙十三年二月,新编撰的《灵台仪象志》成书,加封南怀仁太常寺卿官衔。康熙十四年二月,下谕钦天监监副安泰,跟随何君锡学习传统古历法。康熙十五年二月,钦天监上奏五月初一日食。监副安泰依照旧法推算,日食五分六十秒;南怀仁新历法推算,日食只有二十微三分之一秒。到日食当天,登上观象台观测,酉正时刻食甚,食分将近一分,戌初刻复圆。旧历法推算的食分误差极大,新历法推算也并不完全贴合。南怀仁解释:“这是蒙气造成的效果,大气层会把小的星体影像放大。”
康熙十七年七月,钦天监进呈《康熙永年表》三十二卷。康熙二十二年十月,钦天监官员编撰完成盛京的九十度表。当初南怀仁上奏:“各个省份北极高度不一样,日食月食发生时刻、食分都有差别,全部依靠各地的九十度表推算。过去不知道盛京的北极高度,直接套用京城的九十度表。现在测出盛京北极高度比京城高二度,请按照当地高度推算专属的九十度表。”朝廷准许。到这时,把盛京九十度表进呈,皇帝下谕,永久遵照使用。
康熙四十一年十月,大学士李光地把宣城贡生梅文鼎写的《历学疑问》三卷进呈。皇帝说:“我留心天文算学很多年,这件事我能够分辨对错。”亲自批阅点评之后,把书还给李光地,相关详情记录在《梅文鼎传》当中。梅文鼎论述中西两套历法的异同:“如今使用西洋新历,是吸收它的长处,弥补传统历法的不足,不是完全抛弃古法全盘依从西洋。西洋历法和中原历法相通之处不止一处。西洋所说五星远地点加减,就是中原历法的盈缩历;对应月亮就是迟疾历。西洋讲五星的本轮岁轮,就是中原历法的段目。西洋讲恒星向东移动,就是中原历法的岁差。西洋依靠太阳经过黄道宫度定节气,就是中原的定气。西洋各个地方真实节气有差别,就是中原历法的里差。只不过中原历法只记录盈缩迟疾这些现象,西洋用远地点近地点解释背后原理;中原记录段目,西洋用岁轮解释原理;中原记录岁差现象,西洋用恒星东移解释缘由。中原历法记载的是运行的结果,西洋历法讲清楚背后的道理,这是它可取的地方。至于定气、里差,中原本来就有这套方法,只是没有写进官方历书,并不是古代没有,到现在才出现。西洋新增的内容,是五大行星的黄纬。中原历法只有日月计算纬度,五大行星没有相关推演。现在西洋算法,五大行星有升交点、纬度运行,和日月一样完备详细,这正是中原历法重大的缺陷,靠西洋算法补足。对于和中原历法相同的部分,西洋讲清内在原理;对于中原缺失的部分,西洋补上漏洞。于是我们一代代观测积累得到的结论,有西洋理论佐证而更加可信;西洋那些看似难以理解的说法,也被我们历代观测记录证明真实。就算古代圣人复生,也会对两家学问兼容吸收。”
康熙五十年十月,皇帝对大学士等人说:“天文历法我一向留心,西洋历法大体框架没有错误,但是刻度分秒,时间久了一定会产生偏差。今年夏至,钦天监上奏是午正三刻;我亲自测量日影,实际是午初三刻九分。现在这点差错看起来微不足道,只怕几十年之后,偏差会越来越大。就像钱粮账目,一丝一厘看着不多,累计起来数额就很大。这件事有实际观测作为证据,不能像书生空谈,拿虚话搪塞责任。”又下谕礼部,选拔擅长算学的人员,皇帝亲自出题考试,录取顾琮等四十二人。
康熙五十一年五月,皇帝去往避暑山庄,征召梅文鼎的孙子梅瑴成到行宫。在此之前,已经下旨苏州府教授陈厚耀、钦天监五官正何君锡的儿子何国柱、何国宗,官学生明安图,原钦天监监副成德,跟随在皇帝身边待命。皇帝亲自讲授提问,允许他们像师徒一样问难探讨。等到梅瑴成抵达,回答皇帝提问合乎旨意,就和陈厚耀等人一同在内廷值班。
康熙五十二年五月,下令编撰律吕、算学相关书籍。任命诚亲王允祉、皇十五子允烜、皇十六子允禄主持修书;何国宗、梅瑴成担任汇编;陈厚耀、魏廷珍、王兰生、方苞等人担任校对。编撰完成的书稿每天进呈,皇帝亲自修改订正。
康熙五十三年四月,下谕诚亲王允祉等人:“古代历法整体格局很好,只是用到的数值年代久远和天象不合。现在修书,应当沿用古历法的框架,使用当今实测的数据进行计算。”十月,再次下谕:“北极高度、黄赤交角最为关键,安排人员在澹宁居后面每天进行测量。”于是铸造象限仪,仪器直径五尺,用铜铸造;白天测量太阳位置,夜里观测勾陈帝星。另外制作中表、正表、倒表各两座,每座高四尺;中表用来测太阳中心,正表、倒表测量太阳上下边缘的日影。只是六座圭表测出的日影尾数参差不齐,不能统一。
梅瑴成说:“圭表越高,日影就越淡,尾数很难测准,自古以来就是难题。从前郭守敬造铜圭表,两端铸造双龙,把横梁抬高四十尺;因为影子虚淡,创制景符来获取清晰实像。景符用二寸宽的铜片,长度比宽度多出一倍,中间扎一个细小孔;底座是方木,一头装转轴,可以开合倾斜。挪动铜片,让小孔向北抬高、向南压低,在淡淡的虚影当中来回调整。阳光穿过小孔,投影只有黍米大小,横梁的影像会清晰出现在光斑当中。”于是仿照《元史》记载郭守敬的方法,制造六套景符,按照这套办法使用,日影的尾数才做到丝毫不差。测量得到畅春园北极高度三十九度五十九分三十秒,比京城观象台高出四分三十秒;黄赤大距二十三度二十九分,比旧的测量数值减少二分。
十一月,诚亲王允祉等人上奏:“郭守敬编《授时历》,派遣二十七路官员分赴各地测量,所以推算才能贴合天象。现在除畅春园、观象台每日观测之外,福建、广东、云南、四川、陕西、河南、江南、浙江八个省份,经纬度差距表现最明显。请求派人到各地逐日测量,拿到真实数据,这样东西南北的里差、太阳地球半径,都能有实测依据。”朝廷准许。
康熙五十八年二月,推算历法人手不够,命令礼部在蒙养斋组织考试,录取傅明安等二十八人,安排在修书机构任职。康熙六十年,御制算学书籍完成,赐名叫《数理精蕴》。皇帝下谕,赐一套给梅文鼎,命他仔细校对;派遣梅文鼎的孙子梅瑴成把书送过去。
康熙六十一年六月,历法书稿完成,连同律吕、算学,整套叫《律历渊源》,一共一百卷:第一部分《历象考成》上下编;第二部分《律吕精义》上下编加上续编;第三部分《数理精蕴》上下编。雍正元年,把《历象考成》颁发给钦天监,这就是康熙甲子元法。从雍正四年开始,编撰《时宪书》全部遵照《历象考成》的算法。又议定,这部御制书籍不需要钦天监打理管理;在钦天监任职的西洋人,任命为监正。
雍正八年六月,钦天监监正明安图上奏:“日月运行度数,时间久了会和算法出现偏差,历法需要随时修订,才能贴合天象。我们遵照御制《历象考成》推算时宪历,监正西洋人戴进贤、监副徐懋德观测发现有微小误差。这个月初一发生日食,我们集体实地测验,实测结果和推算食分不相吻合。请求下令戴进贤、徐懋德详细校对修订。”皇帝批准。雍正十年四月,编撰完成日躔表、月离表。
乾隆二年四月,协办吏部尚书顾琮上奏:“世宗皇帝听从钦天监官员建议,编撰日躔、月离两套表格,用来推算日月会合、过宫运行、晦朔弦望、昼夜长短,还有星体冲犯,一共三十九页,附在《历象考成》原有表格后面。制作这套表格的是监正西洋人戴进贤;能熟练使用这套表格的,是监副西洋人徐懋德和五官正明安图。提议任命戴进贤为总裁,徐懋德、明安图为副总裁,仔细校验,补充图解说明。《历象考成》当中如果有需要调整修改的地方,也让他们仔细订正。”皇帝下旨,由顾琮专门总管这件事。五月,顾琮再次上奏:“请求任命梅瑴成为总裁,何国宗协同担任总裁。”朝廷准许。十一月,任命庄亲王允禄总理这项修书工程。
乾隆三年四月,庄亲王允禄等人上奏:“《历象考成》这本书,只有黄赤大距减去二分,其余内容还是沿用西洋人第谷的旧算法。康熙年间,西洋学者卡西尼、弗兰斯特等人,补充第谷没有阐发的理论,核心三点:第一,太阳的地半径差,旧算法定为三分,现在实测只有十秒;第二,蒙气差,旧算法认为地平线蒙气差三十四分,地平高度四十五度的时候只剩五秒;现在实测地平线蒙气差三十二分,地平四十五度的时候,蒙气差还有五十九秒;第三,日月五星运行轨道不是正圆形,而是椭圆形,长轴两端距离远,短轴两侧距离近。因为这三点,经纬度推算都会出现细微偏差。戴进贤等人了解这套学说,但是没有经过充分验证,不敢直接拿来使用。
雍正八年六月初一日食,旧法推算食分九分二十二秒,这套新法推算八分十秒,和实际观测对比,新法更加接近天象。所以上奏批准重新编撰日躔、月离新表,附在《历象考成》之后。我们奉命增补表格、图解。用新的日躔表推算,春分比旧算法晚大约十三刻,秋分比旧算法早大约九刻,冬至夏至都晚两刻左右。但是实地测量正午太阳高度,只有冬至比旧算法高出二分多,夏至、秋分只差二三十秒。因为地面做观测,推算却以地心为准;新改的地半径差、蒙气差参数和从前不一样,所以推算时刻会差好几刻,实地测量却差距不大。这套算法把天体轨道定为椭圆,虽然计算更加繁琐,但是修改旧有参数贴合天象,构思精巧。我们阐明数理,写成《日躔》九篇连同表格数据,请陛下裁定,附在《历象考成》之后,书名定为《御制历象考成后编》。前面原书已经讲明白的内容,就不再重复叙述。”这份奏疏上报,皇帝予以认可。乾隆七年,庄亲王允禄等人进呈日躔、月离、交宫一共十卷,就是雍正癸卯元法。
乾隆九年十月,钦天监监正戴进贤等人上奏:“《灵台仪象志》原本记载恒星大约七十年移动一度,到现在时间已经很久,应当重新修订。康熙十三年编撰这本书的时候,测量得到的黄赤大距,和如今实测不一样,书中所有表格,应当逐一修改订正。三垣二十八宿以及记录的各个恒星,古今记录多少数目有出入,也需要整理校订。”皇帝下令庄亲王、鄂尔泰、张照商议回奏。十一月,议定依旧由这几个人兼管。同年重新定名罗睺、计都,又把紫炁加回来,恢复四余星。
乾隆十七年,庄亲王允禄等人上奏,《灵台仪象志》记录的恒星,排序混乱,现在按次序订正,成书三十卷,赐书名《仪象考成》。当月庄亲王允禄又上奏,订正恒星经纬度表,重新调整二十八宿值日,把觜宿放在参宿前面。皇帝下令大学士会同九卿集体商议。十二月,大学士傅恒等人上奏:“请求从乾隆十九年开始,《时宪书》二十八宿值日,改为觜宿在前,参宿在后。”朝廷准许。之后钦天监又因为推算土星运行有偏差,把土星平行数值减去三十分。从乾隆之后到道光初年,推算交食的分秒,渐渐和实际天象出现偏离。
道光十八年八月,管理钦天监事务工部尚书敬徵上奏:“从道光四年我接管钦天监事务,查看观象台仪器。康熙十三年铸造仪器,测得黄赤大距二十三度三十二分。乾隆九年新造玑衡抚辰仪,实测黄赤大距二十三度二十九分。也就是说早年铸造的仪器已经和天象不匹配;距离现在又将近百年,就连玑衡抚辰仪本身,也已经出现偏差。我把玑衡抚辰仪更换轴心,其余仪器也重新调准安放。另外造一座小型象限仪,安排官学生白天观测太阳运行,夜里观测月亮、恒星。每到节气、日月交食,把实测的数据和推算结果对比,凡是两者不符的,仔细考究原因。发现是太阳纬度推算数值有偏差,实测得黄赤大距比从前略小,数值只有二十三度二十七分。通过交节时刻的早晚,可以考订出太阳运行度数有快慢不均的差别。太阳运行度数是推算历法的根本,日月五星都以它为基准。而推算太阳运行,又依据岁实、气应、两心差、本天最卑行度这些数据。拟定以道光十四年甲午作为历算的年根,依据实际观测的数据,对原有数值略微增减调整;推算出来太阳运行、交节时刻,和实际观测结果比较接近。
至于月球运行度数,以日月交食作为检验最重要的标准。近年观测过的月食,比原先推算时刻偏早的居多,偏迟的很少。所以在月球的平行、自行、交行各项数据当中酌情加以增减。按照现在拟定的平行数据,仍然沿用各类均数的旧有数值,推出道光十四年之后的三次月食。除道光十七年三月只观测到月食初亏、九月因阴天没能观测,仅实测到道光十六年九月十五的月食,和新数据推算结果相接近;但仅仅只有一次月食的记录,还不足以作为定论,仍需要随时观测检验。
恰逢本年八月十五将发生月食,臣等谨用新拟定的数据,推算出月食发生时刻、食分、方位;对比旧有推算结果,记录下提前的分秒差数,另外誊写清单进呈朝廷。到月食发生之时,臣等将逐时实地测验,再依据实际情况上奏报告。”朝廷批复:知道了。
道光二十二年六月,敬徵等人又上奏说:“每逢日月交食,用新拟定的数据推算,都和实际观测结果相接近。到本年六月初一日食,用新法推算和实际观测相比,仅仅相差数秒。由此可知这套新拟定的数据,用来推算太阳运行已经没有疑问;推算月球运行也和天象大致吻合。现在计划先测定恒星位置,来契合天体运行法度;接着考订日躔、月离,务必和实际天象相合。请求把道光十四年甲午作为历元,采用新测得的太阳运行、黄赤大距数据,修订恒星、黄赤道经纬度表;就在测算工作的同时,详细考订五星、月球运行,使恒星、五星、日月交食相关的各类书籍,能够依次编纂完成。”皇帝批准了这一请求。
同年七月,任命敬徵担任修历总裁,钦天监监正周馀庆、左监副高煜担任副总裁。
道光二十五年七月,进呈《黄道经纬度表》《赤道经纬度表》各十三卷,《月五星相距表》一卷,《天汉界度表》四卷,《经星汇考》《星首步天歌》《恒星总纪》各一卷,汇编为《仪象考成续编》。至于日月交食、五星运行度分的部分,都还缺漏,没有编纂完备。
当时冬官正司廷栋撰写《凌犯视差新法》,使用弧三角进行运算,凭借限距地高以及恒星距离黄极的度数来求解黄经高弧三角,比旧的算法更加简便快捷。乾隆朝以后,钦天监的历官当中,能够对旧历法加以增删修改的,只有司廷栋一个人。
不是专职历官却通晓历法的,继梅文鼎、薛凤祚、王锡阐之后,江永、戴震、钱大昕、李善兰尤其有名。他们阐发辨析中国、西方的历法原理,见解实际上远远超过徐光启、李之藻等人。
志二十一 时宪二·推步算术
推步新法所用到的数学模型,分为平三角形、弧三角形、椭圆形。现在摘录它的核心要义,考证算法创立的本源,验证所用数值的实际功用,汇总为十六项算法,记述在本篇之中。
平三角形
平三角形,由三条直线相交构成。线段称作边,两条边夹着的空隙称作角。有直角,相当于整圆周的四分之一,就像甲乙丙图形当中的甲角;有锐角,角度不足四分之一,就像乙角、丙角;有钝角,角度大于四分之一,就像丁戊己图形当中的戊角。
角无论度数大小,都有与之对应的八线:正弦、正矢、正割、正切;还有本角度数和九十度相减得到的余度对应的四线(余弦、余矢、余割、余切)。比如甲乙为本度,那么丙乙就是余度;乙戊是正弦,甲戊是正矢,庚丁是正割,庚甲是正切;乙己是余弦,丙己是余矢,辛丁是余割,辛丙是余切。
又如壬癸为本度,丑癸就是余度;癸辰是正弦,壬辰是正矢,癸卯是余弦,丑卯是余矢,子寅是余割,丑寅是余切。如果壬癸大于九十度,就没有正割、正切,借用癸午到子未作为正割,午未作为正切。如果正好九十度,丑壬为本度,就没有余度;丑子半径当作正弦,壬子半径当作正矢,同时没有正割、正切,也没有余弦、余矢、余割、余切。
古代规定完整圆周为三百六十度;四分之一称为一象限,等于九十度。每度分为六十分,每分六十秒,每秒六十微。圆的半径起初定为十万,后来改成一千万。把每一度、每一分对应的八线全部计算出来,列成表格。推算三角的时候,如果角度在九十度以内,需要某度对应的某一线,直接查表取用,就得到该线数值;想要知道某一线对应的角度,就查表对照。
角度超过九十度,要取用正弦、正割、正切以及四项余线时,把该角度和半周(一百八十度)相减得到余数,拿余数查表;要取用正矢,用余弦加上半径得到。已经得到某一线的数值,想求得角度,查表对照得到度数,再用半周减去这个度数,才是原角。
计算平三角形一共有五项算法:
第一项:对边求对角 把已知的一条边作为第一比率项,这条边所对角的正弦作为第二比率项,另外一条已知边作为第三比率项;用第二、第三两项相乘,除以第一比率项,求得第四比率项,就是待求未知角的正弦。
原理是把两次比例运算合并简化成一次。如图,甲乙是已知边,丁角是已知的对角,乙丁是另一条已知边,甲角是待求的未知对角。 原本分步计算:把半径作为一率,丁角正弦作为二率,乙丁作为三率,算出垂线乙丙。得到乙丙之后,再把甲乙作为一率,乙丙作为二率,半径作为三率,算出甲角正弦。 合并演算的时候,中间乙丙、半径会出现乘除互相抵消,因此可以直接简化算法,就是上面的公式。
第二项:对角求对边 把已知角的正弦作为第一比率项,该角的对边作为第二比率项,另外一个已知角的正弦作为第三比率项,算出第四比率项,就是待求未知角的对边。原理和“对边求对角”互为逆运算,反向推导就可以明白。
第三项:两边夹一角,求剩下两个未知角 把已知夹角的两条边相加作为第一比率项,两条边相减的差值作为第二比率项;把已知角和半周相减得到外角,取外角一半的正切作为第三比率项;算出第四比率项,就是半较角的正切。查表得到角度。 把这个角度加上半外角,得到对着两条已知边当中较长那条边的角;用半外角减去这个角度,得到对着较短那条边的角。
原理有两点:第一,平面三角形三个内角相加总和等于半周(一百八十度);已知其中一个角,那么剩下两个角的总和就可以确定。第二,利用相似三角形的比例关系。作图辅助推演,可以验证加减规则。
第四项:两角夹一边,求剩下的那一个角 把两个已知角相加,用半周减去二者之和,得到的余数就是第三个角。原理可以参考上一条“两边夹一角”。
第五项:三边求角 把最长的边作为底边;中等长度、短的两条边,分别算两者之和、两者之差,两数相乘,除以大边。得到的结果和大边相加再折半,叫作分底大边;拿大边减去这个结果再折半,叫作分底小边。
然后,拿中等长度的边作为一率,分底大边作为二率,半径作为三率,求得四率,就是短边所对角的余弦。或者拿短边作为一率,分底小边作为二率,半径作为三率,求得四率,就是中边所对角的余弦。
原理来自勾股平方运算,以及两个平方数相减的公式。把大底边用垂线分割为两段,利用两个直角三角形共用同一条垂线,弦长平方之差等于勾长平方之差;再利用“两数平方之差等于两数之和乘以两数之差”,推导出分割后的底边长度;之后再换算得到角度的余弦。
以上五项算法,有四种情形不用计算,有一种情形不能唯一确定解:
- 对边求对角,如果已知两条边相等,那么对应的两个角必然相等;
- 对角求对边,如果已知两个角相等,则对应的两条边必然相等;
- 两边夹一角,如果已知两条边相等,则求得两个角正好等于半外角的一半;
- 三边求角,如果两条边相等,可以直接平分底边;三边全部相等,三个角都是六十度; 以上四种都不用演算。
而“对边求对角”有一种无解定情形:已知一条边较短,对应一个锐角;另外一条已知边更长,求解它所对的角,这时无法判断这个角究竟是锐角还是钝角,这种情况不能得到唯一确定结果。其余各类边角问题,可以互相参照上面的算法求解。
弧三角形
弧三角形,由三段大圆弧相交而成;它的边长也用度数计量。九十度称作足,小于九十度叫小,大于九十度叫大。角分锐角、钝角、直角,和平三角形相同。共有七项算法:
第一项:对边求对角 把已知边的正弦作为一率,这条边对角的正弦作为二率,另一条已知边的正弦作为三率,算出四率,就是待求对角的正弦。原理是两次比例运算合并简化。作垂弧分步推导,中间数值乘除抵消之后得到简化公式。
第二项:对角求对边 把已知角的正弦作为一率,该角对边的正弦作为二率,另外一个已知角的正弦作为三率,算出四率,就是待求对边的正弦。反向推导即可明白原理。
第三项:两边夹一角(锐角或者钝角),求未知的那一条边 拿半径作为一率,已知角的余弦作为二率,任选一条已知边的正切作为三率,算出四率,得到一个正切值;查表得到对应度数。用这个度数减去另外一条已知边,得到分边。
再把刚才所得度数的余弦作为一率,第一条已知边的余弦作为二率,分边的余弦作为三率,算出四率,就是未知边的余弦。 如果原来夹角是钝角:分边数值大,则所求边长就小;分边数值小,则所求边长就大。 如果原来夹角是锐角:分边小则所求边小,分边大则所求边大。
这是把三次比例简化成两次。作图作垂弧拆分弧三角形分步演算,中间乘除项抵消,得到简化算法。倘若已知夹角恰好是直角,直接把两条已知边的余弦相乘,除以半径,就得到未知边的余弦。两条已知边都大于九十度,或者都小于九十度,则结果边短小;两条边一条大于、一条小于九十度,则结果边长大。
第四项:两角夹一边,求未知的角 采用互换边角的次形法:把角当作边,把边当作角,反过来求解;算出度数之后,再把结果转换回来;求解、转换的时候都要用半周减去所得数值。
第五项:已知两条边对应两个已知角(锐角或钝角),求剩余的边、角 以半径为一率,任选一个已知角的余弦为二率,另一个已知角的对边正切作为三率,算出四率得到正切,查表得到度数。再拿另一组已知角、已知边重复运算,得到第二个度数。
如果原来两个已知角同为锐角或者同为钝角,就把两次得到的度数相加;如果一锐一钝,就把两个度数相减;相加或相减的结果就是未知的边长。之后再使用第一条“对边求对角”算法,算出未知的角。
判断待求角是锐是钝:如果第二个已知角是钝角,对第一条已知角的那条边大于算出来的度数,则待求角为钝角;小于该度数,则为锐角。如果第二个已知角是锐角,对第一条已知角的那条边小于算出来的度数,待求角是钝角;大于算出来的度数,则是锐角。
原理在于辅助垂弧落在弧三角形内部还是外部,角区分锐角钝角,边区分大小,位置俯仰内外随之对应。两个角同为锐角,垂弧落在图形之内,底边两段度数相加;一锐一钝,垂弧落在图形外面,两段度数相减。如果其中有直角,可以直接得到边长。
第六项:三边求角 把待求角相邻两条边的正弦相乘作为一率,半径的平方作为二率;两条已知边相减得到较弧,取较弧的正矢,减去对边的正矢得到差值,作为三率;算出四率,就是待求角的正矢。原理是两次比例化简为一次,分步演算中间项抵消。
第七项:已知三个角(锐、钝),求边长 使用次形变换:把角当成边,反过来求次形的角;得到度数之后,再转换为本形的边长;求解和转换都用半周减去结果。 原理来自弧三角次形:原图形的角对应次形图形的边,次形图形的角对应原图形的边。如果三角之中有一个直角,除去直角之外,拿一个角的正弦作一率,另一个角的余弦作二率,半径作三率,算出四率,就是第二个角对应边的余弦。
以上七种算法,部分边角问题会出现锐角、钝角无法唯一判定的情形;但是历法推步实际演算当中不会遇到这类题目,就不全部罗列。七类问题没有直接求出来的边角,都可以互相参照求解。
椭圆形
椭圆形,是横向两端直径长、竖向两腰直径短的圆面;必须符合几何标准,才可以用来推算。 绘制椭圆的方法:取两个点分别作为焦点,再取第三个点作为边界;用两枚钉子钉住两个焦点,套上丝线,用笔抵紧丝线边界旋转描画,就画出椭圆。
寅丑、寅巳是大半径,寅午、寅未是小半径;寅甲是两心差,己甲是两倍两心差。椭圆上任意一点到两个焦点距离相加,总和恒定,等于长轴(丑巳)。 甲午等于大半径当作弦,两心差当作勾,小半径当作股;知道其中两项,用勾股算法就可以求出剩下一项。
求椭圆面积:以正方形率四亿作为第一比率项,圆形面积率3.14159265作为第二比率项;长短两径相乘得到长方形面积作为第三比率项,算出第四比率项,就是椭圆面积。
求中率半径:大半径、小半径二者相乘,再开平方就得到。 从一个焦点引出直线,从长轴端点向右旋转,旋转到戌点;焦点长轴端点和焦点戌点之间,既有割出来的椭圆面积,又对应一个旋转角度。角度和面积互相推算,共有四项算法:
第一项:以角求积(已知角度求对应椭圆弓形面积) 半径为一率,已知角度的正弦为二率,两倍两心差为三率,算出四率,得到倍两心差对应的垂线。 再以半径为一率,已知角度的余弦为二率,两倍两心差为三率,算出四率,得到界度积线。 用垂线数值平方作勾;界度积线加上大长径,作为股弦之和,以此算出股弦之差。 股弦之和、股弦之差相加折半得到一条弦;拿大长径减去这条弦,得到焦点到动点的距离。
再以半径为一率,已知角正弦为二率,焦点动点距离为三率,算出四率;再用小半径、大半径比例换算,得到对应正弦值;查表换算成角度。 把一百八十度全部化成秒数作一率,圆周率3.1415926作二率,刚才得到角度化成秒数作三率,算出比例弧长。 再换算得到大圆弧长;大圆弧长和大半径相乘折半,得到圆的扇形面积。 再用大、小半径比例换算,得到椭圆扇形面积。 拿椭圆扇形面积,减去“两心差乘以垂线再折半”,得到焦点、长轴端点、动点之间被割取的椭圆面积。这套算法依托平三角、弧三角,计算十分精密。
第二项:以积求角(已知椭圆面积求对应的角度) 拿大半径减去两心差,结果平方作为一率;中率半径平方作为二率;待求的椭圆面积作为三率,算出四率得到等效圆形面积。 把椭圆整体面积均分三百六十份,得到每一度对应的面积;拿等效圆形面积除以一度面积,得到近似角度。 注意这个算法是近似,当动点距离焦点很远,误差变大,这时仍要回到前面“以角求积”先求距离,再迭代修正。
第三项:借积求积 把已知椭圆面积,除以椭圆一度对应的面积,换算成“积度”。把这个积度暂且当作一个角度,代入椭圆中心做初步运算;反复用比例算出垂线、线段长度,查表得到正弦、角度。 先用这个假设角度做“以角求积”,算出对应的面积;和原始已知面积求差值,再用“以积求角”换算出差值对应的角度;两个角度相加,得到真实角度。
第四项:借角求角 把已知椭圆面积换算成积度,暂且当作椭圆中心处的角度。利用大小半径比例变换正切,查表得到辅助角度。 在椭圆的一个焦点处构建三角形,用切线分外角算法算出角度;多次叠加修正,得到焦点视角的真实角度。本算法也是近似,因为积度和真实角度存在微小偏差。
以上四项算法里面,凡是单独提到“半径”,全部指八线表里一千万这个基数。

川公网安备51132102000345号