转载链接:https://www.zhihu.com/people/shu-zhi-sheng-zhe/posts
—————————————————————————
清朝的“时宪书”
最近偶然间在网上看到了一本清朝同治二年(公元1863年,干支为癸亥)的“时宪书”的照片。
时宪书就是大清帝国的“钦天监”(国家天文台)发布的日历,每年都要出一本。里面的内容除了一些天文现象的日期时间之外,还有一些涉及风水、择吉、算命相关的内容。中国古代人认为历法属于皇权的象征之一,所以只有皇家可以公开发行日历,民间不能搞这个。
首先说,清朝那会儿格里历(阳历)没有传入中国,那个时候的中国人普遍不知道世界上还有格里历这个东西。所以“时宪书”里写的日期一律都是农历日期。格里历传入中国,得到中华民国成立以后了。
一般来说,一本时宪书最开始的内容就是“都城顺天府节气时刻”。这个表占两面,记载该年的二十四节气所在日期、时刻。二十四节气实际上指的是一年中24个具体的时间点(具体到时分秒那种),指的是太阳在黄道上运行到黄经15度及其整倍数度数的时刻。
“都城顺天府”指的就是今天的北京市,这一页上写的时刻都按照北京古观象台(位于今北京市东城区建国门附近,门票20块一张,没什么看头)的真太阳时计算。现在全中国都统一使用北京时间(UTC+8,东经120度经线平太阳时),清朝可没有全国统一的时间系统。各城市都用当地的真太阳时。真太阳时就是用日晷来看的。
每个月是一栏,栏内会写这个月的大小(农历大月30天,小月29天)、该月第一天的干支(中国古代也用干支来记录日期,60天一个轮回,现在依然可以用)、以及该月的节气交节日期、时刻。
以下图中的“正月”一栏为例具体说明:“正月小”代表该月有29天,“戊申”代表该年正月初一是戊申日(1863年2月18日)。下面的“二日己酉巳正一刻九分雨水正月中”的意思是“正月初二(己酉日,1863年2月19日)上午10:24交雨水节气”,“十七日甲子辰正三刻九分惊蛰二月节”的意思是“正月十七(甲子日,1863年3月6日)上午8:54交惊蛰节气”。
清朝人把一天划分为12个时辰(以十二地支命名),每个时辰分为初、正两部分。每一部分下面划分为四刻,分别命名为初刻、一刻、二刻、三刻。每一刻下面划为15分,这个“分”和今天的一分钟完全一样,都是一昼夜的1440分之一。日期的更迭以子正(午夜0点)为准,晚上23点到24点这一段时间属于前一天,记作“夜子初”。
最后的“凡三百五十五日”指的就是同治二年一共有355天(1863年2月18日-1864年2月7日)。
后面跟着一张“年神方位之图”,这个就跟风水、择吉之类的东西有关了,我也不懂风水。现在中国有些农村地区的中老年人仍然比较信风水、黄道吉日之类的东西。
再后边跟着一张“癸亥岁各省节气时刻”。这个记载的就是大清帝国一些主要城市(分布在汉地十八省以及东北三省,至于新疆、西藏之类的地方就没有记载了),以及三个藩属国(朝鲜、琉球、越南)的二十四节气交节时刻,均按照当地的真太阳时计算。前面说了,清朝没有全国统一的时间系统,各地都用日晷测定本地的真太阳时来使用。表中写的省名指的都是该省的省会城市。但是清朝有些省会城市和今天不一样,比如清朝的安徽省会是安庆(现在是合肥),广西省会是桂林(现在是南宁),河南省会是开封(现在是郑州)。
地名排列顺序以盛京(沈阳,清朝旧都)为首,后面按照纬度顺序从北往南排列。
本图所列地名从上至下分别相当于现在的:辽宁省沈阳市、黑龙江省依兰县、日本冲绳县那霸市、黑龙江省黑河市、吉林省吉林市、韩国首尔、吉林省松原市、浙江省杭州市、福建省福州市、江苏省南京市、安徽省安庆市、山东省济南市、俄罗斯阿穆尔州阿尔巴津诺镇、江西省南昌市
本图所列地名从上至下分别相当于现在的:河南省开封市、湖北省武汉市、广东省广州市、湖南省长沙市、广西壮族自治区桂林市、贵州省贵阳市、越南河内、四川省成都市、云南省昆明市
这个各地节气时刻表后面写的是“国家忌辰”,就是自努尔哈赤以来,清朝历代皇帝、皇后的逝世纪念日。大清帝国皇室规定,在这些日子,全中国的老百姓不能从事婚礼、宴请等喜庆的活动。
有些其他年份的时宪书上还会记载当年一些日期的各省会城市日出日落时刻、昼夜长短(也都是以当地真太阳时计算)。比如道光二十四年(1844)时宪书中记载的“各省太阳出入昼夜时刻”,地名排列仍然是以沈阳为首,其他的地名按从北往南的顺序排列。有时候同一列上下会记录两个日期,这两个日期关于冬至、夏至对称分布。比如“正月初二”(1844年2月19日)和“九月十二”(1844年10月23日)在同一列,这两天一个是雨水节气,一个是霜降节气,正好关于冬至、夏至对称。
再往后就是每个月的月历了。一个月的月历内容是两面。
以下图为例:大字的“六月小 建己未”就是“农历同治二年六月有29天,干支为己未”。干支也可以用来记录农历月份。这六个大字下面有四列,前两列写的是节气时刻以及风水、择吉相关内容。第三列“是月也,温风至,蟋蟀居壁……”指的是七十二候中属于当月的六个物候。中国古代在二十四节气的基础上,把每个节气中间的十五天细分为三个物候,每个物候是五天,形成一年七十二候。七十二候平摊到一年十二个月,每个月有六个物候。
第四列的“八日癸未酉正一刻后日躔鹑火之次”的意思是“六月初八(1863年7月23日)下午18:15(即大暑节气)以后,太阳进入鹑火这一星次”。“鹑火”属于中国古代划分的十二星次之一,把黄道平均分成12份,每一份30度是一个星次。十二星次大体上可以和西方人讲的“十二星座”相对应,“鹑火”大致等于狮子座。
后面就是每一天的内容了,一天的内容是一列,每一列包括当日的日序数、所属五行、当天值日的星宿(中国古代认为每天都有二十八星宿中的一个来值日,28天一个循环)、以及宜干什么,忌干什么之类的内容。
十二个月的月历之后还有一张“纪年表”,记载的就是从当年开始往前推很多年的皇帝年号、干支、以及某年闰几月。中国引入公元纪年也是中华民国成立以后,随着格里历一起引入的。
至于“男x宫,女x宫”这些东西就是中国古人拿来算婚姻相配程度的,具体的我也不太懂。
时宪书的最后一页,就是钦天监的主要官员名单了。
到此,一本时宪书的内容完结。
1912年中华民国成立以后,中华民国政府也发行过时宪书,一直发行到1949年。1949年以后,大陆这块肯定不会再发行时宪书了(里面有太多在现在看来属于封建迷信的内容),国民党政府在台湾应该也没有再发行过。
——————————勘误——————————
上文最后一段内容有误,中华民国时代的确也有官方的历书发行,但是不叫《时宪书》了。北洋政府时代发行的叫《中华民国历书》,国民政府时代发行的叫《国民历》。国民政府迁到台湾以后,《国民历》好像一直发行到蒋经国的时期才停止。
—————————————————————————
清朝人如何计算太阳位置?
最近在看一套清朝的天文算法书,叫《历象考成》。这是清朝康熙时代的钦天监官员编写的,里面介绍了关于七政(太阳、月亮、金木水火土五大行星)运动、以及日月食的规律,以及一些天文计算的方法。有一段时间,钦天监的官员们编制《时宪书》(官方日历)的时候,就参考这套书中的天文计算方法计算日历中的各项内容。
整套书分为上编16卷,下编10卷,以及15卷附表。上编的16卷主要介绍球面三角学计算、七政运动模型、日月食、恒星运动相关理论。《历象考成》中使用的七政运动模型来源于第谷构建的天体运动模型体系。下编的10卷主要讲解计算七政运动、日月食、恒星运动的方法。后边的15卷附表,就是和七政运动、日月食、黄赤坐标转换等相关的数据表。进行天文计算的时候,部分步骤可以直接引用表中推算好的数据,以节省时间。
本篇用来复现《历象考成》下编的第一卷《日躔历法》,即计算某给定时刻的太阳黄道坐标。
日躔计算是一切天文计算的基础。后面计算月亮、五大行星的坐标的时候,也要参考太阳的坐标。
一、《历象考成》中构建的太阳运动模型
康熙时代,全球各国的人们普遍都认同地心说(日心说被广泛承认要到1800年以后了),即认为地球是宇宙中心,太阳绕地球运动。
(1)太阳运动轨道系统
《历象考成》中把太阳运动模型概括为三个圆轨道,即本天(黄道)、本轮、均轮。
1、本天:以地球为圆心,一千万为半径的圆轨道,也就是所谓的“黄道”了。
2、本轮:半径为268812,圆心在本天上逆时针匀速运动的轨道。本轮圆心的角速度约为每天59′8.33″,在一个回归年(365.2421875天)内正好沿着黄道运行满一周。
3、均轮:半径为89604(正好是本轮半径的1/3,这个数字很重要),圆心在本轮上顺时针匀速运动的轨道。均轮圆心的角速度比本轮略慢,约为每天59′8.16″。
也就是说,本轮圆心在黄道上运行满一周了,均轮圆心在本轮上运行还不满一周。均轮圆心运行满一周的时间,就是一个近点年(365.2596359天,即地球连续两次运行到近日点的时间间隔,比回归年略长)。
太阳则在均轮上逆时针运动,其角速度是均轮圆心角速度的2倍,即每天1°58′16.2″左右。
(2)太阳的平行、实行、引数、均数
研究太阳运动的基准状态,就是太阳距离地球最近的时刻,如下图所示。
上图中,地球位于E点,圆E为黄道。本轮圆心位于A点,均轮圆心位于EA与圆A的交点B,太阳位于AB与圆B的交点S。其中,AS=2BS。此时,太阳距离地球最近,本轮圆心所在的A点就称为“最卑”。由于本轮、均轮圆心角速度的微小差别,所以“最卑”在黄道上的度数也会缓慢变化,约为每个回归年增大1′1.16666″。
到了某时刻T,本轮的圆心在黄道上从A点逆时针运行到了A'点,如下图所示。∠AEA'就是本轮圆心离开A点的角度,《历象考成》中把这个角度称为“引数”,本文中将其记作α。
则:均轮圆心也在本轮上从B点沿顺时针方向运动到B',∠BA'B'也是α。
太阳则在均轮上从S点沿逆时针方向运动到S'点,其中∠SB'S'=2∠BA'B'=2α。
某个时刻,太阳在黄道上的位置有两种,一个叫“平行”,一个叫“实行”。以上图为例,在T时刻,太阳的“平行”就是A',“实行”则是太阳实际位置S'在黄道上的投影,也就是射线ES'和黄道的交点C。
可以看出,A'和C不在一个位置。《历象考成》中就把太阳的平行、实行之差,即∠A'EC称为“均数”。即:太阳平行+均数=太阳实行。
本文中把“均数”记作β。β是个以α为自变量的函数,其表达式为:
“引数”和“均数”这两个概念对于计算太阳运动非常重要。
关于α和β有如下规律:α∈(0,π)时,β>0。α∈(π,2π)时,β<0。α=0或π时,β=0。
二、推日躔用数
《历象考成》中计算太阳运动的基本常数如下【如无特殊说明,下文中使用的时间系统一律是北京古观象台(东经116°26′)的地方平太阳时】:
1、历元:康熙二十三年(甲子年)天正冬至,即公元1683年12月21日。
“历元”就是进行天文计算的基准点。一年的“天正冬至”指的是本年农历正月初一之前的那个冬至,其实也是公历元旦之前的那个冬至。该“天正冬至”指的是太阳平行运行到黄经270°位置的时候,而不是太阳实际运行到黄经270°位置的时刻。
“天正冬至”的“正”字在普通话中念第一声,音同“蒸”。因为这个“正”和“正月”的“正”是一个意思,表示“更迭”、“新的开始”。中国古人把冬至当做回归年的更迭点,因为这一天在北半球白昼最短,黑夜最长。此后,白昼一天天加长,一直加到夏至,往后继续一天天缩短。所以冬至叫“天正”。农历的正月,则在立春前后,叫做“人正”。
2、回归年长度:365.2421875天。
3、太阳运行平均角速度:每天3548.3305169″,即360°÷365.2421875的结果。
4、“最卑”运行平均角速度:每年运行1′1.16666″,即一天运行0.167469″。
5、气应:7.656374926天。“气应”指的就是1683年冬至交节时刻之前的最后一个甲子日半夜0点开始,到冬至的天数。
1683年12月21日的平冬至交节时刻为“申初三刻”,即下午15:45:16。在此之前的最后一个甲子日,是1683年12月14日。从该日半夜0点起算,到平冬至时刻,就是7.656374926天。中国古人也用天干地支记录日期,60天循环一轮。
6、宿应:5.656374926天。“宿应”和“气应”性质差不多,只不过起算点是历元之前最后一个角宿当值的日期。角宿是二十八星宿之首,中国古人认为每一天都有二十八星宿中的一个来值日,28天一循环。
7、最卑应:7°10′11.16666″。即:1683年12月22日半夜0点时,“最卑”点的平黄经为277°10′11.16666″。
三、推日躔法
“推日躔”的意思是计算某天半夜0点的太阳黄经度数。《历象考成》中把“推日躔法”分为13步。
下文中,以1921年7月23日为例,来一步步讲解“推日躔法”,算出该日半夜0点的太阳黄经度数。
第一步:求积年
自历元康熙二十三年甲子,距所求之年,共若干年。减一年,得积年。
积年者,乃所求本年天正冬至,距历元甲子年天正冬至(1683年12月21日)之年数。
因本年初交天正冬至尚在岁前,故减一年。如甲子至癸亥,计六十年。而癸亥初交天正冬至,止五十九年也。
下推将来,则顺推。上考往古,则逆溯。其法皆同。
这一步求的,就是求测日期之前的最后一个平冬至距离历元的年数。
本例的求测日期是1921年7月23日,其之前的最后一个平冬至应在1920年年末。
故积年为1920 -1683=237。
第二步:求中积分
以积年与周岁三百六十五日二四二一八七五相乘,得中积分。
中积分者,乃所求本年天正冬至,距历元甲子年天正冬至之日分。
故以积年与周岁日分相乘,即得也。
本例中的“中积分”为237 ×365.2421875 =86562.3984375。
即:1683年平冬至和1920年平冬至之间,相隔86562.3984375天。
第三步:求通积分
置中积分加气应七日六五六三七四九二六,得通积分。上考往古,则置中积分减气应,得通积分。
通积分者,乃所求本年天正冬至,距历元甲子年天正冬至前甲子日子正初刻之日分。
故下推将来,则置中积分加气应。上考往古,则置中积分减气应也。
本例中的“通积分”为:86562.3984375 +7.656374926 =86570.054812426天。
即:1683年12月14日(甲子日)半夜0点到1920年平冬至之间,相隔86570.054812426天。
第四步:求天正冬至
置通积分,其日满纪法六十,去之,馀为天正冬至日分。
上考往古,则以所馀转与纪法六十相减,馀为天正冬至日分。
自初日甲子起算,得天正冬至干支。以一千四百四十分通其小馀,得天正冬至时分秒。
天正冬至者,乃所求本年天正冬至,距冬至前甲子日子正初刻之日分。
故置通积分,满纪法去之,馀为天正冬至日分。
若上考往古,则其所馀为距冬至后甲子日子正初刻之日分。故转与纪法六十相减,方为天正冬至日分也。
把上一步中求出的“通积分”,即86570.054812426尽可能多地减去60的整倍数,剩下50.054812426。
从而得出:1920年平冬至日的干支为“甲寅”,即1920年12月22日。
第五步:求年根
以周日一万分为一率,太阳每日平行三千五百四十八秒三三○五一六九为二率,以天正冬至分(不用日)与周日一万分相减馀为三率,求得四率,为秒。以分收之,得年根。
年根者,乃所求本年天正冬至次日子正初刻,太阳距冬至之平行经度也。
天正冬至分,乃冬至距本日子正初刻后之分数。与周日一万分相减,馀为冬至距次日子正初刻前之分数。
故与每日之平行为比例,得次日子正初刻太阳距冬至之平行经度也。
本例中的“年根”为270° +3548.3305169″ ×(1-0.054812426) =270°55′55.84″。
即:1920年平冬至次日(即1920年12月23日)半夜0点,太阳平黄经度数为270°55′55.84″。
第六步:求纪日
以天正冬至干支加一日,得纪日。
纪日者,乃所求本年天正冬至次日之干支也。
既有天正冬至干支,可以不用纪日。
因用表推算,起于年根,而不用天正冬至。
若无纪日,则无以定干支,且日数自纪日干支起初日,故并用之。
本例中的“纪日”为“甲寅”的下一个,也就是“乙卯”。
即:1920年12月23日为乙卯日。
第七步:求值宿
置中积分,加宿应五日六五六三七四九二六,为通积宿。
其日满宿法二十八,去之。外加一日,为值宿日分。
上考往古,则置中积分减宿应,为通积宿。其日满宿法二十八,去之,馀数转与宿法二十八相减。外加一日,为值宿。日分自初日角宿起算,得值宿。
求值宿与求天正冬至之理同,但天正冬至乃冬至本日之干支,而值宿乃冬至次日之宿,故外加一日。
把86562.3984375 +5.656374926 =86568.054812426这个数字,尽可能多地减去28的倍数,剩下20.054812426。
从而得知:1920年12月22日当值的星宿是参宿,1920年12月23日当值的星宿是井宿。
第八步:求日数
自天正冬至次日,距所求本日,共若干日。
与太阳每日平行三千五百四十八秒三三○五一六九相乘,得数为秒,以宫、度、分收之,得日数。
日数者,乃所求本日子正初刻,距天正冬至次日子正初刻之平行经度也。
年根从天正冬至次日子正初刻起算,故从天正冬至次日起初日至所求本日,得若干日。
与每日太阳平行相乘,若干日之平行经度也。
以1920年12月23日为第0天,1921年7月23日就是第212天。
故本例中的“日数”为212 ×3548.3305169″ =208°57′26.07″。
即:从1920年12月23日半夜0点,到1921年7月23日半夜0点,太阳的平黄经变化了208°57′26.07″。
第九步:求平行
以年根与日数相加,得平行。
平行者,乃所求本日子正初刻,太阳距冬至之平行经度也。
年根为天正冬至次日子正初刻距冬至之行度,日数为本日子正初刻距冬至次日子正初刻之行度,故相加,得本日子正初刻距冬至之行度也。
本例中的“平行”为:208°57′26.07″ +270°55′55.84″ =119°53′21.91″。
即:1921年7月23日半夜0点时,太阳的平黄经为119°53′21.91″。
第十步:求最卑平行
以积年与最卑每岁平行六十一秒一六六六六相乘。得积年之行。
又以日数与最卑每日平行十分秒之一又六七四六六相乘,得日数之行。
两数相并,与最卑应七度一十分一十一秒一十微相加,得最卑平行。
上考往古,则置最卑应减积年之行,加日数之行,得最卑平行。
最卑平行者,乃所求本日子正初刻最卑距冬至之行度也。下推将来,置最卑应加积年之行。上考往古,置最卑应减积年之行,则得本年天正冬至次日子正初刻最卑距冬至之行度。
而所求本日又距天正冬至后若干日,故下推将来、上考往古,皆加日数之行,得本日子正初刻最卑距冬至之行度也。
本例中的“最卑平行”为:277°10′11.17″ +237 ×61.16666″ +220×0.167469″ =281°12′24.51″。
即:1921年7月23日半夜0点时,太阳近地点的黄经为281°12′24.51″。
第十一步:求引数
置平行减最卑平行,得引数。
引数者,乃所求本日子正初刻,均轮心过本轮最卑之行度也。
平行乃本轮心之行度,自冬至起初宫。引数乃均轮心之行度,自最卑起初宫。
故置本日平行减本日最卑平行,得引数也。
本例中的“引数”为:119°53′21.91″ -281°12′24.51″=198°40′57.4″。
即:1921年7月23日半夜0点,太阳平黄经离开其近地点的角距离为198°40′57.4″。
第十二步:求均数
均轮心自本轮最卑左旋,自东而西,行引数度。太阳自均轮最近点右旋,自西而东,行倍引数度。
用两三角形法,求得地心之角,为均数。
引数初宫至五宫为加,六宫至十一宫为减。
均数者,平行与实行之差卑也。
引数初宫至五宫在最卑后,实行过于平行,故加。
六宫至十一宫在最高后,实行不及平行,故减。
运用第一部分中给出的计算公式,把α=198°40′57.4″代入公式
即:1921年7月23日半夜0点时,太阳的真、平两个黄经差值为-0°38′48.49″。
第十三步:求实行
置平行,加减均数,得实行。
实行者,乃所求本日子正初刻,太阳实在之行度也。
平行乃本轮心之行度,而太阳实在均轮之周,其加减差,即均数。
故以均数加减平行,得实行也。
本例中的“实行”为:119°53′21.91″ -0°38′48.49″ =119°14′33.42″。
即:1921年7月23日半夜0点时,太阳的真黄经度数为119°14′33.42″。
到此,一个太阳黄经度数计算完成。
运用现代高精度天文算法回推,1921年7月23日半夜0点(北京古观象台平太阳时)的太阳黄经度数为119°16'24.77″,只差了不到2′,可见精度还是可以的。
四、推节气时刻法
以子正日躔未交节气宫、度者为交节气本日,已过节气宫、度者为交节气次日。本日子正未交,次日子正已过,则交节气必在本日子正后,次日子正前。故未交为本日,已过为次日。
推时刻之法,以本日实行与次日实行相减为一率,一千四百四十分为二率,本日实行与节气宫、度相减,馀为三率。如推立春,则以本日实行与一宫一十五度相减,馀仿此。求得四率,为距子正后之分数。盖以一日之行度与一日之分数为比,同于距节气之度与距子正之分数为比也。乃以六十分收为一小时,十五分收为一刻,得节气时刻。
如本日实行适当节气宫、度,而无馀分,则交节气即为本日子正初刻。
本段所讲的“节气时刻”也是平太阳时。
运用第三部分讲的“推日躔法”,计算出1921年7月23日半夜0点的太阳真黄经度数为119°14′33.42″,1921年7月24日半夜0时的太阳真黄经为120°11′43.41″。
所以,1921年7月23日这一天,太阳经过了黄经120°位置,也就是交大暑节气。故1921年7月23日交大暑节气。
在1921年7月23日这一天内,太阳真黄经变化了120°11′43.41″ -119°14′33.42″ =0°57′9.99″。
从1921年7月23日半夜0点起,太阳还要运行120° -119°14′33.42″ =0°45′26.58″才能交大暑节气,故这一天交大暑节气的平太阳时是
五、推节气用时法
以交节气本日均数变时,一度变为四分,十五分变为一分,十五秒变为一秒,得均数时差。
均数为减者,则时差为加。均数为加者,则时差为减。天左旋,日右旋,故加减相反。
又以半径一千万为一率,黄赤大距二十三度二十九分三十秒之馀弦为二率,本节气黄道度之正切线为三率,求得四率,为赤道之正切线。检表,得赤道度。与黄道度相减,馀数变时,得升度时差。二分后为加,二至后为减。二分后,黄道度多,赤道度少,故加。二至后,黄道度少,赤道度多,故减。
乃以两时差加减节气时刻,得节气用时。
“用时”指的就是真太阳时,也就是用日晷测量出来的时间了。
《历象考成》中认为,真、平太阳时时差来源有两个,一个是“均数”,一个是“升度”。“升度”指的就是某时刻太阳黄经度数和赤经度数的差。
第三部分中已经求出1921年7月23日的“均数”为-0°38′48.49″。将其转化为时间(360°=24h,正负号相反),就是+2m35s。
用球面坐标转换公式可以把黄道坐标为赤道坐标。当太阳运行到黄经λ的时候,其赤经φ满足:
其中,ε为黄赤交角。《历象考成》中取ε=23°29′30″。现在的黄赤交角,一般取23°26′15″左右。
本例中,取λ=120°,ε=23°29′30″,求得φ=122°11′29.43″。
故:1921年7月23日这一天的“升度”为120°-122°11′29.43″=-2°11′29.43″。将其转换为时间(360°=24h),就是-8m46s。
把两个时差加起来,就是2m35s -8m46s =-6m11s。
在第四部分中求出的平太阳时19h4m41s的基础上,加上时差-6m11s,得出18h58m30s,就是1921年大暑节气的真太阳时。转换为清朝的计时法,就是“酉正三刻十三分三十秒”。
运用现代高精度天文算法回推,1921年大暑交节时刻(转换为北京古观象台真太阳时)是18:09:32,误差已经快一个小时了。
六、推各省节气时刻法
各省节气时刻,皆以京师为主,视各省东西之偏度加减之(详《日躔历理·节气时刻》篇)。
盛京偏东七度一十五分,则加二十九分,每一度当四分。浙江偏东三度四十一分二十四秒,则加一十四分四十六秒。福建偏东二度五十九分,则加一十一分五十六秒。江南偏东二度一十八分,则加九分一十二秒。山东偏东二度一十五分,则加九分。江西偏西三十七分,则减二分二十八秒。河南偏西一度五十六分,则减七分四十四秒。湖广偏西二度一十七分,则减九分零八秒。广东偏西三度三十三分一十五秒,则减一十四分一十三秒。山西偏西三度五十七分四十二秒,则减一十五分五十一秒。广西偏西六度一十四分四十秒,则减二十四分五十九秒。陕西偏西七度三十三分四十秒,则减三十分一十五秒。贵州偏西九度五十二分四十秒,则减三十九分三十一秒。四川偏西一十二度一十六分,则减四十九分零四秒。云南偏西一十三度三十七分,则减五十四分二十八秒。朝鲜偏东一十度三十分,则加四十二分。各省偏度,俱依地图经度所定。
今测日影,以求其节气时刻,及月食早晚。验之,皆与地图合。
其实就是高中地理课里面教的“求地方时”算法。
举例:已知北京古观象台(东经116°26′)在当地真太阳时1921年7月23日18:58:30交大暑节气。则:江苏省南京市(东经118°44′)在真太阳时何时交大暑节气?
可知:南京的经度在北京东边2°18′,则南京的地方真太阳时是北京往后加2°18′ ×4m/° =9m12s,即18:58:30 +0:09:12 =19:07:42。
七、推日出、入、昼夜时刻法
推日出、入、昼夜时刻法,以半径一千万为一率,北极高度之正切线为二率,本日距纬度之正切线为三率,求得四率,为卯酉前后赤道度之正弦。检表,得日出入在卯酉前后赤道度。乃以一度变为四分,十五分变为一分。春分前、秋分后,为卯后酉前分,以加卯正,为日出时刻;以减酉正,为日入时刻。春分后、秋分前,为卯前酉后分。以减卯正,为日出时刻。以加酉正,为日入时刻。
自日出至日入为昼刻,与九十六刻相减,馀为夜刻。
这个算法求的是:已知某日太阳直射地球地点的纬度为δ,某地点纬度φ,求该日该地白昼时长T。δ、φ均以北纬为正数,南纬为负数。
把上述文字翻译成现代数学语言,就是:
举例:求1921年7月23日(δ=20°12′42″),上海(φ=31°13′30″)的白昼时长。
代入公式,得:T=13h43m10s,即:昼刻五十四刻十三分十秒,夜刻四十一刻一分五十秒。
按照真太阳时计算当地当日的日出日落时间,则:日出时间为早上5:07:25(卯初初刻七分二十五秒),日落时间为晚上18:52:35(酉正三刻七分三十五秒)。
八、推黄道宿度法
以积年与岁差五十一秒相乘,得数与历元甲子年黄道宿钤相加,得所求本年黄道宿钤。察实行,足减本年黄道宿钤内某宿度、分,则减之,馀为某宿度、分。
宿度者,乃所求本日子正初刻,太阳所躔之黄道宿度也。实行自冬至起算,宿度自各宿初度起算,故于实行内减本年黄道宿钤某宿度,馀为太阳躔某宿之度也。
清朝的历书中,描述天体在天球上的经度坐标,有两种方式。一种是“x宫x度x分x秒”,一种是“x宿x度x分x秒”。
前一种方法实际上和今天用的“黄经”描述法实际上差不多。这个“宫”指的是一个圆周的1/12,即30°。每个宫都有名字,而且这个名字也有两套:一套是十二星次命名,一套是十二地支命名。
每一个“宫”指的都是黄道上某个30°的经度区间,而且可以和西方的“黄道十二星座”对应。具体如下表:
十二星次 | 地支 | 黄经度数 | 等价的西方星座 |
---|---|---|---|
星纪 | 丑 | 270°~300° | 摩羯座 |
元枵 | 子 | 300°~330° | 水瓶座 |
娵訾 | 亥 | 330°~360°(0°) | 双鱼座 |
降娄 | 戌 | 0°~30° | 白羊座 |
大梁 | 酉 | 30°~60° | 金牛座 |
实沈 | 申 | 60°~90° | 双子座 |
鹑首 | 未 | 90°~120° | 巨蟹座 |
鹑火 | 午 | 120°~150° | 狮子座 |
鹑尾 | 巳 | 150°~180° | 处女座 |
寿星 | 辰 | 180°~210° | 天秤座 |
大火 | 卯 | 210°~240° | 天蝎座 |
析木 | 寅 | 240°~270° | 射手座 |
比如说,上文中求出1921年7月23日半夜0点的太阳黄经为119°14′33.42″,就是“鹑首宫二十九度十四分三十三秒小余四二”,或者“未宫二十九度十四分三十三秒小余四二”
再比如说,黄经164°7′34″,等于“鹑尾宫十四度七分三十四秒”,或者“巳宫十四度七分三十四秒”。
至于第二种“x宿x度x分x秒”,指的就是把黄道分成28段,每一段等于二十八星宿中的一个。天体在哪一段里面,就是在哪个“星宿”里面。
每一个“星宿”的分界点就是每个星宿的第一星。中国古代给恒星命名,多用“x宿一/二/三”之类的方式。所以二十八个“x宿一”的黄经就是黄道上划分星宿的28个节点,也就是“宿钤”了。
由于岁差的关系,每颗恒星的黄道经度都会缓慢变化。大体的规律是,每个回归年过后,恒星的黄经会增大51个角秒。
《历象考成》中给出了1683年12月22日半夜0点时,测定的二十八星宿宿钤:
恒星(中国星名) | 恒星(西方星名) | 宿钤(传统表示法) | 黄经度数(现代表示法) |
---|---|---|---|
角宿一 | 处女座α | 寿星宫十九度二十六分 | 199°26′ |
亢宿一 | 处女座κ | 大火宫初度〇三分 | 210°3′ |
氐宿一 | 天秤座α | 大火宫十度四十一分 | 220°41′ |
房宿一 | 天蝎座π | 大火宫二十八度二十一分 | 238°21′ |
心宿一 | 天蝎座σ | 析木宫三度二十一分 | 243°21′ |
尾宿一 | 天蝎座μ¹ | 析木宫十度五十四分 | 250°54′ |
箕宿一 | 射手座γ | 析木宫二十六度五十分 | 266°50′ |
斗宿一 | 射手座φ | 星纪宫五度五十分 | 275°50′ |
牛宿一 | 摩羯座β | 星纪宫二十九度三十七分 | 299°37′ |
女宿一 | 水瓶座ε | 元枵宫七度二十三分 | 307°23′ |
虚宿一 | 水瓶座β | 元枵宫十九度〇一分 | 319°1′ |
危宿一 | 水瓶座α | 元枵宫二十九度 | 329°0′ |
室宿一 | 飞马座α | 娵訾宫十九度〇三分 | 349°3′ |
壁宿一 | 飞马座γ | 降娄宫四度四十八分 | 4°48′ |
奎宿一 | 仙女座η | 降娄宫十七度五十四分 | 17°54′ |
娄宿一 | 白羊座β | 降娄宫二十九度三十三分 | 29°33′ |
胃宿一 | 白羊座35 | 大梁宫十二度三十三分 | 42°33′ |
昴宿一 | 金牛座17 | 大梁宫二十四度四十八分 | 54°48′ |
毕宿一 | 金牛座ε | 实沈宫四度〇三分 | 64°3′ |
参宿一 | 猎户座ζ | 实沈宫十八度〇一分 | 78°1′ |
觜宿一 | 猎户座λ | 实沈宫十九度二十二分 | 79°22′ |
井宿一 | 双子座μ | 鹑首宫初度五十五分 | 90°55′ |
鬼宿一 | 巨蟹座θ | 鹑火宫一度二十分 | 121°20′ |
柳宿一 | 长蛇座δ | 鹑火宫五度五十六分 | 125°56′ |
星宿一 | 长蛇座α | 鹑火宫二十二度五十六分 | 142°56′ |
张宿一 | 长蛇座υ1 | 鹑尾宫一度十九分 | 151°19′ |
翼宿一 | 巨爵座α | 鹑尾宫十九度二十三分 | 169°23′ |
轸宿一 | 乌鸦座γ | 寿星宫六度二十三分 | 186°23′ |
所以,到1920年冬至的时候,井宿的“宿钤”就变成了90°55′ +51″ ×237 =94°16′27″。
1921年7月23日半夜0点,太阳黄经为119°14′33.42″,和94°16′27″相差24°58′6.42″。
于是:这一天的太阳黄道宿度为“井宿二十四度五十八分六秒小余四二”。
—————————————————————-
清朝人如何计算月亮位置?
本篇用来复现《历象考成》下编的第二卷《月离历法》,即计算某给定时刻的月球黄道坐标。
一、《历象考成》中构建的月球运动模型
《历象考成》中构建的月球运动模型,要比太阳运动模型复杂得多。
月球运动模型可以分为五个圆轨道,即本天、本轮、均轮、次轮、次均轮。比太阳运动模型多了两条轨道。
(1)月球轨道系统
1、本天:以地球为中心,半径为一千万。如同太阳本天叫“黄道”,月球的本天就是“白道”。
白道和黄道有5°左右的夹角,且半个朔望月内变化一轮。在新月和满月的时候,黄白交角为4°58′30″。在上弦月和下弦月的时候,黄白交角为5°17′30″。
2、本轮:半径为797000,圆心在白道上逆时针匀速运动,角速度为每天13°10′35.02″。本轮在白道上运行一整圈的时间是一个恒星月(27.32158天左右)。
3、均轮:半径为290000,圆心在本轮上顺时针匀速运动,角速度为每天13°3′5.397″。均轮运行一整圈的时间是一个近点月(27.55455天左右)。
4、次轮:半径为217000,圆心在均轮上逆时针匀速运动,角速度为每天26°6′10.794″,即本轮圆心角速度的2倍。
5、次均轮:半径为117500,圆心在次轮上逆时针匀速运动,角速度为每天24°22′53″。次均轮在次轮上运行两圈的时间是一个朔望月(29.53059天左右)。
月球则在次均轮上顺时针匀速运动,角速度和次均轮圆心相同。
(2)月球的平行、实行、初均数、二均数、三均数
如下图所示,下图描绘了时刻T,月球各个轨道之间的位置关系。为了让读者看清楚一些,比例就比较夸张了。
E点为地球,B点为本轮圆心,EB延长线交圆B(本轮)于G。称B点的位置为时刻T的“太阴平行”。
在月球运行到距离地球最远的时候,均轮的圆心位于G点。在均轮圆心在G点的时候,本轮圆心所在的位置就叫“月孛”。
在时刻T,均轮圆心从G沿着顺时针方向运行到J点,则称∠GBJ为时刻T的“太阴引数”。下文中把“太阴引数”记作α。
次轮圆心从BJ和圆J(均轮)的交点D开始逆时针运行2α,到达点C。过C作CX∥BJ,则∠BEX称为“初均数”,记作c1。c1的计算公式为:
……………………………………公式(1)
次均轮圆心从X点开始,逆时针运行到J'点,∠XCJ'为时刻T的“月距日”(月亮白经度数-太阳黄经度数)的2倍。下文中把“月距日”记作β,即∠XCJ'=2β。
本文中用“白经”度量月球在白道上的位置。定义白经270°=黄经270°,白经度量的方向和黄经、赤经均相同。
将∠XEJ'称为“二均数”,记作c2。关于c1和c2,有如下公式:
月球从EJ'和圆J'(次均轮)的交点Z开始,顺时针运行2β,到M位。则:M位是时刻T的月球实际位置,称为“太阴实行”。∠J'EM称为“三均数”,记作c3,其计算公式为:
计算出时刻T的月球平行以及c1,c2,c3之后,就可以求出该时刻月球在白道上的实际位置。
即:平行+c1+c2+c3=实行。
二、推月离用数
1、历元:康熙二十三年(甲子年)天正冬至,即公元1683年12月21日。
2、月球本轮圆心运行平均速度:每天13°10′35.021177″,即每小时0°32′56.4592157″。
3、月球远地点(月孛)运行平均速度:每天6′41.077477″。
4、月球升交点(正交,即月球从黄道南面穿过黄道,运行到黄道北面的地方)运行平均速度:每天3′10.64″,且方向和其他点相反。
5、黄白大距(黄道和白道平面的夹角,经常会变)范围:4°58′30″~5°17′30″,平均值5°8′。
6、气应:7.656374926天。
7、太阴平行应:308°40′57.267″。即1683年12月22日半夜0点时,月球本轮圆心(太阴平行)的白经。
8、月孛应:4°49′54.15″。即1683年12月22日半夜0点时,月球远地点的白经。
9、正交应:117°13′37.8″。即1683年12月22日半夜0点时,月球升交点的白经。
三、推月离法
“推月离”指的是推算某天半夜0点(北京古观象台真太阳时)的月球黄道坐标值。如无特殊说明,除第1~14步以外,本文中讲的时间系统一律是北京古观象台的地方真太阳时。
和上一篇一样,本文仍旧以1921年7月23日半夜0点为例,一步步讲解“推月离法”,求出这个时刻的月球黄经度数。这个步骤就多了,有34步。
第一步:求积年
自历元康熙二十三年甲子,距所求之年,共若干年,减一年,得积年。
本例中的“积年”为1920-1683=237。
第二步:求中积分
以积年与周岁三百六十五日二四二一八七五相乘,得中积分。
本例中的“中积分”为237 ×365.2421875=86562.3984375。
第三步:求通积分
置中积分,加气应七日六五六三七四九二六,得通积分。上考往古,则置中积分减气应,得通积分。
本例中的“通积分”为86562.3984375 +7.656374926 =86570.054812426。
第四步:求天正冬至
置通积分,其日满纪法六十去之,馀为天正冬至日、分。上考往古,则以所馀转与纪法六十相减,馀为天正冬至日、分。
本例中的“天正冬至”为1920年12月22日(甲寅日)凌晨1h18m56s。即1920年,太阳运行到平黄经270°的时候。
以上四步和《推日躔法》的前四步都相同,以下就不一样了。
第五步:求积日
置中积分,加气应分六五六三七四九二六(不用日),减本年天正冬至分(亦不用日)得积日。
上考往古,则置中积分,减气应分,加本年天正冬至分,得积日。
积日者,历元甲子年天正冬至距所求本年天正冬至之日数也。
中积分加气应分,则得历元甲子年天正冬至子正初刻至本年天正冬至之日分,故减本年天正冬至分,即得历元甲子年天正冬至子正初刻至本年天正冬至子正初刻之日数也。上考往古,反是。
日躔自天正冬至起算,故止用天正冬至,不用积日。月离自天正冬至次日子正初刻起算,故必兼用积日。其馀皆与日躔同。
本例中的“积日”为86563天(实际上就是“中积分”整数部分加一),即1683年12月21日半夜0点到1920年12月22日0点之间的间隔天数,也是1683年12月22日半夜0点到1920年12月23日半夜0点之间的间隔天数。
第六步:求太阴年根
以积日与太阴每日平行四万七千四百三十五秒○二一一七七相乘,满周天一百二十九万六千秒去之,馀为积日太阴平行。加太阴平行应一宫零八度四十分五十七秒一十五微,得太阴年根。上考往古,则置太阴平行应,减积日太阴平行,得太阴年根。
太阴年根者,乃所求本年天正冬至次日子正初刻太阴距冬至之平行经度也。
以积日与太阴每日平行相乘,则得历元甲子年天正冬至距本年天正冬至之太阴平行。故上考往古,则减;下推将来,则加,即得本年天正冬至次日子正初刻,太阴过冬至之平行经度也。下仿此。
本步求的是1920年12月23日半夜0点的月球平行白经。
即:86563 ×13°10′35.021177″ +308°40′57.267″ =56°56′35.41″。
第七步:求月孛年根
以积日与月孛每日平行四百零一秒○七七四七七相乘,满周天一百二十九万六千秒去之,馀为积日月孛平行。加月孛应三宫零四度四十九分五十四秒零七微,得月孛年根。上考往古,则置月孛应减积日月孛平行,得月孛年根。
本步求的是1920年12月23日半夜0点的月球远地点白经。
即:86563 ×6′41.077477″ +4°49′54.15″ =288°51′3.79″。
第八步:求正交年根
以积日与正交每日平行一百九十秒六四相乘,满周天一百二十九万六千秒去之,馀为积日正交平行。与正交应六宫二十七度一十三分三十七秒四十八微相减,正交应不足减者,加十二宫,减之,得正交年根。上考往古,则置正交应加积日正交平行,得正交年根。
太阴本轮与月孛皆顺行,唯正交逆行,故上考反加,下推反减。
本步求的是1920年12月23日半夜0点的月球升交点白经。
即:117°13′37.8″ -86563 ×3′10.64″ =213°14′7.48″。
第九步:求太阴日数
以所设日数与太阴每日平行四万七千四百三十五秒○二一一七七相乘,得数为秒。以宫、度、分收之,得太阴日数。
这一步求的是,从1920年12月23日半夜0点到1921年7月23日半夜0点,月球平白经行进的度数。
由于1920年12月23日半夜0点和1921年7月23日半夜0点之间间隔了212天,故本例中的“太阴日数”为212 ×13°10′35.021177″= 273°23′44.49″。
第十步:求月孛日数
以所设日数与月孛每日平行四百零一秒○七七四七七相乘,得数为秒。以宫、度、分收之,得月孛日数。
这一步求的是在212天内,月球远地点在白道上行进的度数。
即:212 ×6′41.077477″ =23°37′8.43″。
第十一步:求正交日数
以所设日数与正交每日平行一百九十秒六四相乘得数为秒。以度、分收之,得正交日数。
这一步求的是212天内,月球升交点在白道上行进的度数。
即:212 ×3′10.64″ =11°13′35.68″。
第十二步:求太阴平行
以太阴年根,与太阴日数相加,满十二宫去之,得太阴平行。
这一步求的,是1921年7月23日半夜0点,月球的平行白经。
即:56°56′35.41″ +273°23′44.49″ =330°20′19.9″。
第十三步:求月孛平行
以月孛年根,与月孛日数相加,满十二宫去之,得月孛平行。
这一步求的,是1921年7月23日半夜0点,月球远地点的平行白经。
即:288°51′3.79″ +23°37′8.43″ =312°28′12.22″。
第十四步:求正交平行
置正交年根,减正交日数,不足减者,加十二宫减之,得正交平行。
正交逆行,故于年根内减日数,馀皆与日躔同。
这一步求的,是1921年7月23日半夜0点,月球升交点的平行白经。
即:213°14′7.48″ -11°13′35.68″ =202°0′31.8″。
第十五步:求均数时差
以本日太阳均数变时,得均数时差。一度变为四分,十五分变为一分,十五秒变为一秒。均数为加者,则为减。均数为减者,则为加。
这一步求的是1921年7月23日半夜0点的太阳均数时差。在上一篇中已经求好了,是+2m35s。
第十六步:求升度时差
以本日太阳黄道经度与本日太阳赤道经度相减,馀数变时,得升度时差。二分后为加,二至后为减。
上一篇中已经求得1921年7月23日半夜0点的升度时差为-8m38s。
第十七步:求时差总
均数时差与升度时差同为加者,则相加为时差总,仍为加。同为减者,亦相加,为时差总,仍为减。
一为加一为减者,则相减为时差总。加数大为加,减数大为减。
把以上两个数据相加,得出1921年7月23日的真、平太阳时差为2m35s -8m38s =-6m03s=-363s。
第十八步:求时差行
以三千六百秒为一率,一小时太阴平行一千九百七十六秒四五九二一五七为二率,时差总化秒为三率,求得四率,为秒。以分收之,得时差行。时差总为加者,则为减。时差总为减者,则为加。
本例中的“时差行”为0°32′56.4592157″ ÷3600s ×363s =3′19.29″。
第十九步:求用时太阴平行
置太阴平行,加减时差行,得用时太阴平行。
太阴平行独求用时者,因太阴行度甚疾,必加减时差行,方为子正初刻之平行度。其馀诸平行所差甚微,可以不计也。
其加减与时差总相反者,时差加而迟,则用时子正差而早,故减。时差减而早,则用时子正差而迟,故加。
这一步求的是1921年7月23日半夜0点(北京古观象台真太阳时)的月球平行白经。自本步以下,所用的时间系统一律是北京古观象台的地方真太阳时。
即:330°20′19.9″ +3′19.29″ =330°23′39.19″。
第二十步:求太阴引数
置用时太阴平行,减月孛平行,得引数。
引数者,乃所求本日子正初刻,均轮心过本轮最高之行度也。
太阳自最卑起算,故置平行减最卑行。太阴自最高起算,故置平行减月孛行也。
这一步求的是1921年7月23日半夜0点的月球平行白经和远地点白经的差值。
即:330°23′39.19″ -312°28′12.22″ =17°55′26.97″。
第二十一步:求初均数
均轮心自本轮最高左旋,自东而西,行引数度。太阴自均轮最近点右旋,自西而东,行倍引数度。用两三角形法。求得地心之角,为初均数(法详《月离历理·求初均数》篇)。引数初宫至五宫为减,六宫至十一宫为加。随求太阴距地心之边,为求二均之用。
初均数者,平行与初实行之差也。太阴有二三均数,故以初别之。加减与日躔相反者,自最高起算,故也。
取α=17°55′26.97″,代入公式(1),求得初均数c1=-1°29′33.22″。
第二十二步:求初实行
置用时太阴平行,加减初均数,得初实行。
太阴有二三均数,虽加减初均数,不能即得实行,故亦以初别之。
本例中的“初实行”就是330°23′39.19″ -1°29′33.22″ =328°54′5.97″。
第二十三步:求月距日(次引)
置初实行,减本日太阳实行,得月距日(次引)。
月距日者,太阴距太阳之度也。初实行自冬至起算,月距日自太阳起算,故置初实行减太阳实行,得月距日。
名曰次引者,以其为次轮周之行度也。
在上一篇中已经求得1921年7月23日半夜0点的太阳黄经为119°14′48.33″。
故本例中的“月距日”为328°54′5.97″ -119°14′48.33″ =209°39′17.64″。
第二十四步:求二均数
均轮心自负圈最高左旋,行引数度。次轮心自均轮最近点右旋,行倍引数度。次均轮心自次轮最近点右旋,次轮径与均轮径平行(其近本轮心之一点为最近点),行月距日之倍度。用三角形法,以次轮最近点距地心线为一边(即求初均数时所得太阴距地心之边),次轮月距日倍度之通弦为一边(半径一千万为一率,月距日正弦为二率,次轮半径二十一万七千为三率,求得四率倍之,即通弦),以初均数与均轮心距最卑之度相加(引数与半周相减,即均轮心距最卑之度)又加减月距日距象限度,为所夹之角(月距日与象限相减,为月距日距象限度。如月距日过二象限,则减去二象限,馀数又与象限相减,为月距日距象限度。其加减之法:初均数为减者,月距日过一象限或过三象限则加,不过象限或过二象限则减。初均数为加者,月距日过一象限或过三象限则减,不过象限或过二象限则加。若初均数与均轮心距最卑相加之度不足减月距日距象限度,则转减,馀为所夹之角。若相减无馀,则无角,即无二均数。若相加过半周,则与全周相减,馀为所夹之角。若相加适足半周,则无角,亦无二均数。若月距日为初度或一百八十度,则无月距日倍度之通弦,亦无二均数)。求得地心对通弦之角,为二均数。
如无初均数者,则以次轮心距地心线为一边,次轮半径为一边,月距日倍度为所夹之角。过半周者与全周相减,用其馀。在最高为所夹之内角,在最卑为所夹之外角,求得地心对次轮半径之角,为二均数。
定加减之法:以初均数与均轮心距最卑之度相加,为次轮最近点距地心线与次轮径所夹之角。此角如不及九十度,则倍之,与半周相减,馀为加减限。初均数为减者,月距日倍度在此限内,则二均数反为加。初均数为加者,月距日倍度与全周相减,馀数在此限内,则二均数反为减。此角如过九十度,则与半周相减,馀数倍之。又与半周相减,馀为加减限。初均数为减者,月距日倍度与全周相减,馀数在此限内,则二均数反为加。初均数为加者,月距日倍度在此限内,则二均数反为减。若不在限内,或其角适足九十度,则初均数为加者,二均数亦为加。初均数为减者,二均数亦为减。随求次均轮心距地心之边,为求三均之用。
二均数者,次轮所生也。前以本轮、均轮求初均数,而太阴实在次均轮之周,次均轮心又在次轮之周,故又求次均轮心距次轮最近点当地心之角,为二均数也。前求初均数,以均轮为在本轮周,太阴为在均轮周。此求二均数,以均轮为在负圈周,次轮为在均轮周,二者似异实同。盖本轮半径加次轮半径为负圈半径,则均轮心去本轮心亦远一次轮半径。然次轮心在均轮周之行度,即前所用太阴在均轮周之行度。而次轮径与均轮径平行,则次轮最近点去次轮心,必近一次轮半径,故前所求太阴点,即此所求次轮最近点。前所求太阴距地心线,即此所用次轮最近点距地心线也。至于定加减之法,乃求次轮最近点距地心线,割次轮周为加减之限。次均轮心在此限内,初均数为减者,次均轮心在次轮最近点之前。初均数为加者,次均轮心在次轮最近点之后,故其加减与初均数相反也。
上述文字讲的是用解平面三角形的方法求二均数c2。
这里不用这么麻烦,直接取β=209°39′17.64″,和α一起代入公式(2),解得c1+c2 =-2°39′7.23″。即:c2=-1°9′34.01″。
另外解得Q=0.047799663272604865,R=1.031958255612304511。
第二十五步:求三均数
太阴自次均轮下点左旋,行月距日之倍度。用三角形法,以次均轮心距地心线为一边(即求二均数时所得次轮心距地心之边),次均轮半径一十一万七千五百为一边,月距日倍度为所夹之角。过半周者与全周相减,用其馀,求得地心对次均轮半径之角,为三均数。月距日倍度不及半周为加,过半周为减。
三均数者,次均轮所生也。月距日倍度不及半周,太阴在轮心前,故加。月距日倍度过半周,太阴在轮心后,故减。如倍月距日为初度,则无二均数,亦无三均数。如倍月距日为一百八十度,则有二均数,无三均数。
把α、β、Q、R全都代入公式(3),求得三均数c3 =0°33′49.17″。
第二十六步:求二三均数
二均数与三均数同为加者,则相加,为二三均数仍为加。同为减者,亦相加,为二三均数仍为减。一为加一为减者,则相减为二三均数,加数大为加,减数大为减。
本例中的“二三均数”就是-1°9′34.01″ +0°33′49.17″= -0°35′14.84″。
第二十七步:求白道实行
置初实行,加减二三均数,得白道实行。
白道实行者,太阴在白道之实行度也。
论其理,当置初实行,加减二均数,又加减三均数,得白道实行。
今既合二均数与三均数,为二三均数,故合两次加减为一次加减也。
这一步求的就是1921年7月23日半夜0点的月球实际白经度数。
即:328°54′5.97″ -0°35′14.84″=328°18′51.13″。
第二十八步:求黄白大距及交均
白道极自交均轮最近点左旋,行月距日之倍度。用弧三角法,以黄白大距中数五度零八分为一边,黄白大距半较九分三十秒为一边,月距日倍度为所夹之角。过半周者与全周相减,用其馀,求得对边,为黄白大距。并求得近黄极之角,为交均。月距日倍度不及半周,交均为减。月距日倍度过半周,交均为加。
黄白大距者,乃所求本日黄、白二道之交角。交均者,正交平行与正交实行之差也。
盖太阴黄道经纬度并生于距交,而黄白交角时时不同,交行又有加减,故必先求两极相距之度,为黄白大距。又求白道极与交均轮心之差,为交均。然后太阴之黄道经纬度可推也。月距日倍度不及半周者,白道极逆轮心行,故减。月距日倍度过半周者,白道极顺轮心行,故加。
这一步求的,是1921年7月23日半夜0点的黄道、白道平面夹角,以及月球升交点的实际白经。
由β可以求出黄白大距i,其公式为:
代入β=209°39′17.64″,求得i=5°3′15.66″。
由β和i可以求出交均μ,其公式为:
代入i=5°3′15.66″,求得μ=-1°32′44.37″。
第二十九步:求正交实行
置正交平行,加减交均,得正交实行。
正交实行者,白道与黄道相交之实行也。
交均虽以白道极立算,然极差,则交亦差。
故置正交平行加减交均,得正交实行也。
这一步求的是1921年7月23日半夜0点的月球升交点实际白经。
即:202°0′31.8″ -1°32′44.37″ =200°27′47.43″。
第三十步:求中交实行
置正交实行,加减六宫,得中交实行。
中交者,正交之对冲,故正交实行不及六宫者,加六宫。过六宫者,减六宫,得中交实行也。
“中交”其实就是月球的降交点,和升交点正好差180°,故本例的“中交”是20°27′47.43″。
第三十一步:求距交实行
置白道实行,减正交实行,得距交实行。
距交实行者,太阴距正交之实行也。
白道实行自冬至起算,距交实行自正交起算。故置白道实行减正交实行,得太阴距正交之实行也。
这一步求的是1921年7月23日半夜0点的月球实际白经和升交点之间的角距离,记作ω。
即:328°18′51.13″ -200°27′47.43″ =127°51′3.7″。
第三十二步:求升度差
以半径一千万为一率,黄白大距之馀弦为二率,距交实行之正切线为三率(距交过一象限,则与半周相减,用其馀。过二象限,则减去二象限,用其馀。过三象限,则与全周相减,用其馀),求得四率,为黄道之正切线。检表,得黄道度。与距交实行相减,馀为升度差。距交实行不过象限为减,过象限为加。过二象限为减,过三象限为加。
升度差者,白道与黄道之差也。月、五星并宗黄道,而白道与黄道有差,故先求其差,乃可求黄道度也。距交不及象限或过二象限,皆白道度多,黄道度少,故减。距交过一象限或过三象限,皆白道度,少黄道度多,故加。
这一步求的是1921年7月23日半夜0点的月球白经、黄经差值。
运用ω和i可以求出这个差值△λ,公式为:
代入ω=127°51′3.7″,i=5°3′15.66″,求得△λ=0°6′29.54″。
第三十三步:求黄道实行
置白道实行,加减升度差,得黄道实行。
黄道实行者,太阴所当黄道经度也。太阴本行白道,加减黄白二道之差,则得相当黄道度矣。
这一步终于可以求出1921年7月23日半夜0点的月球实际黄经度数了。
即:328°18′51.13″ +0°6′29.54″ =328°25′20.67″。
第三十四步:求黄道纬度
以半径一千万为一率,黄白大距之正弦为二率,距交实行之正弦为三率,求得四率,为距纬之正弦,检表得黄道纬度。距交实行初宫至五宫,为黄道北。六宫至十一宫,为黄道南。
黄道纬度者,太阴距黄道南北之纬度也。太阴过正交入阴历,故距正交不及半周者,皆在黄道北。太阴过中交入阳历。故距正交过半周者。皆在黄道南。
这一步求的是1921年7月23日半夜0点月球的黄纬φ。
运用ω和i可以计算出φ,其计算公式为:
代入ω=127°51′3.7″,i=5°3′15.66″,求得φ=3°59′20.43″。
到此,得出结论:1921年7月23日半夜0点(北京古观象台真太阳时)的月球黄道坐标为:黄经328°25′20.67″,黄纬3°59′20.43″。
运用现代高精度天文算法回推,1921年7月23日半夜0点(北京古观象台真太阳时)的月球黄道坐标为:黄经328°29'49.08″,黄纬4°00'46.53″,误差不大。
四、推合朔、弦、望法
太阴实行与太阳实行同宫同度,为合朔。限距三宫,为上弦。限距六宫,为望。限距九宫,为下弦。
皆以太阴未及限度为本日,已过限度为次日。如太阴未及太阳,为合朔本日。已过太阳,为合朔次日。太阴距太阳未及九十度,为上弦本日。已过九十度,为上弦次日之类。
求时刻之法:以本日太阳实行与次日太阳实行相减,馀为太阳一日之实行。以本日太阴实行与次日太阴实行相减,馀为太阴一日之实行。乃于太阴一日之实行内减太阳一日之实行,馀为一率。一千四百四十分为二率。本日太阳实行加限度(合朔同宫同度,无可加。上弦加三宫,望加六宫,下弦加九宫)减本日太阴实行,馀为三率。求得四率,为距子正之分数。
盖以太阴距太阳一日之实行、与一日之分数为比,同于本日子正太阴距合朔、弦、望度分、与距子正之分数为比也。乃以六十分收为一小时,十五分收为一刻,得合朔、弦、望时刻。如本日太阴实行与太阳实行适当合朔、弦、望限度,而无相距度分,则合朔、弦、望即为本日子正初刻。
举例:运用《推日躔法》和《推月离法》,计算出:
1926年8月17日午夜0点的月亮黄经为232°43'55″,太阳黄经为142°56'30″,二者差值为89°47′25″。
1926年8月18日午夜0点的月亮黄经为245°36'27″,太阳黄经为143°54'06″,二者差值为101°42′21″。
由此可知:1926年8月17日会出现上弦月(日月黄经差90°)。在1926年8月17日这一天内,日月黄经差变化率为101°42′21″ -89°47′25″ =11°54′56″。而日月黄经差从午夜0点起,还要增长90°-89°47′25″=0°12′35″才能到上弦月的位置。
所以这一天的上弦月时刻是:
即“子正一刻十分二十一秒”。
按照现代高精度天文算法回推,1926年8月17日的上弦月时刻为00:19:45(北京古观象台真太阳时)。
再举一例:1839年6月11日半夜0点的月亮黄经为65°57'38″,太阳黄经为79°05'29″,差值为346°52′9″。
1839年6月12日半夜0点的月亮黄经为80°46'32″,太阳黄经为80°02'41″,差值为0°43′51″。
则:1839年6月11日会出现新月(日月黄经差0°)。在1839年6月11日,日月黄经差变化率为0°43′51″ -346°52′9″ =13°51′42″。而从1839年6月11日半夜0点起,日月黄经差还要增长360° -346°52′9″ =13°7′51″才能出现新月。
所以这一天的新月时刻是
即“亥正二刻十四分五秒”。
运用高精度天文算法回推,1839年6月11日的新月时刻是22:28:21(北京古观象台真太阳时)。
五、推交宫时刻法
太阴未过宫为交宫本日,已过宫为交宫次日。
求时刻之法:以本日太阴实行与次日太阴实行相减,馀为一率。一千四百四十分为二率。本日太阴实行度(不用宫)与三十度相减,馀为三率。求得四率,为距子正之分数。盖以太阴一日之实行与一日之分数为比,同于本日子正太阴距某宫初度之度、分与距子正之分数为比也。乃以六十分收为一时,十五分收为一刻,得交宫时刻。如本日太阴实行适当某宫初度,而无馀分,则交宫即为本日子正初刻。
“交宫”时刻指的就是月球运行到黄经为30°及其整倍数的时刻。由于月球每27天左右就会绕地球运行一圈,所以平均每2~3天就会有一次“交宫”。
举例:运用《推月离法》求得1840年7月13日半夜0点的月亮黄经为267°29'09″,1840年7月14日半夜0点的月亮黄经为279°28′28″。则:1840年7月13日内,月亮跨越黄经270°位,就是交星纪宫了。
交宫时刻为:
中国古人把黄道也分为十二宫,以十二星次命名,依次是星纪、元枵、娵訾、降娄、大梁、实沈、鹑首、鹑火、鹑尾、寿星、大火、析木。中国版“黄道十二宫”也可以用地支命名,其范围和西方的“黄道十二宫”大致可以对应。如下表:
星次 | 地支 | 黄经度数范围 | 西方星座 |
---|---|---|---|
星纪 | 丑 | 270~300 | 摩羯座(CAP) |
元枵 | 子 | 300~330 | 水瓶座(AQR) |
娵訾 | 亥 | 330~360(0) | 双鱼座(PSC) |
降娄 | 戌 | 0~30 | 白羊座(ARI) |
大梁 | 酉 | 30~60 | 金牛座(TAU) |
实沈 | 申 | 60~90 | 双子座(GEM) |
鹑首 | 未 | 90~120 | 巨蟹座(CNC) |
鹑火 | 午 | 120~150 | 狮子座(LEO) |
鹑尾 | 巳 | 150~180 | 处女座(VIR) |
寿星 | 辰 | 180~210 | 天秤座(LIB) |
大火 | 卯 | 210~240 | 天蝎座(SCO) |
析木 | 寅 | 240~270 | 射手座(SGR) |
除了太阳以外,其他天体的交宫时刻在天文学、物候学上并没什么意义,但是在占星术上有意义。
—————————————————————–
清朝人如何计算月食时间表?
在讲完《历象考成》中的日躔(太阳运动)、月离(月亮运动)计算法之后,这一篇来复现《历象考成》下编的第三卷《月食历法》。
月食算法可远比太阳、月亮运动的算法都要复杂。但是月食有一个好处,全世界各地的人们看到的月亮被遮蔽程度都相同(除非你所在的地方看不到月亮)。
日食计算更加复杂,在同一个时刻,不同的地方看到的太阳圆面被遮蔽程度都不一样。比如2009年7月22日(己丑年六月初一)的长江大日食,在武汉就能看到日全食,在北京就只能看到日偏食。
一、和月食相关的基础知识
1、产生月食的条件
当太阳、地球、月亮三个天体正好运行到同一条直线的位置、且地球在中间的时候,月亮就有可能进入太阳照射地球留下的影子(称为“地球本影”)里面。如果月亮进入地球本应,那么在地球上的人们看到的月亮就会变暗。这个就是月食了。
听起来比较像满月的定义,即“太阳和月亮的黄经差值达到180°”。但是,由于月亮运行的轨道(白道)和太阳运行的轨道(黄道)平面之间有5°左右的夹角,所以发生满月的时候,月球不一定能进入到地球的影子里面。
如下图,月亮运动到1、2、3号位置时都可能发生满月。但是,如果月亮运行到1号位或者3号位,就不会有月食。如果运动到2号位,月亮就进入了地球的圆锥形本影区,就会发生月食。
所以,有一个比较简洁明了的办法判定某个满月会不会发生月食:月亮运行到满月相位的时候,如果其球心的黄纬正好在0°上下的某个限度里面,就会有月食。
把这个方法再换算一下,就是“月亮运行到满月相位的时候,其球心距离白道升交点(月亮从南向北穿过黄道)或降交点(月亮从北往南穿过黄道)的角度在某个限度以内,就会有月食”。这个月亮中心与升/降交点的角度差叫做“月食食限”。《历象考成》中认为,如果满月时,月亮和升/降交点的距离在11°16′45″以内,则必定发生月食。如果距离在12°16′55″以上,则一定不发生月食。如果是上述两个数字中间的话,则可能发生月食,也可能不发生。
另外,《历象考成》中认为,在同一个时刻,太阳和月亮各自有两个位置,即“平行”和“实行”。“平行”指的是该天体的“本轮”所在的位置,始终匀速变化。“实行”指的就是天体的实际位置,其变化速率有快有慢。“平行”和“实行”之间的差值叫做“均数”,满足:平行+均数=实行。
所以月相也有平、实两种,当某个时刻太阳和月亮的“平行”正好相同的时候,就是“平朔”。两个天体的“实行”刚好相同的时候,就是“实朔”。其他月相同理。连续两个“平朔”之间的时间间隔叫“朔策”。如果某个“平望”的时候,月球的“平行”和升/降交点之间的距离在14°54′以内,都必定发生月食。
2、月食的五个阶段
上图为月食五个阶段的示意图。
月亮开始进入地球本影区(M1)的时间点为“初亏”,完全进入地球本影区(M2)的时间点为“食既”。月亮进入地球本影区深度最深(M3)的时候为“食甚”,开始离开地球本影区(M4)的时间点叫“生光”,完全离开地球本影区(M5)的时刻叫“复圆”。
一般来说,食甚是整个月食过程正中间的时刻,即初亏到食甚的时间长度,等于食甚到复圆的时间长度。
另外,上图中的AB和月面直径的比值称作月食的“食分”,用来度量食甚时月面进入地球本影的深度。食分越大,则表示食甚时月面进入本影的程度越深。
二、推月食用数
1、历元:康熙二十三年(甲子年,1684年)天正冬至,即1683年12月21日。
2、朔策:29.530593天,即两个“平朔”之间的时间间隔。
3、望策:14.7692965天。即朔策的一半。
4、太阳平行朔策:104784.304324″(29°6′24.304324″),即太阳平黄经在一个“朔策”里面运行的距离。
5、太阳引数朔策:104779.358865″(29°6′19.358865″),即太阳引数(太阳平黄经离开太阳近地点的距离)在一个“朔策”里面运行的距离。
6、太阴引数朔策:1388940.24859″(25°49′0.24859″),即太阴引数(月亮平白经离开月亮远地点的距离)在一个“朔策”里面运行的距离。
7、太阴交周朔策:14060414.016574″(30°40′14.016574″),即太阴交周在一个“朔策”里面运行的距离。“交周”就是某个时刻,月亮平白经离开平升交点的距离。
8、太阳平行望策:14°33′12.152162″。
9、太阳引数望策:14°33′9.6794325″。
10、太阴引数望策:192°54′30.124295″。
11、太阴交周望策:195°20′7.008287″。
8~11号的四个数据就是4~7号的四个数据除以2,再多次减去360°的结果。
12、每小时太阳平行:147.8471409″ =0°2′27.8471409″。
13、每小时太阳引数:147.840127″ =0°2′27.840127″。
14、每小时太阴引数:1959.7476542″ =0°32′39.7476542″。
15、每小时太阴交周:1984.420549″ =0°33′4.420549″。
12~15号的四个数据是8~11号的四个数据除以望策,再除以24的结果。
16、每小时的月距日平行:1828.6121108″=0°30′28.6121108″,即一个小时之内“月球白经-太阳黄经”的平均变化值。
17、黄赤交角ε=23°29′30″。
18、朔望时黄白交角i=4°58′30″。
19、气应:7.656374926天。即1683年平冬至时刻(1683年12月21日15:45:11)到上一个甲子日(1683年12月14日)半夜0点之间的时间间隔。
20、朔应:26.3852666天。即1683年12月22日(历元天正冬至次日)半夜0点到1684年1月17日8:05:26(1683年12月22日之后的第一个“平朔”)的时间间隔。《历象考成》中把每一年的天正冬至次日半夜0点之后的第一个平朔叫做那一年的“首朔”,1684年1月17日9:14:47就是1684年的“首朔”。
21、首朔太阳平行应:296°20′42.95″,1684年1月17日9:14:47时的太阳平黄经。
22、首朔太阳引数应:19°10′27.35″,即1684年1月17日9:14:47时,太阳平黄经离开近地点的距离。
23、首朔太阴引数应:288°34′26.267″,即1684年1月17日9:14:47时,月亮平白经离开远地点的距离。
24、首朔太阴交周应:180°30′55.233″,即1684年1月17日9:14:47时,月亮平白经离开平升交点的距离。
25、月亮远地点的月、地距离为地球半径的58.16倍。
26、太阳远地点的日、地距离为地球半径的1162倍。
27、太阳光分半径为地球半径的6.37倍。
28、月亮半径为地球半径的0.27倍。
三、推月食法
《历象考成》中给出的月食计算方法比推日躔、月离的方法都复杂。推月食法共分为12段(含准备工作),平均每一段下面有4或5个小步骤。这些步骤用来推算一次月食发生的日期、食分、以及初亏、食既、食甚、生光、复圆的具体时间表。
准备工作:推首朔诸平行及入交
推首朔诸平行及入交,为月食入算之首。盖本年逐月太阳、太阴之行度,必以首朔为根。有首朔之日、分,然后可以求平望之日、分。有首朔诸平行,然后可以求平望诸平行。
至于入交,乃当食之月数。太阴每岁两次入交,闰月之岁或三次入交。其不入交之月,不必算也。月食必在望,不用首望,而用首朔者,以天正冬至或在十一月望前,或在十一月望后,不若首朔之定为年前十二月朔也。
这些准备工作的目的就是求出哪次满月会发生月食。一般来说,一个农历年(12或13个朔望月)里会有2~3次月食。下面以1949年为例来推算月食。
1、求积年
自历元康熙二十三年甲子距所求之年,共若干年。减一年,得积年。
本例中的“积年”为1948-1683=265。
2、求中积分
以积年与周岁三百六十五日二四二一八七五相乘,得中积分。
本例中的“中积分”为265 ×365.2421875 =96789.1796875天。
3、求通积分
置中积分,加气应七日六五六三七四九二六,得通积分。上考往古,则置中积分减气应,得通积分。
本例中的“通积分”为96789.1796875 +7.656374926 =96796.836062426天。
4、求天正冬至
置通积分,其日满纪法六十去之,馀为天正冬至日、分。上考往古,则以所馀,转与纪法六十相减,馀为天正冬至日、分。
把96796.836062426减去60的整倍数,余下16.836062426,即1948年的平冬至为庚辰日(1948年12月21日),时刻为20:03:56。
5、求纪日
以天正冬至日数加一日,得纪日。
1948年平冬至次日的“纪日”为17,即辛巳日。折算成格里历,就是1948年12月22日。
6、求积日
置中积分加气应分六五六三七四九二六(不用日)减本年天正冬至分(亦不用日)得积日。上考往古,则置中积分减气应分,加本年天正冬至分,得积日。
求得:1683年12月22日(天正冬至次日)半夜0点到1948年12月22日(天正冬至次日)半夜0点之间间隔96789天。
7、求通朔
置积日减朔应二十六日三八五二六六六,得通朔。上考往古,则置积日加朔应,得通朔。
通朔者,乃所求本年天正冬至次日子正初刻,距历元甲子年首朔之日、分也。积日原为本年天正冬至距历元甲子年天正冬至之日数,故下推将来,则于积日内减朔应。上考往古,则于积日内加朔应,得通朔也。
本例中的“通朔”其实就是1684年1月17日9:14:47和1948年12月22日半夜0点的时间间隔。
即:96789 -26.3852666 =96762.6147334天。
8、求积朔及首朔
置通朔,以朔策二十九日五三○五九三除之,得数加一,为积朔。馀数与朔策相减,为首朔。上考往古,则置通朔以朔策除之,得数为积朔,馀数为首朔。
积朔者,历元甲子年首朔距所求本年首朔之月数。而首朔者,本年天正冬至后第一朔距本年天正冬至次日子正初刻之日、分也。下推将来,以朔策除通朔,得数为历元甲子年首朔距本年天正冬至前一朔之月数。故加一月,为积朔。其馀数亦为本年天正冬至次日子正初刻距前一朔之日、分,故与朔策相减,方为首朔日、分。若上考往古,则以朔策除通朔,得数即历元甲子年首朔距本年首朔之月数,故即为积朔。其馀数亦即本年首朔距本年天正冬至次日子正初刻之日、分,故亦即为首朔也。
这一步求的是1948年平冬至之后第一个平朔的具体时刻。
“积朔”指的是从1684年1月17日9:14:47到1948年12月22日半夜0点之后的第一个平朔(即1949年“首朔”)之间的朔望月数量。
即:96762.6147334 ÷29.530593 =3276.690540329,故1949年“首朔”的“积朔”为3277。
1948年12月22日半夜0点和1949年“首朔”之间的时间间隔就是:29.530593 ×(1-0.690540329) =9.1385276天。
进而可以求出1949年的“首朔”落在1948年12月31日3:19:29。
9、求首朔太阳平行
以积朔与太阳平行朔策一十万四千七百八十四秒三○四三二四相乘,满周天一百二十九万六千秒去之,馀为积朔太阳平行。加首朔太阳平行应初宫二十六度二十分四十二秒五十七微,得首朔太阳平行。上考往古,则置首朔太阳平行应,减积朔太阳平行,得首朔太阳平行。
首朔太阳平行者,乃所求本年首朔,太阳本轮心距冬至之平行经度也。以积朔与太阳平行朔策相乘,则得历元甲子年首朔距本年首朔之太阳平行度。故下推将来,则置太阳平行应,加积朔之太阳平行。上考往古,则置太阳平行应,减积朔之太阳平行。而得本年首朔之太阳平行也。
这一步求的是1949年的“首朔”时,太阳的平黄经。
即:3277 ×29°6′24.304324″ +296°20′42.95″ =279°10′8.22″。
10、求首朔太阳引数
以积朔与太阳引数朔策一十万四千七百七十九秒三五八八六五相乘,满周天一百二十九万六千秒去之,馀为积朔太阳引数。加首数太阳引数应初宫一十九度一十分二十七秒二十一微,得首朔太阳引数。上考往古,则置首朔太阳引数应,减积朔太阳引数,得首朔太阳引数。
首朔太阳引数者,乃所求本年首朔太阳均轮心距本轮最卑之自行度也。馀与太阳平行同。
这一步求的是1949年的“首朔”时的太阳引数(太阳平黄经离开太阳近地点的距离)。
即:3277 ×29°6′19.358865″ +19°10′27.35″ =357°29′46.35″。
11、求首朔太阴引数
以积朔与太阴引数朔策九万二千九百四十秒二四八五九相乘,满周天一百二十九万六千秒去之,馀为积朔太阴引数。加首朔太阴引数应九宫一十八度三十四分二十六秒一十六微,得首朔太阴引数。上考往古,则置首朔太阴引数应减积朔太阴引数,得首朔太阴引数。
首朔太阴引数者,乃所求本年首朔太阴均轮心距本轮最高之自行度也。馀与太阳平行同。
这一步求的是1949年的“首朔”时的太阴引数(月亮离开远地点的距离)。
即:3277 ×25°49′0.24859″ +288°34′26.267″ =290°0′34.90″。
12、求首朔太阴交周
以积朔与太阴交周朔策一十一万零四百一十四秒○一六五七四相乘,满周天一百二十九万六千秒去之,馀为积朔太阴交周。加首朔太阴交周应六宫初度三十分五十五秒一十四微,得首朔太阴交周。上考往古,则置首朔太阴交周应减积朔太阴交周,得首朔太阴交周。
首朔太阴交周者,乃所求本年首朔太阴本轮心距正交之度也,馀与太阳平行同。
这一步求的是1949年“首朔”时的太阴交周(月亮平白经离开平升交点的距离)。
即:3277 ×30°40′14.016574″ +180°30′55.233″ =247°56′27.55″。
13、求逐月望太阴交周
置本年首朔太阴交周,加太阴交周望策六宫一十五度二十分零七秒。再以太阴交周朔策一宫零四十分一十四秒零一微,递加十三次,得逐月望太阴交周。
逐月望太阴交周者,乃所求本年逐年平望,太阴本轮心距正交之行度也。以首朔太阴交周,加太阴交周望策,则得年前十二月平望之太阴交周。故递加太阴交周朔策,则得本年逐月平望之太阴交周也。递加十三次者,其年或有闰月,则十二月为第十三月也。
这一步求的是,1949年的各个“平望”时的太阴交周。
比如:1949年“首朔”之后的第一个“平望”时,太阴交周就是247°56′27.55″ +195°20′7.01″ =83°16′34.56″。
此后,在这个数字的基础上加30°40′14.02″这个数字,累加十几次,就能得到各个“平望”时的太阴交周了。
14、求太阴入交月数
逐月望太阴交周,自初宫初度至初宫一十四度五十四分、自五宫一十五度零六分至六宫一十四度五十四分、自十一宫一十五度零六分至十一宫三十度,皆为太阴入交。第几月入交,即第几月有食。太阴距交前后可食之限一十四度五十四分,故逐月望太阴交周在此限以内者,为入交。
如果某个“平望”的时候,太阴交周在如下范围内,就会有月食出现:0°~14°54′、165°6′~194°54′、345°6′~360°。
结合第13小步的计算结果,求得1949年的第四个“平望”,即1949年4月13日(己丑年三月十六)11:53:36的时候,太阴交周为175°17′16.62″,会出现月食。
1949年的第十个“平望”,即1949年10月7日(己丑年八月十六)16:17:55的时候,太阴交周为359°18′40.74″,会出现月食。这是1949年内会发生的两次月食。
接下来,以1949年的第四个“平望”为例,来讲解计算月食初亏到复圆的五个时刻的时间表的方法。
第一段:推平望诸平行
推平望诸平行,为月食第一段。
盖既知本月入交矣,必求本月平望之日分,然后可以求实望。必求平望诸平行,然后可以求实行。
太阳平行者,所以定太阳之经度。而太阴之经度,即在其对冲。
太阳、太阴引数者,所以定本轮周之自行度,为求均数之用也。其不求平望太阴交周者,因求入交月数已得本月平望太阴交周。若知入交月数,则不求逐月望太阴交周及入交,即以入交月数与太阴交周朔策一十一万零四百一十四秒○一六五七四相乘,得数加太阴交周望策六宫一十五度二十分零七秒,与本年首朔太阴交周相加,即平望太阴交周也。
这一段的目的是求出1949年的第四个“平望”的具体日期、时间,以及那个时候太阳和月亮的“平行”位置和“引数”。
1、求平望
以太阴入交月数与朔策二十九日五三○五九三相乘,得数加望策一十四日七六五二九六五,与本年首朔日、分相加,再加纪日,满纪法六十去之,得平望。自初日甲子起算,得平望干支。以周日一千四百四十分通其小馀,得平望时、分、秒。
平望者,本月太阳本轮心与太阴本轮心相对之日、时也。以入交月数与朔策相乘,加望策日、分,则得平望距首朔之日、分。与首朔日、分相加,则得平望距天正冬至次日子正初刻之日、分。又加纪日,则得平望距冬至前甲子日子正初刻之日、分。故满纪法六十去之,自初日甲子起算,得平望干支。以一千四百四十分通其小馀,得平望时、分也。
以1949年的第四个“平望”为例:其日期为(4-1) ×29.530593 +14.7652965 +9.1385276 +17 – 60×2 =9.4956031。
可推得该日为癸酉日,即格里历1949年4月13日,农历己丑年三月十六。
“平望”的具体时刻,就是0.4956031 ×86400s =11h53m40s。
2、求平望太阳平行
以太阴入交月数与太阳平行朔策一十万四千七百八十四秒三○四三二四相乘,得数加太阳平行望策一十四度三十三分一十二秒零九微,与本年首朔太阳平行相加,得平望太阳平行。
本步求的是1949年4月13日“平望”时的太阳平黄经。
即:(4-1) ×29°6′24.304324″ +14°33′12.152162″ +279°10′8.22″ =21°2′33.29″。
3、求平望太阳引数
以太阴入交月数与太阳引数朔策一十万四千七百七十九秒三五八八六五相乘,得数加太阳引数望策一十四度三十三分零九秒四十一微,与本年首朔太阳引数相加,得平望太阳引数。
本步求的是1949年4月13日“平望”时的太阳引数。
即:(4-1) ×29°6′19.358865″ +14°33′9.6794325″ +357°29′46.35″ =99°21′54.11″。
4、求平望太阴引数
以太阴入交月数与太阴引数朔策九万二千九百四十秒二四八五九相乘,得数加太阴引数望策六宫一十二度五十四分三十秒零七微,与本年首朔太阴引数相加,得平望太阴引数。
本步求的是1949年4月13日“平望”时的太阴引数。
即:(4-1) ×25°49′0.24859″ +192°54′30.124295″ +290°0′34.90″ =200°22′05.77″。
第二段:推日月相距
推日月相距,为月食第二段。盖平望固两本轮心相对矣。而日、月皆有均数,因生距弧。既有距弧,则必有距时也。若两均加减同,度、分亦同,则无距弧,亦无距时,而平望即实望。
这一段的目的是求出1949年的第四个“平望”和“实望”之间的时间差。
1、求太阳均数
以平望太阳引数,依日躔求均数法,算之,得太阳均数。引数初宫至五宫为加,六宫至十一宫为减。
按照本系列第一篇中给出的太阳均数公式:
代入第一段第3步中求出的太阳引数α=99°21′54.11″,计算出1949年第四个“平望”时的太阳均数β=2°1′10.10″。
2、求太阴均数
以平望太阴引数,依月离求初均数法,算之,得太阴均数。引数初宫至五宫为减,六宫至十一宫为加。
按照本系列第二篇给出的太阴初均数公式:
代入第一段第4步中求出的太阴引数α=200°22′05.77″,求得1949年第四个“平望”时的太阴均数c1=1°46′58.30″。
3、求距弧
太阳、太阴两均数,同为加或同为减者,则相减,得距弧。一为加一为减者,则相加,得距弧。
距弧者,日月相距之弧也。两均同为加或同为减者,则相距为两均之较,故相减,得距弧。两均一为加一为减者,则相距为两均之和,故相加,得距弧。
由于太阳均数和太阴均数均为正数,所以本例中的“距弧”为2°01′10.10″ -1°46′58.30″ =0°14′11.8″。
“距弧”的意思就是太阳和月亮的实际位置差值和180°的差的绝对值。
4、求距时
以一小时月距日平行一千八百二十八秒六一二一一○八为一率,三千六百秒为二率,距弧化秒为三率(一度化六十分,一分化六十秒),求得四率,为秒。以时、分收之,得距时。太阳、太阴两均数同为加者,太阳加均大,则距时为加。太阳加均小,则距时为减。同为减者,太阳减均大,则距时为减。太阳减均小,则距时为加。一为加一为减者,太阳为加均则距时为加,太阳为减均则距时为减。
距时者,日月相距之时、分也。太阳均数为加,太阴均数为减;或同为加,而太阳加均大;或同为减,而太阳减均小,皆太阳在前、太阴在后,月未及与日相对,故距时为加。太阳均数为减,太阴均数为加;或同为加均,而太阳加均小;或同为减均,而太阳减均大,皆太阴在前、太阳在后,月已过与日相对,故距时为减。
本例中的“距时”为:
由于上面求得太阳、太阴均数均为正数,且太阳均数绝对值更大,本例中的所以“距时”为正数。
“距时”就是太阳和月亮从“平望”到“实望”之间的时间间隔,即:平望+距时=实望。
第三段:推实引
推实引,为月食第三段。盖日、月既有距时,则此相距之时、分内,亦必有引数之自行。故又以距时求得引弧,以加减平望之引数,为实引数也。
这一段的目的是求出1949年的“实望”时,太阳和月亮的引数。
1、求太阳引弧
以三千六百秒为一率,一小时太阳引数一百四十七秒八四○一七二为二率,距时化秒为三率,求得四率,为秒。以度、分收之,得太阳引弧。距时为加者,亦为加。距时为减者,亦为减。
代入第二段第4步中求出的“距时”,求出“太阳引弧”为
2、求太阴引弧
以三千六百秒为一率,一小时太阴引数一千九百五十九秒七四七六五四二为二率,距时化秒为三率,求得四率,为秒。以度、分收之,得太阴引弧。距时为加者,亦为加。距时为减者,亦为减。
本例中的“太阴引弧”为
3、求太阳实引
置平望太阳引数,加减太阳引弧,得太阳实引。
本例中的“太阳实引”为99°21′54.11″ +1′8.83″ =99°23′2.94″。
4、求太阴实引
置平望太阴引数,加减太阴引弧,得太阴实引。
本例中的“太阴实引”为200°22′05.77″ +15′12.37″ =200°37′18.14″。
第四段:推实望
推实望,为月食第四段。前求日、月相距,以得距时,似可以加减平望,而为实望矣。然此相距之时、分内,引数既有微差,则均数亦有微差。而距弧与距时亦必有微差,故又以实引推实均,以求实距弧,而得实距时,然后加减平望,为实望也。
这一段的目的是求出1949年的第四个“实望”的具体时间。
1、求太阳实均
以太阳实引,依日躔求均数法,算之,得太阳实均。实引初宫至五宫为加,六宫至十一宫为减。随求太阳距地心之边,为求太阳距地之用。
运用公式(1),代入第三段第3步中求得的“太阳实引”α=99°23′2.94″,得“太阳实均”为2°01′15.89″。
“太阳距地心之边”就是把公式(1)的分子平方和分母平方相加之后的和开平方,再乘以一千万的结果。即:10035452.59。
2、求太阴实均
以太阴实引,依月离求初均数法,算之,得太阴实均。实引初宫至五宫为减,六宫至十一宫为加。随求太阴距地心之边,为求太阴距地之用。
运用公式(2),代入第三段第4步中求出的“太阴实引”α=200°37′18.14″,求得“太阴实均”为1°48′14.36″。
“太阴距地心之边”就是把公式(2)的分子平方和分母平方相加之后的和开平方,再乘以一千万的结果。即:9733405.56。
3、求实距弧
太阳、太阴两实均同为加或同为减者,则相减,得实距弧。一为加一为减者,则相加,得实距弧。
由于太阳、太阴实均都是正数,所以本例中的“实距弧”为2°01′15.89″ -1°48′14.36″ =0°13′1.53″。
4、求实距时
以一小时月距日平行一千八百二十八秒六一二一一○八为一率,三千六百秒为二率,实距弧化秒为三率,求得四率,为秒。以时、分收之,得实距时。定加减之法与距时同。
本例中的“实距时”为
由于上面求得太阳、太阴实均都是正数,且太阳实均绝对值更大,本例中的所以“实距时”为正数。
5、求实望
置平望加减实距时,得实望。加满二十四时,则实望进一日。不足减者,借一日。作二十四时,则实望退一日。
在准备工作的第14步已经求出1949年的第四个“平望”时刻为1949年4月13日11:53:40。
加上“实距时”25m39s,得出1949年的第四个“实望”时刻为1949年4月13日12:19:19。
这是的北京古观象台的地方平太阳时。按照现代天文算法回推,1949年4月13日的“实望”时刻是11:51:55(折算为北京古观象台平太阳时)。
第五段:推实交周
推实交周,为月食第五段。盖实望与食甚尚有微差,而距纬与距交亦有进退,故又求实望时太阴距正交之实行度,然后时刻之早、晚,距纬之远、近,食分之浅、深,皆可次第推也。
这一段的目的就是求出1949年第四个“实望”时,月亮离开升交点的距离。
1、求交周距弧
以三千六百秒为一率,一小时太阴交周一千九百八十四秒四○二五四九为二率,实距时化秒为三率,求得四率,为秒。以度、分收之,得交周距弧。实距时为加者,亦为加。实距时为减者,亦为减。
交周距弧者,平望距实望太阴交周之行度也。盖平望与实望既有距时,则此相距之时、分内,太阴又有距交行。故又以实距时,求交周距弧也。
本例的“交周距弧”为:
“交周距弧”的意思就是“平望”和“实望”中间这段时间里面,月亮离开升交点的距离差。
2、求实望平交周
置平望太阴交周,加减交周距弧,得实望平交周。
实望平交周者,实望时太阴本轮心距正交之平行度也。平望太阴交周,为平望时太阴本轮心距正交之度。加减交周距弧,即为实望时太阴本轮心距正交之度。因其为本轮心行,故仍名之曰平也。
在准备工作的第14步中已经求出1949年的第四个“平望”太阴交周为175°17′16.62″。加上14′8.34″的“交周距弧”,得出1949年的第四个“实望”时的太阴平交周为175°31′25″。
3、求实望实交周
置实望平交周,加减太阴实均,得实望实交周。自初宫初度至初宫一十二度一十六分五十五秒,自五宫一十七度四十三分零五秒至六宫一十二度一十六分五十五秒,自十一宫一十七度四十三分零五秒至十一宫三十度,皆入食限,为有食。不入此限者,不食,即不必算。
实望实交周者,实望时太阴距正交之实行度也。实望平交周为太阴本轮心距正交之度,而太阴实行又有加减之差,故加减太阴实均,为实交周也。其入限宫、度,乃太阴距交必食之限。
在第四段第2步中求得1949年的第四个“实望”时的太阴实均为1°48′14.36″。
故:1949年的第四个“实望”时,太阴实交周为175°31′25″ +1°48′14.36″ =177°19′39.36″。
如果某个“实望”时的太阴实交周在如下范围内,则会发生月食:0°~12°16′55″、167°43′5″~192°16′55″、347°43′5″~360°。
177°19′39.36″在上述范围内,所以这个“实望”会发生月食。
第六段:推太阳实经
推太阳实经,为月食第六段。盖月食之时、刻由于太阳。而太阳之时刻定于赤道,故求太阳实经,所以为求时差之用也。
这一段的目的是求出1949年的第四个“实望”时,太阳的黄道坐标、赤道坐标。
1、求太阳距弧
以三千六百秒为一率,一小时太阳平行一百四十七秒八四七一○四九为二率,实距时化秒为三率,求得四率,为秒。以度、分收之,得太阳距弧。实距时为加者,亦为加。实距时为减者,亦为减。
太阳距弧者,平望距实望太阳本轮心之行度也,与交周距弧之理同。
第四段第4步已经求出1949年第四个“平望”和“实望”之间的“实距时”为25m39s。
则:本例中的“太阳距弧”为
即在“实距时”内太阳平黄经变化的度数。
2、求实望太阳平行
置平望太阳平行,加减太阳距弧,得实望太阳平行。与实望平交周之理同。
第一段第2步求出“平望太阳平行”为21°2′33.29″,加上“太阳距弧”,得出“实望太阳平行”。
即:21°2′33.29″ +0°1′3.20″=21°3′53.49″。
3、求太阳黄道经度
置实望太阳平行,加减太阳实均,得太阳黄道经度。与实望实交周之理同。
第四段第1步求出“太阳实均”为2°1′15.89″。和“实望太阳平行”相加,得出1949年第四个“实望”时的太阳真黄经为23°5′9.38″。
4、求太阳赤道经度
以半径一千万为一率,黄赤大距二十三度二十九分三十秒之馀弦为二率,太阳距春秋分黄道经度之正切线为三率(太阳黄道经度不及三宫者,与三宫相减。过三宫者,减三宫。过六宫者,与九宫相减。过九宫者,减九宫,得太阳距春秋分黄道经度),求得四率,为赤道经度之正切线。检表,得太阳距春秋分赤道经度。以冬至起初宫命之,得太阳赤道经度。
运用黄道、赤道坐标系统转换公式:
代入ε=23°29′30″,太阳黄经λ=23°5′9.38″,得出太阳赤经φ=21°21′5.12″。
即:1949年的第四个“实望”时,太阳位于黄经23°5′9.38″,即赤经21°21′5.12″(1h25m24.34s)。
第七段:推实望用时
推实望用时,为月食第七段。盖实望固为日、月相对之时刻,而验诸实测,犹有微差,因有时差也。故加减二时差之总,为实望用时。
这一段的目的是求出1949年的第四个“实望”时的北京古观象台真太阳时。
1、求均数时差
以太阳实均变时,得均数时差。一度变为四分,十五分变为一分,十五秒变为一秒。实均为加者,则为减。实均为减者,则为加。
本例中的“均数时差”为
注意“均数时差”的正负号和均数相反。
2、求升度时差
以太阳黄道经度与太阳赤道经度相减,馀数变时,得升度时差。二分后为加,二至后为减。
本例中的“升度时差”为
3、求时差总
均数时差与升度时差同为加者,则相加为时差总,仍为加。同为减者,亦相加为时差总,仍为减。一为加一为减者,则相减为时差总。加数大为加,减数大为减。其加减为时差总者,合两次加减为一次加减也。
本例中的“时差总”为6m56s -8m5s = -1m9s。
4、求实望用时
置实望加减时差总,得实望用时。距日出后、日入前九刻以内者,可以见食。九刻以外者,则全在昼,即不必算分。
昼夜之法,以一小时月距日实行二十七分四十三秒为一率,六十分为二率,最大月半径与最大影半径相并得一度零三分三十九秒为三率,求得四率一百三十八分,收作九刻。实望在日出后九刻以内,日出前可见初亏。实望在日入前九刻以内,日入后可见复圆。若九刻以外,虽食分最大时刻最久,亦不见食矣,故不必算。
第四段第5步求出1949年的第四个“实望”时刻为1949年4月13日12:19:19(北京古观象台平太阳时)。加上上一步求出的“时差总”,得出1949年的第四个“实望”的“用时”(北京古观象台真太阳时)为1949年4月13日12:18:10。
第八段:推食甚距纬、食甚时刻
推食甚距纬、食甚时刻,为月食第八段。盖实望用时,固日、月相对之时刻矣。然太阴与地影斜距犹远,故求其白道纬度为距纬,以辨相掩之浅、深。求其白道经差,为交周升度差,以定距时之早晚,然后加减实望用时,为食甚时刻也。
这一段的目的是求出1949年第四个“实望”时,发生月食食甚的具体时点。
1、求食甚距纬
以半径一千万为一率,黄白大距四度五十八分三十秒之正弦为二率,实望实交周之正弦为三率,求得四率,为食甚距纬之正弦。检表,得食甚距纬。实交周初宫至五宫为北,六宫至十一宫为南。
食甚距纬者,食甚时太阴距地影心之白道纬度也。月离求纬度,乃黄道之纬度,与黄道成直角。此所求之距纬,乃白道之纬度,与白道成直角。夫求白道纬度,应以黄道立算。今用实望实交周者,盖交食推朔望,以白道当黄道。太阴白道经度与太阳黄道经度相同为朔,相对为望。与月离用黄道经度推朔望者不同,故实望时地影心距交之黄道经度,与太阴距交之白道经度等,用白道即用黄道也。至于南北,则以黄道为主。实交周初宫至五宫为正交后,入阴历,在黄道北。六宫至十一宫为中交后,入阳历,在黄道南。月食方位所由定也。
这一步要求出1949年第四个“实望”时,月亮的黄纬度数δ。
第五段第3步求出1949年第四个“实望”时的“实交周”为177°19′39.36″,记作η。
再取黄白交角i=4°58′30″,代入公式
求出δ=0°13′53.99″。
2、求食甚交周
以半径一千万为一率,黄白大距四度五十八分三十秒之馀弦为二率,实望实交周之正切线为三率,求得四率,为食甚交周之正切线。检表,得食甚交周。
食甚交周者,食甚时太阴距正交之白道经度也。盖实交周为实望时,太阴距正交之白道经度与地影心距正交之黄道经度等,故用实望实交周为地影心距交之黄道度,求其相当之白道度,为食甚时太阴距交之白道经度也。
这一步求出月食食甚时,月亮离开升交点的角度,记作η1。
取η=177°19′39.36″,i=4°58′30″,代入公式
求出η1=177°20′15.85″。
3、求交周升度差
以食甚交周与实望实交周相减,得交周升度差。
交周升度差者,食甚时太阴交周与实望时太阴交周之差也。故相减得交周升度差。
本例中的“交周升度差”为177°20′15.85″ -177°19′39.36″ =0°0′36.49″。
4、求月距日实行
以一小时太阴引数与太阴实引相加,依月离求初均数法算之,为后均数,与太阴实均相加减。实均与后均同为加或同为减者,则相减。一为加一为减者,则相加,得数与一小时月距日平行一千八百二十八秒六一二一一○八相加减。实均与后均同为加者,后均加数大,则加。后均加数小,则减。同为减者,后均减数大,则减。后均减数小,则加。一为加一为减者,后均加则加,后均减则减,得月距日实行。
月距日实行者,一小时月距日之实行度也。盖初亏在食甚前,复圆在食甚后,其均数皆以渐而差,故设食甚后一小时之引数,求其均数,与实均相较,以得食甚后一小时月距日之实行。则食甚前一小时之实行视此矣。以此一小时月距日之实行与一小时为比例,然后各相距之时、刻,可以得其真也。
这一步求的是食甚之后的一个小时内,太阳和月亮的位置差值实际变化率。
第三段第4步中求得“太阴实引”为200°37′18.14″,加上“一小时太阴引数”32′39.7476542″,结果为201°9′57.89″。把这个数字代入公式(2),得出“后均数”为1°50′57.25″。
第四段第2步求得“太阴实均”为1°48′14.36″,和“后均数”都是正数,故把这两个数字相减,得到0°2′42.89″。
又由于“后均数”的绝对值大于“太阴实均”,所以在“一小时月距日平行”,即0°30′28.6121108″的基础上加上0°2′42.89″,得到0°33′11.50″,就是“月距日实行”了。
5、求食甚距时
以月距日实行化秒为一率,三千六百秒为二率,交周升度差化秒为三率,求得四率,为秒。以分收之,得食甚距时。实望实交周五宫、十一宫为加,初宫、六宫为减。
食甚距时者,食甚与实望用时相距之时、分也。盖食甚时,太阴距交之白道度与实望时太阴距交之白道度既有微差,则食甚之时、分与实望用时之时、分亦有微差。故以一小时月距日实行与一小时之比,同于交周升度差与食甚距时之比也。
定加减之法:实望实交周五宫、十一宫在交前,黄道度少,白道度多,故加。初宫、六宫在交后,黄道度多,白道度少,故减。
这一步求出食甚和实望之间的时间间隔。即:
第五段第3步求出1949年第四个“实望”时的“实交周”为177°19′39.36″,还没有到降交点,故实望在前、食甚在后。
6、求食甚时刻
置实望用时加减食甚距时,得食甚时刻。自初时起子正,一时为丑初,以次顺数至二十三时为夜子初。每十五分收为一刻,不足一刻者为零分。
第七段第4步求出“实望用时”为1949年4月13日12:18:10,加上“食甚距时”1m6s,得出食甚时刻为1949年4月13日12:19:16(北京古观象台真太阳时)。
第九段:推食分
推食分,为月食第九段。盖食分之多、寡,由于相掩之浅、深。相掩之浅、深,由于视径之大、小。视径之大、小,又由于距地之远、近。故先求得距地数,以得视径,及相掩之分数。然后比例而得食分也。
1、求太阳距地
以太阳最高距地一千零一十七万九千二百零八为一率,地半径比例数一十一万六千二百为二率,太阳距地心之边为三率,求得四率,即太阳距地。
太阳距地者,月食时太阳距地心与地半径之比例数也。
这一步求的是月食时,日地(心)距离和地球半径的比值。
第四段第1步中求得“太阳距地心之边”为10035452.59,可求出这个比值为1162 ×10035452.59 ÷10179208 =1145.5897倍。
2、求太阴距地
以太阴最高距地一千零一十七万二千五百为一率,地半径比例数五千八百一十六为二率,太阴距地心之边内减次均轮半径一十一万七千五百馀为三率,求得四率,即太阴距地。
太阴距地者,月食时太阴距地心与地半径之比例数也。太阴距地心之边又减次均轮半径者,因望时太阴在次均轮下点,故也。
这一步求的是月食时,月地(心)距离和地球半径的比值。
第四段第2步中求得“太阴距地心之边”为9733405.56,可求出这个比值为58.16 ×(9733405.56-117500) ÷10172500 =54.9777倍。
3、求太阴半径
以太阴距地为一率,太阴实半径二十七为二率,半径一千万为三率,求得四率,为太阴半径之正弦。检表,得太阴半径。
这一步求的是月食时,月亮在天空中的视半径。
即:arctan(0.27÷54.9777) =0°16′52.97″。
4、求地影半径
以太阳光分半径六百三十七内减地半径一百,馀五百三十七为一率。太阳距地为二率,地半径一百为三率,求得四率,为地影之长。
又以地影之长为一率,地半径一百为二率,半径一千万为三率,求得四率,为地影角之正弦。检表,得地影角。
又以半径一千万为一率,地影角之正切线为二率,地影之长内减太阴距地馀为三率,求得四率,为太阴所当地影之阔。
乃以太阴距地为一率,地影之阔为二率,半径一千万为三率,求得四率,为地影半径之正切线。检表,得地影半径。
先求地球本影长度和地球半径的比值:1145.5897 ÷5.37 =213.3314。
接下来求地球本影的半顶角:arcsin(1 ÷213.3314) =0°16′6.88″。
接下来求月亮高度所在的地球本影半径和地球半径的比值:(213.3314-54.9777) ×tan0°16′6.88″ =0.7423
最后求得月亮高度所在的地球本影视半径:arctan(0.7423÷54.9777) =0°46′24.78″。
5、求并径
以太阴半径与地影半径相加,得并径。
本例中的“并径”为0°16′52.97″ +0°46′24.78″ =1°3′17.75″,记作ρ。
6、求食分
以太阴半径倍之为一率,十分为二率,并径内减食甚距纬馀为三率,求得四率,即食分。
第八段第1步中求得“食甚距纬”δ=0°13′53.99″
本例中的“食分”为
运用现代高精度天文算法回推1949年4月13日的月食,其食分约为1.4307。
第十段:推初亏、复圆时刻
推初亏、复圆时刻,为月食第十段。盖初亏时,太阴与地影两周初相切。复圆时,太阴与地影两周初相离。故以两半径相加为两心相距之度,以此斜距之度求其白道度,则得距弧。以距弧比例得距时,与食甚时刻相加减,即得初亏、复圆时刻矣。
1、求初亏、复圆距弧
以食甚距纬之馀弦为一率,并径之馀弦为二率,半径一千万为三率,求得四率,为初亏、复圆距弧之馀弦。检表,得初亏、复圆距弧。
初亏、复圆距弧者,初亏距食甚或食甚距复圆之行度也。与正弧三角形有黄道、有距纬、求赤道之法同。
这一步求的是月亮从初亏到食甚(或者从食甚到复圆)这段时间里在白道上行走的距离,记作γ。
第八段第1步求得“食甚距纬”δ=0°13′53.99″,第九段第5步求得“并径”ρ=1°3′17.75″,则:
,得γ=1°1′45.05″。
2、求初亏、复圆距时
以月距日实行化秒为一率,三千六百秒为二率,初亏、复圆距弧化秒为三率,求得四率,为秒。以时、分收之,得初亏、复圆距时。
这一步求的就是从初亏到食甚(或食甚到复圆)经历的时间长度。
第八段第4步求得“月距日实行”为0°33′11.50″。
于是“初亏、复圆距时”为
3、求初亏时刻
置食甚时刻减初亏、复圆距时,得初亏时刻。不足减者,加二十四时减之,初亏即在前一日。命时之法与食甚同。
第八段第6步求得1949年4月13日的月食的食甚时刻为12:19:16,又求得初亏到食甚间隔了1h51m38s,由此求得初亏的时刻为10:27:38。
4、求复圆时刻
置食甚时刻加初亏、复圆距时,得复圆时刻。加满二十四时,去之,复圆即在次日。命时之法与食甚同。
和上一步同理,求得复圆时刻为14:10:54。
第十一段:推食既、生光时刻
推食既、生光时刻,为月食第十一段。盖食既时,太阴全入影中。生光时,太阴方出影外。故以两半径相减,为两心相距之度。以此斜距之度,求其白道度,则得距弧。以距弧比例,得距时。与食甚时刻相加减,即得食既、生光时刻矣。
这一段就是推算月食的最后一段了。这一段求的是月食的食既和生光两个事件的具体时刻,这两个时刻求完了以后,整个月食的时间表就全都推算完成了。
1、求食既、生光距弧
以食甚距纬之馀弦为一率。地影半径内减太阴半径,馀为径较。检其馀弦,为二率。半径一千万为三率,求得四率,为食既、生光距弧之馀弦。检表,得食既生光距弧。如径较小于距纬,则月食必在十分以内,即无食既、生光。
这一步求的是月亮从食既到食甚(或者从食甚到生光)这段时间里在白道上行走的距离,记作σ。
第八段第1步求得“食甚距纬”δ=0°13′53.99″。
又:第九段第3步求出太阴半径为0°16′52.97″,第4步求得地影半径为0°46′24.78″,故“径较”为0°46′24.78″ -0°16′52.97″ =0°29′31.81″,记作△。
则:
2、求食既、生光距时
以月距日实行化秒为一率,三千六百秒为二率,食既、生光距弧化秒为三率,求得四率,为秒。以时、分收之,得食既、生光距时。
这一步求的就是从食既到食甚(或食甚到生光)经历的时间长度。
第八段第4步求得“月距日实行”为0°33′11.50″。
于是“食既、生光距时”为
3、求食既时刻
置食甚时刻,减食既、生光距时,得食既时刻。不足减者,加二十四时减之,食既即在前一日。命时之法与食甚同。
第八段第6步求得1949年4月13日的月食的食甚时刻为12:19:16,又求得初亏到食甚间隔了47m6s,由此求得初亏的时刻为11:32:10。
4、求生光时刻
置食甚时刻,加食既、生光距时,得生光时刻。加满二十四时,去之,生光即在次日。命时之法与食甚同。
和上一步同理,求得复圆时刻为13:06:22。
到此,我们就顺利求出了1949年4月13日的月食完整时刻表:
初亏:10:27:38,食既:11:32:10,食甚:12:19:16,生光:13:06:22,复圆:14:10:54。以上时间均以北京古观象台的真太阳时计量。
运用现代高精度天文算法回推1949年4月13日的月食时刻表,结果如下(时间也转换回北京古观象台真太阳时):
初亏:10:12:34,食既:11:12:57,食甚:11:55:47,生光:12:38:38,复圆:13:38:59。误差在半个小时左右。
——————————————————————
清朝人如何计算土星位置?
讲完了《历象考成》中的月食算法之后,本来按照惯例应该复现一下《历象考成》下编的第四卷《日食历法》。
但是我发现日食计算实在太复杂了,有些地方我一直弄不明白,所以就先搁置一下。
这一篇就来复现《历象考成》下编的第五卷《土星历法》,即推算某给定时刻的土星黄道坐标。
《历象考成》下编的十卷里面,第一卷介绍日躔算法,第二卷介绍月离算法,第三卷讲月食,第四卷讲日食。第五至九卷讲五大行星的运动计算,最后一个第十卷讲恒星运动。
一、《历象考成》中构建的土星运动模型
《历象考成》中构建的五大行星运动模型大致都差不多,都由本天、本轮、均轮、次轮这四条圆轨道构成。
五大行星的运动模型之间主要的区别,就在于不同行星的本轮运动角速度不一样、以及本轮、均轮、次轮的半径不一样。和月亮运动模型不一样,五大行星的次轮半径普遍比本轮、均轮都要大不少。
下面开始介绍土星运动模型。
(1)土星轨道系统
1、本天:以地球为中心,半径为一千万的圆轨道,与黄道平面有2°31′的夹角。七政(日月火水木金土)中的每一个天体的“本天”半径都是这个数字。
2、本轮:半径为865587,和本天平行,圆心在本天上逆时针匀速运动的圆轨道。其圆心运行的角速度为每天0°2′0.6022551″。本轮圆心在本天上运行完一圈的时间约为10764.068天,即29.4218年左右。
3、均轮:半径为296413,和本天、本轮平行,圆心在本轮上顺时针匀速运动的圆轨道。其圆心运行的角速度为每天0°2′0.3826748″。
4、次轮:半径为1042600,和黄道面平行,圆心在均轮上逆时针匀速运动的圆轨道。其圆心运行的角速度为均轮圆心角速度的2倍,即每天运行0°4′0.7637068″。
土星本身在次轮上逆时针匀速运行,角速度为每天0°57′7.7282618″。
(2)土星的平行、实行、初均数、二均数
和太阳、月亮一样,在同一个时刻,土星也有两个位置,即“平行”和“实行”。二者之间的差值叫“均数”,分为“初均数”和“二均数”两部分。
下图中显示了某时刻T的本轮、均轮、次轮,以及地球和土星本身的相对位置关系:
图中,E为地球,B为本轮圆心,也就是时刻T的“土星平行”。连接EB并且延长,交圆B(本轮)于G。在时刻T,均轮圆心从G点开始顺时针运行到点J。则∠EBJ的角度为时刻T的“土星引数”,记作α,取值范围为[0°,360°]。
连接BJ,交圆J(均轮)于A。次轮圆心从点A开始,逆时针运行到点C,则:∠AJC=2α。
连接EC并延长,交圆C(次轮)于Y。土星本身从点Y开始逆时针运行。如果土星本身就在Y点,则意味着土星与太阳合伏,就是土星和太阳的黄经值相同。
在时刻T,土星运行到点S,则S为时刻T的“土星实行”。∠YCS为时刻T的“太阳-地球-土星”连线的夹角,记作β。
则:∠BEC为时刻T的“土星初均数”,记作c1。其计算公式如下:
计算出某时刻的土星平行、初均数、二均数之后,就可以知道这个时刻土星在“本天”上的“实行”了。
即:平行+初均数+二均数=实行。
(3)土星的初纬、视纬
在同一个时刻,土星的黄纬也有“初纬”和“视纬”两种,如下图所示。
在时刻T,地球位于E点,土星的次轮圆心在C点,土星实际位置在S点。EH为黄道平面上的一条线,且CS∥EH。
则:土星在时刻T的“初纬”为∠CEH,“视纬”为∠SEH。
计算某时刻土星纬度的时候,先通过前置计算求出CE和SE两条线段的长度,以及∠CEH的大小。过C作C'⊥EH于C',过S作S'⊥EH于S'。则:由于CS∥EH,则CC'=SS'=CE ×sin∠CEH。
在三角形ESS'中,由SS'=CC'=CE ×sin∠CEH =SE ×∠SEH,可求出sin∠SEH的值,进而求出∠SEH的大小,即土星的实际黄纬。
二、推土星用数
为行文方便,本文用“土经”一词度量土星在其轨道上的位置,定义“土经”270°=黄经270°。
如无特殊说明,本文中所用的时间系统均为北京古观象台的平太阳时。
1、历元:康熙二十三年(甲子)天正冬至,即公元1683年12月21日。
2、回归年长度;365.2421875天。
3、土星每日平行:0°2′0.6022551″。
4、土星远地点每日平行:0°0′0.2195803″。
5、土星升交点每日平行:0°0′0.1146728″。
6、土星轨道平面和黄道夹角:2°31′。
7、气应:7.656374926天,即1683年12月14日(甲子日)半夜0点到1683年12月21日下午15:45:11(1683年平冬至时刻)的时间间隔。
8、土星平行应:143°19′44.917″,即1683年12月22日半夜0点的“平土经”。
9、土星最高应:268°26′6.083″,即1683年12月22日半夜0点的土星远地点“平土经”。
10、土星正交应:111°20′57.4″,即1683年12月22日半夜0点的土星升交点(土星和黄道的交点)“平土经”。
三、推土星法
这一套算法的目的是求出指定日期半夜0点的土星黄道坐标,一共26个步骤。下文以1978年12月18日为例,来计算土星位置。
行星运动算法虽然比太阳运动算法复杂,但是比日月食算法都简单太多了。
第一步:求积年
自历元康熙二十三年甲子,距所求之年,共若干年。减一年,得积年。
本例中的“积年”为1977-1683=294年。
第二步:求中积分
以积年与周岁三百六十五日二四二一八七五相乘,得中积分。
本例中的“中积分”为294 ×365.2421875 =107381.203125天。
第三步:求通积分
置中积分加气应七日六五六三七四九二六,得通积分。上考往古,则置中积分减气应,得通积分。
本例中的“通积分”为107381.203125 +7.656374926 =107388.859499926天。
第四步:求天正冬至
置通积分,其日满纪法六十去之,馀为天正冬至日、分。上考往古,则以所馀转与纪法六十相减,馀为天至冬至日、分。
把107388.859499926多次减去60的整倍数,余下48.859499926。即可推出1977年的平冬至为壬子日,即1977年12月21日。
第五步:求积日
置中积分,加气应分六五六三七四九二六(不用日),减本年天正冬至分(亦不用日),得积日。上考往古,则置中积分减气应分,加本年天正冬至分,得积日。
本例中的“积日”为107381.203125 +0.656374926 -0.859499926 =107381天,即1683年12月21日半夜0点到1977年12月21日半夜0点之间的时间间隔,也是1683年12月22日半夜0点到1977年12月22日半夜0点之间的时间间隔。
第六步:求土星年根
以积日与土星每日平行一百二十秒六○二二五五一相乘,满周天一百二十九万六千秒去之,馀为积日土星平行。加土星平行应七宫二十三度一十九分四十四秒五十五微,得土星年根。上考往古,则置土星平行应,减积日土星平行,得土星年根。
这一步求出1977年12月22日半夜0点时的土星“平土经”。
即:107381 ×0°2′0.6022551″ +143°19′44.917″ =140°39′35.673″。
第七步:求最高年根
以积日与土星最高每日平行十分秒之二又一九五八○三相乘,得数为积日最高平行。加土星最高应十一宫二十八度二十六分零六秒零五微,得最高年根。上考往古,则置土星最高应,减积日最高平行,得最高年根。
这一步求出1977年12月22日半夜0点时的土星远地点“平土经”。
即:107381 ×0°0′0.2195803″ +268°26′6.083″ =274°59′4.834″。
第八步:求正交年根
以积日与土星正交每日平行十分秒之一又一四六七二八相乘,得数为积日正交平行。加土星正交应六宫二十一度二十分五十七秒二十四微,得正交年根。上考往古,则置土星正交应,减积日正交平行,得正交年根。
这一步求出1977年12月22日半夜0点时的土星升交点“平土经”。
即:107381 ×0°0′0.1146728″ +111°20′57.4″ =114°46′11.080″。
第九步:求土星日数
以所设日数与土星每日平行一百二十秒六○二二五五一相乘,得数为秒。以度、分收之,得土星日数。
这一步求出1977年12月22日半夜0点到1978年12月18日半夜0点之间,土星本轮圆心在其轨道上运行的距离。
从1977年12月22日半夜0点到1978年12月18日半夜0点之间有361天。
故本例的“土星日数”为362 ×0°2′0.6022551″ =12°5′37.414″。
第十步:求最高日数
以所设日数与土星最高每日平行十分秒之二又一九五八○三相乘,得数为秒。以分收之,得最高日数。
这一步求出1977年12月22日半夜0点到1978年12月18日半夜0点之间,土星远地点在其轨道上运行的距离。
即:361 ×0°0′0.2195803″ =0°1′19.268″。
第十一步:求正交日数
以所设日数与土星正交每日平行十分秒之一又一四六七二八相乘,得正交日数。
这一步求出1977年12月22日半夜0点到1978年12月18日半夜0点之间,土星升交点在其轨道上运行的距离。
即:361 ×0°0′0.1146728″ =0°0′41.397″。
第十二步:求土星平行
以土星年根与土星日数相加,得土星平行。
这一步求出1978年12月18日半夜0点的土星“平土经”。
即:140°39′35.673″ +12°5′37.414″ =152°45′13.087″。
第十三步:求最高平行
以最高年根与最高日数相加,得最高平行。
这一步求出1978年12月18日半夜0点的土星远地点“平土经”。
即:274°59′4.834″ +0°1′19.268″ =275°0′24.102″。
第十四步:求正交平行
以正交年根与正交日数相加,得正交平行。
这一步求出1978年12月18日半夜0点的土星升交点“平土经”。
即:114°46′11.080″ +0°0′41.397″ =114°46′52.477″。
第十五步:求引数
置土星平行减最高平行,得引数。
这一步求出1978年12月18日半夜0点时,土星离开远地点的距离。
即:152°45′13.087″ -275°0′24.102″ =237°44′48.985″。
第十六步:求初均数
均轮心自本轮最高左旋,行引数度。次轮心自均轮最近点右旋,行倍引数度。用两三角形法,求得地心之角,为初均数。引数初宫至五宫为减,六宫至十一宫为加。随求次轮心距地心之边,为求次均数之用。
取α=237°44′48.985″,代入公式(1),求得1978年12月18日半夜0点时的初均数c1为5°47′13.529″。
“次轮心距地心之边”就是公式(2)中的
第十七步:求初实行
置土星平行,加减初均数,得初实行。
本例中的“初实行”为152°45′13.087″ +5°47′13.529″ =158°32′26.616″。
第十八步:求星距日次引
置本日太阳实行减初实行,得星距日次引。月离历法求月距日次引,置初实行减本日太阳实行。此求星距日次引,置本日太阳实行减初实行。盖太阴之行速于太阳,合朔后太阴差而东,故置太阴经度减太阳经度,馀为距日度。星行迟于太阳,合伏后星差而西,故置太阳经度减星经度,馀为距日度也。
运用本系列第一篇中的日躔算法,算出1978年12月18日半夜0点的太阳真黄经为265°36′57.515″。
则:本例中的“星距日次引”为265°36′57.515″ -158°32′26.616″ =107°4′30.899″。
第十九步:求次均数
星自次轮最远点右旋,行距日度。用三角形法,以次轮心距地心线为一边,即求初均数时所得次轮心距地心之边。次轮半径一百零四万二千六百为一边,星距日度为所夹之外角,过半周者与全周相减,用其馀。求得地心对次轮半径之角,为次均数。星距日初宫至五宫为加,六宫至十一宫为减。随求星距地心之边,为求视纬之用。
取β=107°4′30.899″,代入公式(2),得1978年12月18日半夜0点的“次均数”为6°1′36.822″。
“星距地心之边”指的是公式(2)中的分子和分母分别平方,两个平方的结果相加后再开方的结果。
本例中,是0.949225578。
第二十步:求本道实行
置初实行,加减次均数,得本道实行。
这一步求出1978年12月18日半夜0点时的土星实际“土经”。
即:158°32′26.616″ +6°1′36.822″ =164°34′3.438″。
第二十一步:求距交实行
置初实行,减正交平行,得距交实行。距交实行者,次轮心距正交之度。故置初实行减正交平行,得距交实行也。
这一步求出1978年12月18日半夜0点时,土星离开升交点的距离。
即:158°32′26.616″ -114°46′52.477″ =43°45′34.139″。
第二十二步:求升度差
以半径一千万为一率,本道与黄道交角二度三十一分之馀弦为二率,距交实行之正切线为三率,求得四率,为黄道之正切线。检表,得黄道度。与距交实行相减,馀为升度差。距交实行不过象限为减,过象限为加。过二象限为减,过三象限为加。
本步求出1978年12月18日半夜0点时,土星的“土经”和黄经的差值。
先求出当时土星超过升交点的黄经度数,即: arctan(tan43°45′34.139″ ×cos2°31′)=43°43′54.714″。
则:升度差为43°43′54.714″ -43°45′34.139″=-0°1′39.425″。
第二十三步:求黄道实行
置本道实行,加减升度差,得黄道实行。
本步求出1978年12月18日半夜0点的土星黄经度数,即:164°34′3.438″ -0°1′39.425″ =164°32′24.013″。
第二十四步:求初纬
以半径一千万为一率,本道与黄道交角二度三十一分之正弦为二率,距交实行之正弦为三率,求得四率,为初纬之正弦。检表得初纬。
本步求出1978年12月18日半夜0点,土星次轮圆心的黄纬。
即:arcsin(sin2°31′ ×sin43°45′34.139″)=1°44′25.14″。
第二十五步:求星距黄道线
以半径一千万为一率,初纬之正弦为二率,次轮心距地心线为三率,求得四率,即星距黄道线。
本步求出1978年12月18日半夜0点的土星和黄道面距离。
即:sin1°44′25.14″ ×0.974592537 =0.029597971。
第二十六步:求视纬
以星距地心线为一率,即求次均数时所得星距地心之边。星距黄道线为二率,半径一千万为三率,求得四率,为视纬之正弦。检表得视纬。距交实行初宫至五宫为黄道北,六宫至十一宫为黄道南。
本步求出1978年12月18日半夜0点时的土星黄纬。
即:arcsin(0.029597971 ÷0.949225578)=1°47′12.622″
得出结论:1978年12月18日半夜0点时,土星位于黄经164°32′24.013″,黄纬1°47′12.622″。
运用现代天文算法回推:1978年12月18日半夜0点(北京古观象台平太阳时)的土星坐标为黄经163°53′25.36″,黄纬1°47′19.22″。经度误差大约在半度,纬度几乎无误差,已经不错了。
——————————————————————–
清朝人如何计算木星位置?
这一篇则用来复现《历象考成》下编的第六卷《木星历法》,即计算某给定时刻的木星黄道坐标。
一、《历象考成》中构建的木星运动模型
和土星一样,木星的运动轨道也是本天、本轮、均轮、次轮这四条圆轨道。
(1)木星轨道系统
1、本天:以地球为中心,半径为一千万的圆轨道,与黄道平面有1°19′40″的夹角。
2、本轮:半径为705320,和本天平行,圆心在本天上逆时针匀速运动的圆轨道。其圆心运行的角速度为每天0°4′59.2852968″。
本轮圆心在本天上运行完一圈的时间约为4330.3163天,即11.856年左右。这个数字刚好接近12年,所以中国古人曾经运用木星运动的规律来记录年份,12年一个轮回。中国古人也把木星叫“岁星”。
3、均轮:半径为247980,和本天、本轮平行,圆心在本轮上顺时针匀速运动的圆轨道。其圆心运行的角速度为每天0°4′59.1568538″。
4、次轮:半径为1929480,和黄道面平行,圆心在均轮上逆时针匀速运动的圆轨道。其圆心运行的角速度为均轮圆心角速度的2倍,即每天运行0°9′58.3137076″。
土星本身在次轮上逆时针匀速运行,角速度为每天0°54′9.0452201″。
(2)木星的平行、实行、初均数、二均数
和土星一样,在同一个时刻,木星也有“平行”和“实行”两个位置,二者之间的差值叫“均数”,分为“初均数”和“二均数”两部分。
下图中显示了某时刻T的本轮、均轮、次轮,以及地球和木星本身的相对位置关系:
图中,E为地球,B为本轮圆心,也就是时刻T的“木星平行”。连接EB并且延长,交圆B(本轮)于G。在时刻T,均轮圆心从G点开始顺时针运行到点J。则∠EBJ的角度为时刻T的“木星引数”,记作α,取值范围为[0°,360°]。
连接BJ,交圆J(均轮)于A。次轮圆心从点A开始,逆时针运行到点C,则:∠AJC=2α。
连接EC并延长,交圆C(次轮)于Y。木星本身从点Y开始逆时针运行。如果木星位于点Y,就是木星和太阳合伏,即木星和太阳黄经值相同。
在时刻T,木星运行到点M,则M为时刻T的“木星实行”。∠YCM为时刻T的“太阳-地球-木星”连线的夹角,记作β。
则:∠BEC为时刻T的“木星初均数”,记作c1。其计算公式如下:
计算出某时刻的木星平行、初均数、二均数之后,就可以知道这个时刻木星在“本天”上的“实行”了。
即:平行+初均数+二均数=实行。
二、推木星用数
为行文方便,本文用“木经”一词度量木星在其轨道上的位置,定义“木经”270°=黄经270°。
如无特殊说明,本文中所用的时间系统均为北京古观象台的平太阳时。
1、历元:康熙二十三年(甲子)天正冬至,即公元1683年12月21日。
2、回归年长度;365.2421875天。
3、木星每日平行:0°4′59.2852968″。
4、木星远地点每日平行:0°0′0.158433″。
5、木星升交点每日平行:0°0′0.03723557″。
6、木星轨道平面和黄道夹角:1°19′40″。
7、气应:7.656374926天,即1683年12月14日(甲子日)半夜0点到1683年12月21日下午15:45:11(1683年平冬至时刻)的时间间隔。
8、木星平行应:159°13′13.183″,即1683年12月22日半夜0点的“平木经”。
9、木星最高应:189°51′59.45″,即1683年12月22日半夜0点的木星远地点“平木经”。
10、木星正交应:97°21′49.583″,即1683年12月22日半夜0点的木星升交点“平木经”。
三、推木星法
本文以1956年9月15日半夜0点为例,讲解计算本时刻木星黄道坐标的方法。和土星坐标算法基本一样,也是26个步骤。
第一步:求积年
自历元康熙二十三年甲子,距所求之年,共若干年。减一年,得积年。
本例中的“积年”为1955-1683=272年。
第二步:求中积分
以积年与周岁三百六十五日二四二一八七五相乘,得中积分。
本例中的“中积分”为272 ×365.2421875 =99345.875天。
第三步:求通积分
置中积分加气应七日六五六三七四九二六,得通积分。上考往古,则置中积分减气应,得通积分。
本例中的“通积分”为99345.875 +7.656374926 =99353.531374926天。
第四步:求天正冬至
置通积分,其日满纪法六十去之,馀为天正冬至日、分。上考往古,则以所馀转与纪法六十相减,馀为天正冬至日、分。
把99353.53137926多次减去60的整倍数,余下53.531374926天。
即:1955年的平冬至日为丁巳日,即1955年12月22日。具体时刻为12:45:11。
第五步:求积日
置中积分,加气应分六五六三七四九二六(不用日),减本年天正冬至分(亦不用日),得积日。上考往古,则置中积分减气应分,加本年天正冬至分,得积日。
本例中的“积日”为99345.875 +0.656374926 -0.531374926 =99346天,即1683年12月22日半夜0点到1955年12月23日半夜0点之间的时间间隔。
第六步:求木星年根
以积日与木星每日平行二百九十九秒二八五二九六八相乘,满周天一百二十九万六千秒去之,馀为积日木星平行。加木星平行应八宫零九度一十三分一十三秒一十一微,得木星年根。上考往古,则置木星平行应减积日木星平行,得木星年根。
这一步求出1955年12月23日半夜0点的木星“平木经”。
即:99346 ×0°4′59.2852968″ +159°13′13.183″ =138°19′50.279″。
第七步:求最高年根
以积日与木星最高每日平行十分秒之一又五八四三三相乘,得数为积日最高平行。加木星最高应九宫零九度五十一分五十九秒二十七微,得最高年根。上考往古,则置木星最高应减积日最高平行,得最高年根。
这一步求出1955年12月23日半夜0点的木星远地点“平木经”。
即:99346 ×0°0′0.158433″ +189°51′59.45″ =194°14′19.135″。
第八步:求正交年根
以积日与木星正交每日平行百分秒之三又七二三五五七相乘,得数为积日正交平行。加木星正交应六宫零七度二十一分四十九秒三十五微,得正交年根。上考往古,则置木星正交应减积日正交平行,得正交年根。
这一步求出1955年12月23日半夜0点的木星升交点“平木经”。
即:99346 ×0°0′0.03723557″ +97°21′49.583″ =98°23′28.788″。
第九步:求木星日数
以所设日数与木星每日平行二百九十九秒二八五二九六八相乘,得数为秒。以宫、度、分收之,得木星日数。
这一步求出1955年12月23日半夜0点到1956年9月15日半夜0点之间,木星本轮圆心在其轨道上运行的距离。
从1955年12月23日半夜0点到1956年9月15日半夜0点之间有267天。
故本例的“木星日数”为267 ×0°4′59.2852968″ =22°11′49.174″。
第十步:求最高日数
以所设日数与木星最高每日平行十分之一又五八四三三相乘,得最高日数。
这一步求出1955年12月23日半夜0点到1956年9月15日半夜0点之间,木星远地点在其轨道上运行的距离。
即:267 ×0°0′0.158433″ =0°0′42.302″。
第十一步:求正交日数
以所设日数与木星正交每日平行百分秒之三又七二三五五七相乘,得正交日数。
这一步求出1955年12月23日半夜0点到1956年9月15日半夜0点之间,木星升交点在其轨道上运行的距离。
即:267 ×0°0′0.03723557″ =0°0′9.942″。
第十二步:求木星平行
以木星年根与木星日数相加,得木星平行。
这一步求出1956年9月15日半夜0点的木星“平木经”。
即:138°19′50.279″ +22°11′49.174″ =160°31′39.453″。
第十三步:求最高平行
以最高年根与最高日数相加,得最高平行。
这一步求出1956年9月15日半夜0点的木星远地点“平木经”。
即:194°14′19.135″ +0°0′42.302″ =194°15′1.437″。
第十四步:求正交平行
以正交年根与正交日数相加,得正交平行。
这一步求出1956年9月15日半夜0点的木星升交点“平木经”。
即:98°23′28.788″ +0°0′9.942″ =98°23′38.73″。
第十五步:求引数
置木星平行减最高平行,得引数。
这一步求出1956年9月15日半夜0点,木星离开远地点的距离。
即:160°31′39.453″ -194°15′1.437″ =326°16′38.016″。
第十六步:求初均数
均轮心自本轮最高左旋,行引数度。次轮心自均轮最近点右旋,行倍引数度。用两三角形法,求得地心之角为初均数。引数初宫至五宫为减,六宫至十一宫为加。随求次轮心距地心之边,为求次均数之用。
取α=326°16′38.016″,代入公式(1),求得1956年9月15日半夜0点的“初均数”为2°55′7.401″。
“次轮心距地心之边”就是公式(2)中的
第十七步:求初实行
置木星平行,加减初均数,得初实行。
本例中的“初实行”为160°31′39.453″ +2°55′7.401″ =163°26′46.854″。
第十八步:求星距日次引
置本日太阳实行,减初实行,得星距日次引。
运用本系列第一篇中的日躔算法,算出1956年9月15日半夜0点的太阳真黄经为171°41′24.735″。
则本例中的“星距日次引”为171°41′24.735″ -163°26′46.854″ =8°14′37.881″。
第十九步:求次均数
星自次轮最远点右旋,行距日度。用三角形法,以次轮心距地心线为一边(即求初均数时所得次轮心距地心之边),次轮半径一百九十二万九千四百八十为一边,星距日度为所夹之外角。过半周者,与全周相减,用其馀。求得地心对次轮半径之角,为次均数。星距日初宫至五宫为加,六宫至十一宫为减。随求星距地心之边,为求视纬之用。
取β=8°14′37.881″,代入公式(2),得1956年9月15日半夜0点的“次均数”为1°17′17.404″。
“星距地心之边”指的是公式(2)中的分子和分母分别平方,两个平方的结果相加后再开方的结果。
本例中,是1.230652066。
第二十步:求本道实行
置初实行加减次均数,得本道实行。
这一步求出1956年9月15日半夜0点时的木星实际“木经”。
即:163°26′46.854″ +1°17′17.404″ =164°44′4.258″。
第二十一步:求距交实行
置初实行减正交平行,得距交实行。
这一步求出1956年9月15日半夜0点时,木星离开升交点的距离。
即:163°26′46.854″ -98°23′38.73″ =65°3′8.124″。
第二十二步:求升度差
以半径一千万为一率,本道与黄道交角一度一十九分四十秒之馀弦为二率,距交实行之正切线为三率,求得四率,为黄道之正切线,检表得黄道度。与距交实行相减,馀为升度差。距交实行不过象限为减,过象限为加。过二象限为减,过三象限为加。
本步求出1956年9月15日半夜0点时,木星的“木经”和黄经的差值。
先求出当时木星超过升交点的黄经度数,即: arctan(tan65°3′8.124″ ×cos1°19′40″)=65°2′5.243″。
则:升度差为65°2′5.243″ -65°3′8.124″=-0°1′2.881″。
第二十三步:求黄道实行
置本道实行加减升度差,得黄道实行。
本步求出1956年9月15日半夜0点的木星黄经。
即:164°44′4.258″ -0°1′2.881″ =164°43′1.377″。
第二十四步:求初纬
以半径一千万为一率,本道与黄道交角一度一十九分四十秒之正弦为二率,距交实行之正弦为三率,求得四率,为初纬之正弦。检表得初纬。
本步求出1956年9月15日半夜0点,木星次轮圆心的黄纬。
即:arcsin(sin1°19′40″ ×sin65°3′8.124″)=1°12′13.923″。
第二十五步:求星距黄道线
以半径一千万为一率,初纬之正弦为二率,次轮心距地心线为三率,求得四率,即星距黄道线。
本例中的“星距黄道线”为1.03938682304805 ×sin1°12′13.923″ =0.021837766。
第二十六步:求视纬
以星距地心线为一率(即求次均数时所得星距地心之边),星距黄道线为二率,半径一千万为三率,求得四率,为视纬之正弦。检表得视纬。距交实行初宫至五宫为黄道北,六宫至十一宫为黄道南。
这一步求出1956年9月15日半夜0点的木星黄纬。
即:arcsin(0.021837766 ÷1.230652066) =1°1′0.335″。
得到结论:1956年9月15日半夜0点时,木星位于黄经164°43′1.377″,黄纬1°1′0.197″。
运用现代天文算法回推1956年9月15日半夜0点(北京古观象台平太阳时)的木星黄道坐标,是:
黄经164°15'6.68″,黄纬0°58'55.39″。经度差半度,纬度基本没差。
——————————————————————-
清朝人如何计算金星位置?
这一篇文章用来复现《历象考成》下编的第八卷《金星历法》,即计算某给定时刻的金星黄道坐标。
一、《历象考成》中构建的金星运动模型
(1)金星轨道系统
虽然金星和水星的轨道系统也是本天、本轮、均轮、次轮四个轨道,但是和土星、木星、火星这三个地外行星的轨道系统有些区别。
地外行星和太阳可以产生“退冲”(即行星和太阳的黄经差值达到180°)。因为金星和水星属于地内行星,所以这两颗行星和太阳的黄经差值最多就在40多度上下,而不会达到180°。
这两颗行星和太阳会有两种“合伏”(行星和太阳的黄经值相同),一个叫“上合”,一个叫“下合”。
下面介绍金星的四个轨道:
1、本天:以地球为圆心,半径为一千万的圆轨道。
2、本轮:半径为231962,圆心在“本天”上逆时针运动的圆轨道。其圆心运行的角速度是每天0°59′8.3305169″,和太阳运行的平均角速度相同。
3、均轮:半径为88852,圆心在本轮上顺时针运动的圆轨道。其圆心运行的角速度是每天0°59′8.1034074″。
4、次轮:半径为7224850,圆心在均轮上逆时针运动的圆轨道。其圆心运行的角速度是均轮的2倍,即每天1°58′16.2068148″。
金星次轮和黄道有3°29′的夹角,所以金星的黄纬也不恒定为0°。金星本身在次轮上逆时针运行,角速度是每天0°36′59.4311886″。
(2)金星的初均数、二均数、平行、实行
下图显示某时刻T的金星轨道相对位置关系。
如图:E为地球,B为时刻T的本轮圆心,即“金星平行”。连接EB交圆B于G。在时刻T,均轮圆心从G开始沿着圆B顺时针运动到C。则:∠GBC为时刻T的“金星引数”,记作α。
连接BC交圆C于T。在时刻T的时候,次轮圆心从T开始逆时针运动到J。则:∠TCJ=2α。连接EJ,则∠JEB为时刻T的“金星初均数”,记作c1。其计算公式为:
过次轮圆心J作JP∥BG,交圆J于P。则:点P称为时刻T的“金星次轮平远”。在时刻T,金星本身从Y点沿着圆J逆时针运动,到V。∠PJV为时刻T的“金星伏见平行”,记作β。
连接EJ并延长,交圆J于Y,Y点叫做时刻T的“金星次轮实远”。如果金星运行到了点Y,就意味着金星和太阳“上合”。∠YJV是时刻T的“金星伏见实行”,其大小等于β-c1。∠JEV为时刻T的“金星次均数”,记作c2。其计算公式为:
二、推金星用数
1、历元:康熙二十三年(甲子)天正冬至,即公元1683年12月21日。
2、回归年长度:365.2421875天。
3、金星本轮圆心每日平行:0°59′8.3305169″,即太阳每日平行。
4、金星远地点每日平行:0°0′0.2271095″。
5、金星在次轮上每日平行:0°36′59.4311886″。
6、金星次轮平面和黄道夹角:3°29′。
7、气应:7.656374926天,即1683年12月14日(甲子日)半夜0点到1683年12月21日下午15:45:11(1683年平冬至时刻)的时间间隔。
8、金星平行应:270°20′19.3″,即1683年12月22日半夜0点的金星平黄经,也就是太阳的平黄经。
9、金星最高应:91°33′31.067″,即1683年12月22日半夜0点的金星远地点平黄经。
10、金星伏见应:18°38′13.1″,即1683年12月22日半夜0点的,金星离开其“平远”位置的角度。
三、推金星法
下面以2006年7月8日半夜0点为例,计算这个时刻的金星黄道坐标。
第一步:求积年
自历元康熙二十三年甲子距所求之年,共若干年。减一年,得积年。
本例中的“积年”为2005 -1683 =322年。
第二步:求中积分
以积年与周岁三百六十五日二四二一八七五相乘,得中积分。
本例中的“中积分”为322 ×365.2421875 =117607.984375天。
第三步:求通积分
置中积分加气应七日六五六三七四九二六,得通积分。上考往古,则置中积分减气应,得通积分。
本例中的“通积分”为117607.984375 +7.656374926 =117615.640749926天。
第四步:求天正冬至
置通积分,其日满纪法六十去之,馀为天正冬至日、分。上考往古,则以所馀转与纪法六十相减,馀为天正冬至日、分。
把117615.640749926多次减去60的整倍数,剩下15.640749926。
从而退出2005年的平冬至日为己卯日,即2005年12月21日。
第五步:求积日
置中积分,加气应分六五六三七四九二六(不用日),减本年天正冬至分(亦不用日),得积日。上考往古,则置中积分减气应分,加本年天正冬至分,得积日。
本例中的“积日”为117607.984375 +0.656374926 -0.640749926 =117608天。
即:1683年12月22日半夜0点到2005年12月22日半夜0点之间的时间间隔。
第六步:求金星年根
以积日与金星每日平行三千五百四十八秒三三○五一六九相乘,满周天一百二十九万六千秒去之,馀为积日金星平行。加金星平行应二十分一十九秒一十八微,得金星年根。上考往古,则置金星平行应,减积日金星平行,得金星年根。
本例中的“金星年根”为117608 ×0°59′8.3305169″ +270°20′19.3″ =270°21′14.743″。
即:2005年12月22日半夜0点,金星的平黄经为270°21′14.743″。
第七步:求最高年根
以积日与金星最高每日平行十分秒之二又二七一○九五相乘,得数为积日最高平行。加金星最高应六宫零一度三十三分三十一秒零四微,得最高年根。上考往古,则置金星最高应,减积日最高平行,得最高年根。
本例中的“最高年根”为117608 ×0°0′0.2271095″ +91°33′31.067″ =98°58′40.961″。
即:2005年12月22日半夜0点时,金星远地点的平黄经为98°58′40.961″。
第八步:求伏见年根
以积日与金星伏见每日平行二千二百一十九秒四三一一八八六相乘,满周天一百二十九万六千秒去之,馀为积日伏见平行。加金星伏见应初宫一十八度三十八分一十三秒零六微,得伏见年根。上考往古,则置金星伏见应,减积日伏见平行,得伏见年根。
本例中的“伏见年根”为117608 ×0°36′59.4311886″ +18°38′13.1″ =164°59′16.329″。
即:2005年12月22日半夜0点时。金星离开其“平远”位置164°59′16.329″。
第九步:求金星日数
以所设日数与金星每日平行三千五百四十八秒三三○五一六九相乘,得数为秒。以宫、度、分收之,得金星日数。
从2005年12月22日半夜0点到2006年7月8日半夜0点之间,一共有198天。
则本例中的“金星日数”为198 ×0°59′8.3305169″ =195°9′29.442″。
即:2005年12月22日半夜0点到2006年6月28日半夜0点之间,金星的平黄经变化了195°9′29.442″。
第十步:求最高日数
以所设日数与金星最高每日平行十分秒之二又二七一○九五相乘,得数为秒。以分收之,得最高日数。
本例中的“最高日数”为198 ×0°0′0.2271095 =0°0′44.968″。
即:2005年12月22日半夜0点到2006年7月8日半夜0点之间,金星的远地点平黄经变化了0°0′44.968″。
第十一步:求伏见日数
以所设日数与金星伏见每日平行二千二百一十九秒四三一一八八六相乘,得数为秒。以宫、度、分收之,得伏见日数。
本例中的“伏见日数”为198 ×0°36′59.4311886″ =122°4′7.375″。
即:2005年12月22日半夜0点到2006年7月8日半夜0点之间,金星自身在其次轮上运动了122°4′7.375″。
第十二步:求金星平行
以金星年根与金星日数相加,得金星平行。
本例中的“金星平行”为270°21′14.743″ +195°9′29.442″ =105°30′44.185″。
即:2006年7月8日半夜0点的金星平黄经为105°30′44.185″。
第十三步:求最高平行
以最高年根与最高日数相加,得最高平行。
本例中的“最高平行”为98°58′40.961″ +0°0′44.968″ =98°59′25.929″。
即:2006年7月8日半夜0点的金星远地点平黄经为98°59′25.929″。
第十四步:求伏见平行
以伏见年根与伏见日数相加,得伏见平行。
本例中的“伏见平行”为164°59′16.329″ +122°4′7.375″ =287°3′23.704″。
即:2006年7月8日半夜0点,金星离开“平远”位置287°3′23.704″。
第十五步:求正交平行
置最高平行,减一十六度,得正交平行。金星正交恒距最高前一十六度,故置最高平行减一十六度,得正交平行也。
本例中的“正交平行”为98°59′25.929″ -16° =82°59′25.929″。
即:2006年7月8日半夜0点,金星的升交点黄经为82°59′25.929″。
第十六步:求引数
置金星平行,减最高平行,得引数。
本例中的“引数”为105°30′44.185″ -98°59′25.929″ =6°31′18.256″。
即:2006年7月8日半夜0点,金星离开远地点6°31′18.256″。
第十七步:求初均数
均轮心自本轮最高左旋,行引数度。次轮心自均轮最近点右旋,行倍引数度。用两三角形法,求得地心之角,为初均数。引数初宫至五宫为减,六宫至十一宫为加。随求次轮心距地心之边,为求次均数之用。
取α=6°31′18.256″,代入公式(1),求得本例中的“初均数”为-0°12′21.05″。
“次轮心距地心之边”就是公式(2)的
第十八步:求初实行
置金星平行,加减初均数,得初实行。
本例中的“初实行”为105°30′44.185″ -0°12′21.05″ =105°18′23.135″。
第十九步:求伏见实行
置伏见平行,加减初均数,得伏见实行。初均为减者,则加。初均为加者,则减。
伏见平行,为星距次轮平远之度。伏见实行为星距次轮最远之度,其相差之较,即初均数,而加减相反。
本例中的“伏见实行”为287°3′23.704″ +0°12′21.05″ =287°15′46.754″。
即:2006年7月8日半夜0点,金星离开其“上合”位置287°15′46.754″。
第二十步:求次均数
星自次轮最远点右旋,行伏见实行度。用三角形法,以次轮心距地心线为一边(即求初均数时所得次轮心距地心之边),次轮半径七百二十二万四千八百五十为一边,伏见实行度为所夹之外角(过半周者与全周相减,用其馀),求得地心对次轮半径之角,为次均数。伏见实行初宫至五宫为加,六宫至十一宫为减。随求星距地心之边,为求视纬之用。
取β=287°3′23.704″,c1=-0°12′21.05″,代入公式(2),得出“次均数”为-29°18′59.363″。
“星距地心之边”为公式(2)的分子、分母分别平方后相加,和再开平方的结果。本例中,是1.409092974。
第二十一步:求黄道实行
置初实行,加减次均数,得黄道实行。金、水二星本道即黄道,故置初实行加减次均数,即黄道实行,无升度差也。
本例中的“黄道实行”为105°18′23.135″ -29°18′59.363″ =75°59′23.772″。
即:2006年7月8日半夜0点的时候,金星的黄经是75°59′23.772″。
第二十二步:求距交实行
置初实行,减正交平行,得距交实行。
本例中的“距交实行”为105°18′23.135″ -82°59′25.929″ =22°18′57.206″。
第二十三步:求距次交实行
以伏见实行与距交实行相加,加满全周去之,用其馀,得距次交实行。
距次交实行者,星距次轮正交之度也。伏见实行为星距次轮最远之度,而次轮最远距次轮正交之度与次轮心距本道正交之度等,故相加,得距次交实行也。
本例中的“距次交实行”为22°18′57.206″ +287°15′46.754″ =309°34′43.96″。
第二十四步:求次纬
以半径一千万为一率,次轮面与黄道交角三度二十九分之正弦为二率,距次交实行之正弦为三率,求得四率,为次纬之正弦。检表得次纬。
本例中的“次纬”为arcsin(sin3°29′ ×sin309°34′43.96″) =-2°41′2.763″。
即:2006年7月8日半夜0点时,金星次轮圆心的黄纬为-2°41′2.763″。
第二十五步:求星距黄道线
以半径一千万为一率,次纬之正弦为二率,次轮半径七百二十二万四千八百五十为三率,求得四率,即星距黄道线。
本例中的“星距黄道线”为sin(-2°41′2.763″) ×0.722485 =-0.033833442。
第二十六步:求视纬
以星距地心线为一率(即求次均数时所得星距地心之边),星距黄道线为二率,半径一千万为三率,求得四率,为视纬之正弦。检表得视纬。距次交实行初宫至五宫为黄道北,六宫至十一宫为黄道南。
本例中的“视纬”为arcsin[(-0.033833442) ÷1.409092974] =-1°22′33.058″。
得出结论:2006年7月8日半夜0点的金星黄道坐标为黄经75°59′23.772″,黄纬-1°22′33.058″。
运用现代天文算法回推:2006年7月8日半夜0点(北京古观象台平太阳时)的金星黄道坐标为黄经76°16′24.80″,黄纬-1°11′55.36″。
————————————————————————
清朝人如何计算太阳位置?(续集)
原来讲过《历象考成》一书中介绍的日躔算法。
有一段时间,清朝钦天监的官员们一直按照《历象考成》中记载的天文算法,来计算七政在天空中的位置。到了乾隆时代,钦天监的官员们发现,运用《历象考成》算法计算的天体位置,和天体的实际运动情况经常对不上号了。尤其是日月食计算,算出来的时刻表经常和实际观测结果对不上号。
于是,钦天监的官员们学习了当时最新的西方天文计算理论,如开普勒行星运动定律、万有引力定律等。他们在乾隆二年重新写了《历象考成后编》这套书。
《历象考成后编》一共有10卷,前三卷是日躔、月离、日月食的理论,中间三卷是日躔、月离、日月食的相关计算方法,最后四卷是数据表。这套书编写完成之后,钦天监的官员们就改用这套书的算法,来计算太阳、月亮的位置,以及日月食的时间表。
《历象考成》用的是第谷的本轮、均轮体系,也就是用一大堆“大圈套小圈”的正圆形轨道来拟合天体运动。《历象考成后编》则抛弃了本轮-均轮体系,改用开普勒行星运动定律(高中物理的必修课本上就教这个,文科的也要学)来预测天体位置。
《历象考成后编》只给出了基于开普勒行星运动定律而确定的太阳、月亮位置的新算法。至于金木水火土五大行星的位置计算方法,仍然沿用《历象考成》中给出的本轮-均轮体系。这是因为,太阳和月亮的位置直接关系到民用的日历编纂(即确定农历月份的大小,以及二十四节气、朔望弦晦月相的日期、时间),而五大行星的运动和民用日历关系不大。
下面介绍《历象考成后编》中的日躔算法。
一、《历象考成后编》中的日躔模型
《历象考成后编》中仍然采用地心说,认为太阳绕地球旋转。但是太阳绕地球旋转的轨道是椭圆形,地球在该椭圆的一个焦点上。且地球和太阳的连线在相等的时间段内扫过相等的面积。说穿了,就是把开普勒第一、第二定律给倒过来使用。
在同一个时刻,太阳在椭圆轨道上有平行、实行两个位置。下图中描绘了时刻T,太阳的平行、实行,以及地球之间的位置关系。
上图中,太阳在深红色的椭圆形轨道上沿逆时针方向运动。地球位于椭圆轨道的焦点E,另一个焦点是E'。太阳在点B时,离地球最近,称点B为“太阳最卑”。同理,太阳在点G时,离地球最远,称点G为“太阳最高”。
在时刻T,太阳的平行在点P,实行在点S。则:P和S的关系满足:椭圆扇形BES的面积,和椭圆扇形E'PB的面积相等。用角度来度量,∠PE'B为时刻T的“太阳平行引数”(数值随时间均匀变化),∠SEB为时刻T的“太阳实行引数”,二者之间的差值叫做“太阳均数”。即:太阳平行引数+太阳均数=太阳实行引数。
“太阳均数”实际上等于现在的天文学教材中讲的“中心差”(Equation of center)。
精确地求“太阳均数”需要解开普勒方程,但是开普勒方程根本就不可能有精确的解析解(用函数式表达的解),只能用牛顿迭代法、二分法或级数展开的方法,求无限接近的数值解。
在《历象考成后编》一书中,用“椭圆界角”和“椭圆差角”两个较容易求的角度来近似地拟合“太阳均数”。
二、推日躔用数
1、历元:雍正元年(癸卯)天正平冬至,即公元1722年12月22日。
《历象考成》中用的历元是康熙二十三年(甲子)天正平冬至,即公元1683年12月21日。
所以,人们把运用《历象考成》中的算法算出来的日历数据叫《康熙甲子元历》,把运用《历象考成后编》算法算出来的日历数据叫《雍正癸卯元历》。这两个都是《时宪历》的种类,但是其算法内核完全不一样了。
2、回归年长度均值:365.24233442天。
《历象考成》中用的回归年长度均值是365.2421875天,比《历象考成后编》一年少了12.7秒左右。
3、太阳运动平均角速度:每天0°59′8.3290897″。比《历象考成》中的数据少了每天0.0014272″。
4、“最卑”运动平均角速度:每天0°0′0.172481″。比《历象考成》中的数据多了每天0.005″。
5、太阳椭圆轨道离心率:0.0169。即:太阳椭圆轨道(和地球绕太阳公转的椭圆轨道等价)的焦距和长轴的长度比值。令太阳轨道半长轴长度为1,则半短轴长度为0.9998597184802。
地球绕太阳公转的轨道离心率会慢慢缩小。18世纪测定的离心率是0.0169,但是在21世纪,这个数字已经是0.0167了。
5、气应:32.12254天。即1722年平冬至交节时刻(1722年12月22日凌晨2:56:27)和其上一个甲子日(1722年11月20日)半夜0点之间的时间间隔。
6、宿应:26.12254天。即1722年平冬至交节时刻(1722年12月22日凌晨2:56:27)和其上一个角宿当值的日期(1722年11月26日)半夜0点之间的时间间隔。
7、最卑应:278°7′32.366″,即1722年12月23日半夜0点时,太阳近地点的黄经。
三、推日躔法
《历象考成后编》中的推日躔法和《历象考成》中记载的差不多,都是13步。
下面,以1889年10月31日半夜0点为例,讲解《历象考成后编》中的推日躔法。
第一步:求积年
自雍正元年癸卯距所求之年,共若干年。减一年,得积年。
本例中的“积年”为1888 -1722 =166年。
第二步:求中积分
以积年与岁实三百六十五日二四二三三四四二相乘,得中积分。
本例中的“中积分”为166 ×365.24233442 =60630.22751372天。
第三步:求通积分
置中积分加气应三十二日一二二五四,得通积分。上考往古,则置中积分减气应,得通积分。
本例中的“通积分”为60630.22751372+32.12254 =60662.35005372天。
第四步:求天正冬至
置通积分,其日满纪法六十去之,馀为天正冬至日、分。上考往古,则以所馀转与纪法六十相减,馀为天正冬至日、分。自初日甲子起算,得天正冬至干支。以一千四百四十分通其小馀,得天正冬至时、分、秒。
把60662.35005372多次减去60的整倍数,余下2.35005372天。
即得1888年的平冬至为丙寅日(1888年12月21日),时间为上午8:24:05左右。
第五步:求年根
以周日一万分为一率,太阳每日平行三千五百四十八秒三二九○八九七为二率,以天正冬至分(不用日)与周日一万分相减馀为三率,求得四率,为秒。以分收之,得年根。
本例中的“年根”为(1-0.35005372) ×0°59′8.3290897″ =0°38′26.223″。
即:1888年12月22日半夜0点时,太阳平黄经为270°38′26.223″。
第六步:求纪日
以天正冬至干支加一日,得纪日。
即:1888年平冬至次日(1888年12月22日)为丁卯日。
第七步:求值宿
置中积分,加宿应二十六日一二二五四,为通积宿。其日满宿法二十八去之,外加一日,为值宿日、分。上考往古,则置中积分减宿应,为通积宿。其日满宿法二十八去之,馀数转与宿法二十八相减,外加一日,为值宿日、分。自初日角宿起算,得值宿。
本例中的“通积宿”为60630.22751372 +26.12254 =60656.35005372天。
把这个数字多次减去28的整倍数,余下8.35005372。可知:1888年12月22日是女宿当值。
第八步:求日数
自天正冬至次日距所求本日,共若干日。与太阳每日平行三千五百四十八秒三二九○八九七相乘,得数为秒。以宫、度、分收之,得日数。
从1888年12月22日半夜0点,到1889年10月31日半夜0点,一共313天。
故:本例中的“日数”为313 ×0°59′8.3290897″ =308°30′27.005″。
第九步:求平行
以年根与日数相加,得平行。
本例中的“平行”为270°38′26.223″ +308°30′27.005″ =219°8′53.228″。
即:1889年10月31日半夜0点时,太阳平黄经为219°8′53.228″。
第十步:求最卑平行
以积年与最卑每岁平行六十二秒九九七五相乘,得积年之行。又以日数与最卑每日平行十分秒之一又七二四八相乘,得日数之行。两数相并,与最卑应八度七分三十二秒二十二微相加,得最卑平行。上考往古,则置最卑应减积年之行,加日数之行,得最卑平行。
本例中的“最卑平行”为166 ×0°1′2.9975″ +313 ×0.174281″ +278°7′32.366″ =281°2′43.899″。
第十一步:求引数
置平行减最卑平行,得引数。
本例中的“引数”为219°8′53.228″ -281°2′43.899″ =298°6′9.329″。
第十二步:求均数
以二千万为一边,倍两心差三三八○○○为一边,引数为所夹之角。六宫内引数即为所夹之角,六宫外引数与全周相减,馀为所夹之角。用切线分外角法,求得对倍两心差之角。倍之,为椭圆界角。
又以椭圆小半径九九九八五七一小馀八五为一率,大半径一千万为二率,引数(即前所夹之角)之正切为三率,求得四率,为椭圆之正切,检表得度、分、秒。与引数相减,馀为椭圆差角。
最卑前、后各三宫与椭圆界角相加,最高前、后各三宫与椭圆界角相减。初、一、二宫为最卑后,九、十、十一宫为最卑前。三、四、五宫为最高前,六、七、八宫为最高后,得均数。
引数初宫至五宫为加,六宫至十一宫为减。
“均数”由“椭圆界角”和“椭圆差角”两部分组成。
“切线分外角法”指的是如下的情形:在平面三角形ABC中,已知两条边a,b的长度,以及这两条边的夹角C的大小,求A角和B角的大小。
第十三步:求实行
置平行,加减均数,得实行。
本例中的“实行”为219°8′53.228″ -1°43'6.462″ =217°25′46.766″。
得到结论:1889年10月31日半夜0点时,太阳视黄经为217°25′46.766″。
运用现代高精天文算法回推,1889年10月31日半夜0点(北京古观象台平太阳时)的太阳黄经为217°27'22.01″。
误差只有两个角分。
附录:关于开普勒方程
1、三个近点角
对于满足开普勒行星运动定律运动的恒星-行星系统而言,有平近点角(M)、真近点角(V)、偏近点角(E)三个物理量,来量度行星相对于恒星的位置。
上图中,深红色椭圆形为行星的轨道,被环绕天体T位于椭圆的一个焦点上。P点为椭圆形轨道上距离天体T最近的点,也就是上文中说的“最卑”。深红色椭圆形外面的绿色正圆形,则以椭圆中心O为圆心,半长轴OP为半径所作的假想圆形轨道。
在时刻t,行星在椭圆形轨道上的实际位置为V(即上文所说的“实行”)。则称∠PTV为行星在时刻t的“真近点角”,记作V。
再假设一个理想行星,它和真实的行星一起运动。但是这个理想行星沿着上图中的绿色正圆形轨道匀速运动,在真实的行星距离恒星最近、最远时,真、假两个行星位置重合。
在时刻t,理想行星的位置为M,则称∠POM为行星在时刻t的“平近点角”,记作M。
2、开普勒方程
在计算行星位置的时候,时刻t的平近点角M很好算,只要做个简单的乘法就可以算。但是人们往往需要知道的是真近点角V,那么偏近点角E就是由平近点角M计算真近点角V的中间变量。
也就是:已知行星平近点角M的大小,可以求出偏近点角E的大小。知道了偏近点角E的大小,就可以求出真近点角V的大小了。
由M计算E的公式为: 。其中,M和E都按照弧度制计算,e为行星椭圆轨道的偏心率(焦距/长轴的比值)。至于公式的推导过程,这里就不写了。和老太太的裹脚布一样,又臭又长的,没人看。
这就是著名的“开普勒方程”了。乍一看开普勒方程,好像很简单。但是,由于开普勒方程是超越方程,所以它没有标准的解析解。注意:在这里面,M为已知数,E为未知数。任何人都不可能用含M的函数式来精确地表达出E的值。就算是汤家凤来了,也只能说一句“你有没有发现把我吓死了,我没见过啊”。
人们通常用电脑求开普勒方程的数值解,多用牛顿迭代法、级数展开或者二分法来做。这是因为开普勒方程必定有解,而且只有一个解,多的就没有了。
已经求出E了,那么求出V就方便多了:
这就是运用开普勒方程求解行星真近点角的大致思路。
运用《历象考成后编》中的“椭圆差角+椭圆界角”近似算法计算出来的太阳均数,和运用开普勒方程计算的太阳均数相比,最大的误差不超过0.7个角秒,精确度已经很高了。
———————————————————————–
清朝人如何计算月亮位置?(续集)
这一篇文章用来复原《历象考成后编》中的月亮位置算法,即计算某给定日期半夜0点的月亮黄道坐标。
一、《历象考成后编》中的月亮运动模型
《历象考成后编》中认为,月亮绕地球运转的轨道(白道)也是个椭圆形,地球位于椭圆形的一个焦点上。为行文方便,本文中使用“白经”一词量度月亮在白道上的位置。定义白经270°=黄经270°。
但是,月亮绕地球运转的轨道离心率随时会变。最小的离心率是0.043319,最大的是0.066782。
而且,在同一个时刻,月亮在其轨道上的位置也有“平行”和“实行”两种。在“平行”的基础上需要加“一平均”、“二平均”、“三平均”、“初均”、“二均”、“三均”、“末均”这七个改正数,才能得到其“实行”。这些改正数主要由太阳均数(太阳的“平行”和“实行”的差值)、太阳和月亮离开其远地点的角距离等因素产生。
《历象考成后编》中对于这些改正数的论述,基本上都是从牛顿(当时翻译成“奈端”)的《自然哲学的数学原理》里面翻译出来的。
执行完上述程序之后,得到的“实行”是白经。还需要再求解黄白交角,以及月亮升交点(月球穿过黄道,进入黄道北边)的白经,才能得到月亮的黄经。
二、推月离用数
1、历元:雍正元年(癸卯年)天正冬至,即公元1722年12月22日。
2、太阴平行(月亮白经变化平均速度):每天13°10′35.0234086″。
3、最高平行(月亮远地点白经变化平均速度):每天0°6′41.070226″。
4、正交平行(月亮升交点白经变化平均速度):每天0°3′10.63863″。
5、太阳最大均数:1°56′13″。
6、月亮最大一平均:0°11′50″。
7、最高最大平均:0°19′56″。
8、正交最大平均:0°9′30″。
9、太阳最高立方积:(1.0169)^3 =1.051561656809。
太阳轨道离心率为0.0169,令太阳轨道半长轴为1,则地球和太阳的距离在1±0.0169之间浮动。
10、太阳高卑立方较:(1.0169)^3 -(0.9831)^3 =0.101409653618。
11、太阳在远地点时,月亮最大二平均:0°3′34″。
12、太阳在近地点时,月亮最大二平均:0°3′56″。
13、月亮最大三平均:0°0′47″。
14、月亮轨道离心率变化范围:0.043319至0.066782。
15、太阳在远地点时,月亮最大二均数:0°33′14″。
16、太阳在近地点时,月亮最大二均数:0°37′11″。
17、月亮最大三均数:0°2′25″。
18、太阳、月亮远地点黄经重合时,月亮最大末均数:0°。
19、太阳、月亮远地点黄经差10°时,月亮最大末均数:0°1′1″。
20、太阳、月亮远地点黄经差20°时,月亮最大末均数:0°1′7″。
21、太阳、月亮远地点黄经差30°时,月亮最大末均数:0°1′16″。
22、太阳、月亮远地点黄经差40°时,月亮最大末均数:0°1′22″。
23、太阳、月亮远地点黄经差50°时,月亮最大末均数:0°1′53″。
24、太阳、月亮远地点黄经差60°时,月亮最大末均数:0°2′。
25、太阳、月亮远地点黄经差70°时,月亮最大末均数:0°2′19″。
26、太阳、月亮远地点黄经差80°时,月亮最大末均数:0°2′39″。
27、太阳、月亮远地点黄经差90°时,月亮最大末均数:0°3′。
28、黄白交角变化范围:4°59′35″至5°8′27.5″。
29、最大交角加分:0°27′45″。
30、最大距日加分:0°2′43″。
31、气应:32.12254天。
32、月亮平行应:86°27′48.883″,即1722年12月23日半夜0点时的月亮平白经。
33、最高应:151°15′45.633″,即1722年12月23日半夜0点的月亮远地点白经。
34、正交应:82°57′37.55″,即1722年12月23日半夜0点的月亮升交点白经。
三、推月离法
《历象考成后编》中的推月离法一共有53个步骤。
本文中,仍然以1889年10月31日半夜0点为例,讲解《历象考成后编》中的推月离法。
第一步:求积年
自雍正元年癸卯距所求之年,共若干年。减一年,得积年。
本例中的“积年”为1888 -1722 =166年。
第二步:求中积分
以积年与岁实三百六十五日二四二三三四四二相乘,得中积分。
本例中的“中积分”为166 ×365.24233442 =60630.22751372天。
第三步:求通积分
置中积分,加气应三十二日一二二五四,得通积分。上考往古,则置中积分减气应,得通积分。
本例中的“通积分”为60630.22751372 +32.12254 =60662.35005372天。
第四步:求天正冬至
置通积分,其日满纪法六十去之,馀为天正冬至日、分。上考往古,则以所馀转与纪法六十相减,馀为天正冬至日、分。自初日甲子起算,得天正冬至干支。以一千四百四十分通其小馀,得天正冬至时、分、秒。
把60662.35005372多次减去60的整倍数,余下2.35005372。
可知:1888年的冬至日为丙寅日,即公元1888年12月21日。
第五步:求积日
置中积分加气应分一二二五四(不用日),减本年天正冬至分(亦不用日),得积日。上考往古,则置中积分减气应分,加本年天正冬至分,得积日。
本例中的“积日”为60630.22751372 +0.12254 -0.35005372 =60630天。
第六步:求太阴年根
以积日与太阴每日平行四万七千四百三十五秒○二三四○八六相乘,得数满周天一百二十九万六千秒去之,馀以宫、度、分收之,为积日太阴平行。加太阴平行应五宫二十六度二十七分四十八秒五十三微,得太阴年根。上考往古,则置太阴平行应减积日太阴平行,得太阴年根。
本例中的“太阴年根”为60630 ×13°10′35.0234086″ +86°27′48.883″ =131°18′58.147″。
即:1888年12月22日半夜0点时,月亮平白经为131°18′58.147″。
第七步:求最高年根
以积日与最高每日平行四百零一秒○七○二二六相乘,得数满周天一百二十九万六千秒去之,馀以宫、度、分收之,为积日最高平行。加最高应八宫一度一十五分四十五秒三十八微,得最高年根。上考往古,则置最高应减最高积日平行,得最高年根。
本例中的“最高年根”为60630 ×0°6′41.070226″ +151°15′45.633″ =65°57′13.435″。
即:1888年12月22日半夜0点时,月亮远地点的白经为65°57′13.435″。
第八步:求正交年根
以积日与正交每日平行一百九十秒六三八六三相乘,得数满周天一百二十九万六千秒去之,馀以宫、度、分收之,为积日正交平行。于正交应五宫二十二度五十七分三十七秒三十三微内减之,正交应不足减者,加十二宫减之,得正交年根。上考往古,则置正交应加积日正交平行,得正交年根。加满十二宫去之。
本例中的“正交年根”为82°57′37.55″ -60630 ×0°3′10.63863″ =112°17′17.413″。
即:1888年12月22日半夜0点时,月亮升交点的白经为112°17′17.413″。
第九步:求太阴日数
以所设日数与太阴每日平行四万七千四百三十五秒○二三四○八六相乘,得数为秒。以宫、度、分收之,得太阴日数。
从1888年12月22日半夜0点,到1889年10月31日半夜0点,有313天。
故本例中的“太阴日数”为313 ×13°10′35.0234086″ =164°12′42.327″。
第十步:求最高日数
以所设日数与最高每日平行四百零一秒○七○二二六相乘,得数为秒。以宫、度、分收之,得最高日数。
本例中的“最高日数”为313 ×0°6′41.070226″ =34°52′14.981″。
第十一步:求正交日数
以所设日数与正交每日平行一百九十秒六三八六三相乘,得数为秒。以度、分收之,得正交日数。
本例中的“正交日数”为313 ×0°3′10.63863″ =16°34′29.891″。
第十二步:求太阴平行
以太阴年根与太阴日数相加,满十二宫去之,得太阴平行。
本例中的“太阴平行”为131°18′58.147″ +164°12′42.327″ =295°31′40.471″。
即:1889年10月31日半夜0点时,月亮平白经为295°31′40.471″。
第十三步:求最高平行
以最高年根与最高日数相加,满十二宫去之,得最高平行。
本例中的“最高平行”为65°57′13.435″ +34°52′14.981″ =100°49′28.416″。
即:1889年10月31日半夜0点时,月亮远地点白经为100°49′28.416″。
第十四步:求正交平行
置正交年根减正交日数,不足减者,加十二宫减之,得正交平行。
本例中的“正交平行”为112°17′17.413″ -16°34′29.891″ =95°42′47.522″。
即:1889年10月31日半夜0点时,月亮升交点白经为95°42′47.522″。
第十五步:求一平均
以太阳最大均数一度五十六分一十三秒(化作六千九百七十三秒)为一率,太阴最大一平均一十一分五十秒(化作七百一十秒)为二率,本日太阳均数化秒为三率,求得四率,为秒。以分收之,为太阴一平均。太阳均数加者为减,减者为加。
又以太阳最大均数六千九百七十三秒为一率,最高最大平均一十九分五十六秒(化作一千一百九十六秒)为二率,本日太阳均数化秒为三率,求得四率,为秒。以分收之,为最高平均。太阳均数加者,亦为加。减者亦为减。
又以太阳最大均数六千九百七十三秒为一率,正交最大平均九分三十秒(化作五百七十秒)为二率,本日太阳均数化秒为三率,求得四率,为秒。以分收之,为正交平均。
太阳均数加者为减,减者为加。
按照《历象考成后编》中的日躔算法,算出1889年10月31日半夜0点的太阳均数为-1°43'6.462″。
则:本例中的“太阴一平均”为0°11′50″ ×1°43'6.462″ ÷1°56′13″ =0°10′29.914″,取正号。
“最高平均”为0°19′56″ ×1°43'6.462″ ÷1°56′13″ =0°17′41.094″,取负号。
“正交平均”为0°9′30″ ×1°43'6.462″ ÷1°56′13″ =0°8′25.705″,取正号。
第十六步:求二平行
置太阴平行,加减一平均,得二平行。
二平行者,即子正初刻用时之太阴平行度也。不曰用平行,而曰二平行者,以尚有二、三平均之加减,而后曰用平行也。不加减时差行者,以一平均内已有均数时差,而又止就黄道算,故不用升度时差也。
本例中的“二平行”为295°31′40.471″ +0°10′29.914″ =295°42′10.385″。
即:1889年10月31日半夜0点(北京古观象台真太阳时)时,月亮的平白经为295°42′10.385″。
第十七步:求用最高
置最高平行,加减最高平均,得用最高。
本例中的“用最高”为100°49′28.416″ -0°17′41.904″ =100°31′26.512″。
即:1889年10月31日半夜0点(北京古观象台真太阳时)时,月亮远地点的白经为100°31′26.512″。
第十八步:求用正交
置正交平行,加减正交平均,得用正交。
本例中的“用正交”为95°42′47.522″ +0°8′25.705″ =95°51′13.227″。
即:1889年10月31日半夜0点(北京古观象台真太阳时)时,月亮升交点的白经为95°51′13.227″。
第十九步:求日距月最高
置太阳实行,减用最高,得日距月最高。不及减者,加十二宫减之。
按照《历象考成后编》中的日躔算法,算出1889年10月31日半夜0点的太阳真黄经为217°25′46.766″。
故本例中的“日距月最高”为217°25′46.766″ -100°31′26.512″ =116°54′20.254″。
第二十步:求日距正交
置太阳实行,减用正交,得日距正交。不及减者,加十二宫减之。
本例中的“日距正交”为217°25′46.766″ -95°51′13.227″ =121°34′33.539″。
第二十一步:求日距地心数
以半径一千万为一率,太阳实引(太阳平引加减太阳均数,为太阳实引)之馀弦为二率。凡用度数查八线,度数过一象限者与半周相减。过半周者,减半周。过三象限者,与全周相减,后仿此。倍两心差三三八○○○为三率,求得四率,为分股。
又以半径一千万为一率,太阳实引之正弦为二率,倍两心差三三八○○○为三率,求得四率,为勾。
以分股与全径二千万相加减,实引初、一、二、九、十、十一宫加,三、四、五、六、七、八宫减,得勾、弦和,为首率。勾为中率,求得末率,为勾、弦较。与勾弦和相加,折半为弦。
以弦与全径二千万相减,得日距地心数。
运用《历象考成后编》中的日躔算法,算出1889年10月31日半夜0点的“太阳实引”为296°23′2.867″。
故:本例中的“分股”为cos296°23′2.867″ ×0.0338 =0.015020283。
“勾”为sin296°23′2.867″ ×0.0338 = -0.030279219。
由于296°23′2.867″属于“九宫”,故本例中的“勾、弦和”为2+0.015020283 =2.015020283。
“勾、弦较”为0.030279129^2 ÷2.015020283 =0.000454998。
从而得到“弦”为(2.015020283 +0.000426390)÷2 =1.007376441。
故:本例中的“日距地心数”为2 -1.007376441 =0.992262359。
第二十二步:求立方较
以太阳距地心数,自乘,再乘,得立方积。与太阳最高距地心数一○一六九○○○自乘,再乘之立方积一○五一五六二相减,馀为立方较。立方较表只用四位,今以自乘,再乘之位数为定,则最大立方积用七位足矣。
本例中的“立方较”为(1.0169)^3 -(0.992262359)^3 =0.074595428456。
第二十三步:求二平均
以半径一千万为一率,太阳在最高时之最大二平均三分三十四秒(化作二百一十四秒)为二率,日距月最高倍度之正弦为三率,求得四率,为秒。以分收之,为太阳在最高时、日距月最高之二平均。
又以半径一千万为一率,太阳在最卑时之最大二平均三分五十六秒(化作二百三十六秒)为二率,日距月最高倍度之正弦为三率,求得四率,为秒。以分收之,为太阳在最卑时、日距月最高之二平均。
乃以太阳高卑距地之立方大较一○一四一○为一率,本时之立方较为二率,所得高、卑两二平均相减(馀化秒)为三率,求得四率,为秒。以分收之,与前所得太阳在最高时、日距月最高之二平均相加,为本时之二平均。
日距月最高倍度不及半周为减,过半周为加。
本例中的“太阳在最高时、日距月最高之二平均”为|0°3′34″ ×sin(2 ×116°54′20.254″)| = 0°2′52.714″。
“太阳在最卑时、日距月最高之二平均”为|0°3′56″ ×sin(2 ×116°54′20.254″)| =0°3′10.470″。
故本例中的“二平均”为(0°3′10.470″ -0°2′52.714″) ×0.074595428456 ÷0.101409653618 +0°2′52.714″ =0°3′5.775″。
因为2 ×116°54′20.254″ >180°,故“二平均”为正数。
第二十四步:求三平均
以半径一千万为一率,最大三平均四十七秒为二率,日距正交倍度之正弦为三率,求得四率,为三平均。
日距正交倍度不及半周为减,过半周为加。
本例中的“三平均”为|0°0′47″ ×sin(2 ×121°34′33.539″)| =0°0′41.934″。
因为2 ×121°34′33.539″>180°,故“三平均”为正数。
第二十五步:求用平行
置二平行,加减二平均,再加减三平均,得用平行。
本例中的“用平行”为295°42′10.385″ +0°3′5.775″ +0°0′41.934″ =295°45′58.094″。
第二十六步:求最高实均
以最高本轮半径五五○五○五为一边,最高均轮半径一一七三一五为一边,日距月最高之倍度与半周相减,馀为所夹之角。日距月最高倍度不及半周者,与半周相减。过半周者,减半周。用切线分外角法,求得小角,为最高实均。
日距月最高倍度不及半周为加,过半周为减。
本步中的“夹角”为2 ×116°54′20.254″ -180° =53°48′40.508″。
故:本例中的“最高实均”为
第二十七步:求本天心距地数
以最高实均之正弦为一率,最高均轮半径一一七三一五为二率,日距月最高倍度之正弦为三率,求得四率,为本天心距地数,即本时两心差。
本例中的“本天心距地数”为0.0117315 ×sin(2 ×116°54′20.254″) ÷sin(11°7′50.298″) =0.04904625。
即:1889年10月31日半夜0点时,月亮轨道离心率为0.04904625。
第二十八步:求最高实行
置用最高,加减最高实均,得最高实行。
本例中的“最高实行”为100°31′26.512″ -11°7′50.298″ =89°23′36.214″。
第二十九步:求太阴引数
置用平行,减最高实行,得太阴引数。不及减者加十二宫减之。
本例中的“太阴引数”为295°45′58.094″ -89°23′36.214″ =206°22′21.88″。
第三十步:求初均
以半径一千万为一边,本时两心差为一边(即本天心距地数),太阴引数与半周相减,馀为所夹之角。引数不及半周者,与半周相减。过半周者,则减半周。用切线分外角法,求得对两心差之小角。与前所夹之角相加,复为所夹之角。仍以前二边,用切线分外角法,求得对半径之大角,为平圆引数。
乃以半径一千万(即椭圆大半径)为一率,本天心距地之馀弦(以本天心距地数为正弦对其馀弦,即椭圆小半径)为二率,平圆引数之正切线为三率,求得四率。查正切线,得实引。与太阴引数相减,得初均数。
引数初宫至五宫为减,六宫至十一宫为加。
第三十一步:求初实行
置用平行,加减初均,得初实行。
本例中的“初实行”为295°45′58.094″ +2°38′25.804″ =298°24′23.898″。
第三十二步:求月距日
置初实行,减本日太阳实行,得月距日。不及减者加十二宫减之。
本例中的“月距日”为298°24′23.898″ -217°25′46.766″ =80°58′37.132″。
第三十三步:求二均数
以半径一千万为一率,太阳在最高时之最大二均数三十三分一十四秒(化作一千九百九十四秒)为二率,月距日倍度之正弦为三率,求得四率,为秒。以分收之,为太阳在最高时,月距日之二均数。
又以半径一千万为一率,太阳在最卑时之最大二均数三十七分一十一秒(化作二千二百三十一秒)为二率,月距日倍度之正弦为三率,求得四率,为秒。以分收之,为太阳在最卑时,月距日之二均数。
乃以太阳高卑立方大较一○一四一○为一率,本时之立方较为二率,前所得高、卑两二均数相减,馀化秒为三率,求得四率,为秒。以分收之,与前所得太阳在最高时月距日之二均数相加,得本时之二均数。
月距日倍度不及半周为加,过半周为减。
本步中的“太阳在最高时,月距日之二均数”为0°33′14″ ×sin(2 ×80°58′37.132″) =0°10′17.703″。
“太阳在最卑时,月距日之二均数”为0°37′11″ ×sin(2 ×80°58′37.132″) =0°11′31.122″。
故本例中的“二均数”为(0°11′31.122″ -0°10′17.703″) ×0.074595428456 ÷0.101409653618 +0°10′17.703″ =0°11′11.709″。
因为2 ×80°58′37.132″<180°,故本例中的“二均数”为正数。
第三十四步:求二实行
置初实行,加减二均,得二实行。
本例中的“二实行”为298°24′23.898″ +0°11′11.709″ =298°35′35.607″。
第三十五步:求实月距日
置月距日,加减二均,得实月距日。
第三十步求出“月距日”为80°58′37.132″。
本例中的“实月距日”为80°58′37.132″ +0°11′11.709″ =81°9′48.841″。
第三十六步:求太阳最高
置太阳最卑平行,加减六宫,得太阳最高。
运用《历象考成后编》中的日躔算法,算出1889年10月31日半夜0点的太阳近地点黄经为281°2′43.899″。
故本例中的“太阳最高”为101°2′43.899″,即太阳远地点的黄经。
第三十七步:求日、月最高相距
置太阴最高实行,减太阳最高,得日、月最高相距。不及减者,加十二宫减之。
本例中的“日、月最高相距”为89°23′36.214″ -101°2′43.899″ =348°20′52.315″。
即:1889年10月31日半夜0点时,太阳远地点的黄经和月亮远地点的白经相距348°20′52.315″。
第三十八步:求相距总数
以实月距日与日、月最高相距相加,得相距总数。加满十二宫去之。
本例中的“相距总数”为81°9′48.841″ +348°20′52.315″ =69°30′41.156″。
第三十九步:求三均数
以半径一千万为一率,最大三均二分二十五秒(化作一百四十五秒)为二率,相距总数之正弦为三率,求得四率,为秒。以分收之,为三均数。
总数初宫至五宫为加,六宫至十一宫为减。
本例中的“三均数”为0°2′25″ ×sin(69°30′41.156″) =0°2′15.828″。
第四十步:求三实行
置二实行,加减三均,得三实行。
本例中的“三实行”为298°35′35.607″ +0°2′15.828″ =298°37′51.435″。
第四十一步:求末均数
以半径一千万为一率,两弦最大末均(日、月最高相距一十度为六十一秒,二十度为六十七秒,三十度为七十六秒,四十度为八十八秒,五十度为一百零三秒,六十度为一百二十秒,七十度为一百三十九秒,八十度为一百五十九秒,九十度为一百八十秒。用日、月最高相距度比例,得两弦最大末均)为二率(两弦最大末均以十度为率,日月最高相距有零度者,用中比例法求之。如十度为六十一秒,二十度为六十七秒,十五度则为六十四秒是也),实月距日之正弦为三率,求得四率,为秒。以分收之,为末均数。
实月距日初宫至五宫为减,六宫至十一宫为加。
上一步已求出1889年10月31日半夜0点的“日、月最高相距”为348°20′52.315″。
上文中只给出了“日、月最高相距”在0°至90°时的“两弦最大末均”算法,令“日、月最高相距”为A,与之对应的“两弦最大末均”为f(A)。当A在90°至180°之间时,f(A)=f(180°-A)。当A在180°至270°之间时,f(A)=f(A-180°)。当A在270°至360°之间时,f(A)=F(360°-A)。
本步中的“两弦最大末均”为f(348°20′52.315″)=f(11°39′7.685″) =f(10°)+[f(20°)-f(10°)] ×[(11°39′7.685″-10°)÷(20°-10°)] =0°1′1″ +(0°1′7″-0°1′1″) ×(1°39′7.685″ ÷10°) =0°1′1.991″。
故本步中的“末均数”为0°1′1.991″ ×sin(81°9′48.841″) =0°1′1.225″。
因为81°9′48.841″<180°,故“末均数”为负数。
第四十二步:求白道实行
置三实行,加减末均,得白道实行。
本例中的“白道实行”为298°37′51.435″ -0°1′1.225″ =298°36′50.21″。
即:1889年10月31日半夜0点时,月亮的实际白经为298°36′50.21″。
第四十三步:求正交实均
以正交本轮半径五十七分半为一边,正交均轮半径一分半为一边,日距正交之倍度为所夹之外角。日距正交倍度过半周者,与半周相减,用其馀。
用切线分外角法,以边总五十九为一率,边较五十六为二率,日距正交之正切线为三率(即半外角切线。日距正交过一象限者与半周相减,过半周者减半周,过三象限者与全周相减),求得四率,为正切线。检表,得数与日距正交相减,馀为正交实均。
日距正交倍度不及半周为加,过半周为减。
第二十步求出“日距正交”为121°34′33.539″。
则本例中的“正交实均”为arctan(tan(121°34′33.539″) ×56 ÷59) -121°34′33.539″ =1°20′57.295″。
因为2 ×121°34′33.539″ >180°,故“正交实均”为负数。
第四十四步:求正交实行
置用正交,加减正交实均,得正交实行。
第十八步中求出“用正交”为95°51′13.227″。
本例中的“正交实行”为95°51′13.227″ -1°20′57.295″ =94°30′15.932″。
即:1889年10月31日半夜0点,月亮升交点的实际白经为94°30′15.932″。
第四十五步:求月距正交
置白道实行,减正交实行,得月距正交。不及减者加十二宫减之。
本例中的“月距正交”为298°36′50.21″ -94°30′15.932″ =204°6′34.278″。
即:1899年10月31日半夜0点,月亮已离开其升交点204°6′34.278″。
第四十六步:求交角减分
以半径一千万为一率,日距正交倍度之正矢为二率(凡日距正交倍度过半周者,则与全周相减,馀为距交倍度。凡距交倍度不及九十度,则用正矢,以馀弦与半径相减。过九十度,则用大矢,以馀弦与半径相加),黄白大距半较八分五十二秒半(化作五百三十二秒半)为三率,求得四率,为秒。以分收之,得交角减分。
本例中的“交角减分”为versin(2 ×121°34′33.539″) ×0°8′52.5″ =0°12′52.991″。
第四十七步:求距限
置最大距限五度一十七分二十秒,减交角减分,得距限。
本例中的“距限”为5°17′20″ -0°12′52.991″ =5°4′27.009″。
第四十八步:求距交加差
以半径一千万为一率,日距正交倍度之正矢为二率(同前),最大两弦加分二分四十三秒,折半得八十一秒半为三率,求得四率,为秒。以分收之,得距交加差。
本例中的“距交加差”为versin(2 ×121°34′33.539″) ×0°2′43″ ÷2 =0°1′58.307″。
第四十九步:求距日加分
以半径一千万为一率,实月距日倍度之正矢为二率(同前),距交加差折半化秒为三率,求得四率,为秒。以分收之,得距日加分。
第三十五步求出“实月距日”为81°9′48.841″。
本例中的“距日加分”为versin(2 ×81°9′48.841″) ×0°1′58.307″ ÷2 =0°1′55.516″。
第五十步:求黄白大距
置距限,加距日加分,得黄白大距。
本例中的“黄白大距”为5°4′27.009″ +0°1′55.516″ =5°6′22.525″。
即:1889年10月31日半夜0点,黄道和白道平面夹角为5°6′22.525″。
第五十一步:求黄道纬度
以半径一千万为一率,黄白大距之正弦为二率,月距正交之正弦为三率(月距正交过一象限者与半周相减,过半周者减半周,过三象限者与全周相减),求得四率,为距纬之正弦,检表得黄道纬度。
月距正交初宫至五宫为北,六宫至十一宫为南。
第四十五步求出“月距正交”为204°6′34.278″。
本例中的“黄道纬度”为arcsin[sin(5°6′22.525″) ×sin(204°6′34.278″)] =-2°5′0.65″。
即:1889年10月31日半夜0点时,月亮黄纬为南纬2°5′0.65″。
第五十二步:求升度差
以半径一千万为一率,黄白大距之馀弦为二率,月距正交白道度之正切线为三率,求得四率,为黄道度之正切线。检表,得月距正交之黄道度。与月距正交相减,馀为升度差。
月距正交初、一、二、六、七、八宫为交后,为减。三、四、五、九、十、十一宫为交前,为加。
本例中的“升度差”为arctan[cos(5°6′22.525″) ×tan(204°6′34.278″)] -204°6′34.278″ =-0°5°5.413″。
第五十三步:求黄道实行
置白道实行,加减升度差,得黄道实行。
本例中的“黄道实行”为298°36′50.21″ -0°5°5.413″ =298°31′44.797″。
由此,得到结论:1889年10月31日半夜0点时,月亮的黄道坐标为黄经298°31′44.797″,黄纬2°5′0.65″(南纬)。
运用现代高精天文算法回推,1889年10月31日半夜0点(北京古观象台平太阳时)的月亮黄道坐标为黄经298°36'31.88″,黄纬2°04'32.56″(南纬)。
———————————————————————–
关于《时宪历》以及农历在清朝覆灭以后的使用情况
一、中国传统历法简介
现代中国人用的日历上,对于同一天往往会显示两个日期。一个是全球通行的格里历(公历)日期,另一个是中国传统的农历日期。比如格里历2022年6月13号,就是农历的壬寅年五月十五号。
农历是全球各国、各民族现用的历法中,为数不多的“天文历”,也就是完全依照天象确定年、月、日序数的历法。除了农历以外,印度民间仍然在使用的古印度历法(Hindu Calendar)也是“天文历”。其基本特点大致有这些:
①以月相变化的规律(朔望月)确定月份内的日期。每个新月(即太阳和月亮看起来离得最近的时刻,现代天文学定义为“太阳和月亮运行到黄经度数相同的时刻”)所在的日期为一个月的第一天。也就是说,你看一看当天晚上的月亮是什么样子,你就大概能知道当天是几号。如果你看到的是一弯向右偏的月牙,就差不多是三号或者四号;如果到了晚上,你看到一半月亮高悬于夜空当中,那就是八号或者九号前后。如果看到的正好是个圆月,那就是十五号或者十六号前后了。如果你在早上看到一半月亮在天空高高挂起,就是二十三号或者二十四号了。
因为月相变化一轮的平均周期是29.53059天,所以农历的一个月只可能是29天或30天。有29天的月份叫“小月”,有30天的月份叫“大月”。一般来说,朔望月的长度在同一个回归年内的变化有规律。在北半球冬季的时候,朔望月长度会短一些,一般在29.3~29.4天左右;在北半球夏季的时候,朔望月长度会长一些,一般在29.6~29.7天左右,最长的可以到29.8天。
②以气象物候确定月序。也就是说,你可以通过气象物候变化大致知道现在是几月。比如说,天气一天天变暖和了,河流解冻了,就差不多是正月;再比如,白天特别长,而且气温很高了,就差不多是五月。
③用置闰月的方法调和季节变化和月相变化,使得月份的数字和季节、物候变化大体能对上。一般来说,季节变化一轮的平均周期是365.2422天(即一个回归年),月相变化一轮的平均周期是29.53059天。两个数字做除法的结果,大致是12.37。
但是,农历的月份必须是完整的月相变化周期,每个月的第一天必须出现新月。所以你给一年配12个月的话,一共就是354天左右,离季节变化一轮的周期还差11天。长此以往,如果某一年的新年在冬季,十几年以后,新年就跑到夏季去了。
人们发现,定12个朔望月为一年的话,3年下来,日历上的新年和季节变化就能差33天,差不多是一个月了。所以人们就把第三年多加一个月,把这个差值给补上。这加上的一个月就是“闰月”,所以农历有“平年”、“闰年”的说法。平年有12个朔望月,有354天左右。闰年有13个月,有384天左右。
一般来说,每连续19个农历年里,会有7个闰年。即:回归年长度÷朔望月长度≈12又7/19。换句话说:19个回归年长度和19×12+7=235个朔望月长度大致相等。
中国古人曾经把19个回归年叫做一个“章”,把19叫做“章岁”,把7叫做“章闰”,把19×12+7=235叫做“章月”。古希腊也有所谓的“默冬章”(Metonic Cycle),跟这个差不多。后来,祖冲之更加精确地测定了回归年和朔望月的平均长度,认为回归年长度÷朔望月长度≈12又144/391。即:定“章岁”为391,“章闰”为144,“章月”为391×12+144=4836。
所以,农历是“阴阳历”,不是“阴历”。正经的“阴历”只要保证按照月相确定月份内的日期就好了,至于一年有几个月,完全随意。只要你开心,你定一年有一千个月都没问题。除了农历以外,中国藏族人口使用的藏历、以及以色列人用的希伯来历也属于“阴阳历”。
第二十四届冬季奥运会开幕式上放的二十四节气倒计时小片子里面,把“农历年”翻译成“Lunar Year”,其实不对。正确的翻译应该是“Lunisolar Year”。
农历中,“阴”的部分在于以月相确定月份内的日期。你抬头看看今天晚上的月亮长什么样子,就能知道今天是几号。“阳”的部分在于用二十四节气固定月序,以及安排闰月。你感受一下季节物候,就能知道现在大抵是几月。
现在世界上的主流历法里面,只有中东人常用的伊斯兰历是“阴历”,一年只有354或355天。这是因为中东那边一年到头都高温、干旱,气象物候变化不怎么大,所以他们的历法不太需要能够显示气象物候的变化。再加上伊斯兰教徒对于月亮很崇拜,所以他们就用了纯阴历作为自己用的历法。
现在人们用二十四节气里的十二个“中气”(冬至属于中气,过后,隔一个节气就是一个中气)来判断什么时候置闰月。十二个中气就是固定十二个月份数字的“钉子”,没有“中气”的朔望月就是闰月。比如说,冬至是十一月的“钉子”,雨水是正月的“钉子”,大暑是六月的“钉子”,处暑是七月的“钉子”。这样可以保证月份数字和气象物候变化大致能对上号。也就是说,正月到三月大概是春天,四月到六月大概是夏天,七月到九月大概是秋天,十月到十二月大概是冬天。
二、中国传统历法发展史
其实中国古人讲的“历法”本质是天文算法,也就是用数学方法去预测任意时刻,宇宙中的各个天体的位置的算法体系。打个比方,比利时天文学家Jean Meeus在1990年代出版过《天文算法》(Astronomical Algorithms)一书,这也可以算是一种“历法”。至于“今天是哪一年的几月几号”这个信息,只是用“历法”算出来的结果而已。
中国历史上一共用过很多种历法。目前现存最古老的有完整算法记录的历法是汉朝的天文学家落下闳主编的《太初历》,于公元前104年启用。在《太初历》启用以前,人们也用过《颛顼历》等更古老的历法,但是这些历法的计算方法现在大多失传了。《太初历》以后,中国人也用过《大明历》(南北朝祖冲之主编)、《麟德历》(唐朝李淳风主编)、《统天历》(宋朝杨忠辅主编)、《授时历》(元朝郭守敬主编)、《时宪历》(明末徐光启、清初汤若望等主编)等历法。
一套完整的中国古代历法,一般由七部分算法构成:
1、步气朔:计算二十四节气、朔望弦晦月相的日期、时间,从而排定每一天的农历月序和日期。这是直接关系到民用的部分。
2、步发敛:计算七十二候、六十四卦、五行用事的日期、时间。这个其实是太阳周年运动的补充计算,跟中医里讲的阴阳二气理论有关。日本人有“雑節”(ざっせつ)的说法,就是在二十四节气的基础上,依照太阳的周年运动制定出来的其他日期节点。日本人现在用的日历上仍然会标注除“雑節”的日期。这个也可以算是“发敛”。
3、步日躔:计算某给定时刻的太阳天球坐标。
4、步月离:计算某给定时刻的月亮天球坐标。
5、步晷漏:计算某给定日期的昼夜长短、正午表影长度。中国古人用圭表来测定季节,即在地面上垂直立一根长度已知的棍子作为“表”,在正午(即棍子的影子指正北方)的时候,测定棍子的影子长度。通过影子的长度,可以得知当日正午的太阳高度角,进而得知太阳直射点的纬度。
6、步交食:计算在某指定地点(一般为每个朝代的国都所在地)能够看到日食、月食的日期、时刻表。
7、步五星:计算某给定时刻的金木水火土五大行星天球坐标。
一般来说,一个新的王朝开始了以后,新皇室要办的一件重要的事情,就是重新编订更加精确的新历法。因为任何一套历法所用的天文常数、算法等都会或多或少有些误差。这些误差,在一年、两年内还看不出来,用了几百年以后就能看出来了。比如说,有的时候,你会看到在日历上的某月三十号或者二号发生日食,这就是严重的bug(因为按照农历的定义,日食必须在某个月的一号发生)。
日本历史上长期使用中国唐朝中后期颁行的《宣明历》,用了八百多年,从公元9世纪用到17世纪。到了17世纪,人们发现用《宣明历》的算法算出的天文现象发生的时间,和实际情况有的时候能差两天。于是,日本人受不了了,自己写了一本《贞享历》出来,取代《宣明历》。2012年上映的日本电影《天地明察》描述的就是日本人编纂《贞享历》前后的一些故事。
在二十四史中,大部分史书里都有《历志》或《律历志》的部分,记录每个朝代官方历法的天文算法。《清史稿》里面也有《时宪志》的部分,记录《时宪历》用的天文算法。但是,想要看懂这些史书中收录的算法术文,需要比较深厚的天文学知识以及文言文阅读能力打底。
再厘清一个概念,“农历”这个词其实是东亚地区用过的所有阴阳历的统称。也就是说,《太初历》、《大明历》、《麟德历》、《授时历》、《时宪历》等都是“农历”,其主要特点都是本文第一部分介绍的那一些。日本人自己编纂的《贞享历》、《宝历历》、《宽政历》、《天保历》也算是“农历”。
三、关于《时宪历》
(1)《时宪历》的由来
在明朝末期的崇祯时代,人们发现,明朝皇室用的《大统历》有很多bug。主要的bug在于用《大统历》的算法计算日食、月食的时间表,经常和实际情况对不上。
《大统历》本质上和元朝郭守敬主编的《授时历》没什么区别,除了历元(进行天文计算的基准点)以及少部分算法被改了以外,其他的大部分算法都从元朝开始一直沿用。也就是说,人们实际上用《授时历》的算法一口气用了三百多年,不出bug才怪。
明朝末期,有不少西方的传教士来中国推广基督教,也连带着推广了西方的天文知识体系。明末的中国数学家徐光启和意大利传教士利玛窦(Matteo Ricci)、德国传教士汤若望(Johann Adam Schall von Bel)等人一起,合作编纂了新的历法,命名为《崇祯历书》。徐光启是上海人,他的家乡原本叫“法华汇”,现在为了纪念他而改名叫“徐家汇”。
《崇祯历书》编制的基本规则仍然和中国历史上的其他历法一样,以月相定日期,以气象物候定月序,用闰月调和太阳、月亮的运行规律。但是,《崇祯历书》中用来计算太阳、月亮位置的方法,全都改成了西方人用的方法。除此以外,《崇祯历书》也编入了哥白尼的《天体运行论》以及球面三角学的相关内容,也告诉了中国人“地面实际上是个圆球,叫做地球”。
徐光启和利玛窦把《崇祯历书》敬献给明朝皇室之后,由于皇室内部不少人认为“祖宗之法不可变,用洋人的方法编制历书,是瞎胡闹”、以及明末战事太多等因素,《崇祯历书》一直没能够正式颁行。
关于中、西方天文算法的主要差别,就用求解太阳周年视运动的实际速度(用现在的话说,就是地球绕太阳公转的角速度)与平均速度的差值来举例子。
中国古代历法中,求解太阳周年视运动的实际速度和平均速度的差值,一般用多次函数来拟合。《授时历》以前多用二次函数,《授时历》用三次函数拟合。而当时的西方人求解这个速度差值,则是用三角函数拟合。
三角函数最早是古希腊人用的,明末之前的中国数学书籍中没有一本讲过三角函数。所以《崇祯历书》里面还要专门附录《割圆八线表》,即三角函数表。当然,现在国际通用的求解天体位置的算法中,直接用到微积分、线性代数之类的东西了。
后来,明朝没有了,满族人攻进了山海关,明帝国变成大清帝国了。汤若望把《崇祯历书》中关于明朝政权的内容去掉之后,给它重新定名为《西洋新法历书》(也叫《西洋新法算书》),敬献给新的清朝皇室。
为了验证《西洋新法历书》和《大统历》、以及西域用的《回回历》(伊斯兰历)哪个算得更准确,清朝皇室专门举行了“三历竞赛”。竞赛时间是顺治元年八月初一,即格里历1644年9月1日。那一天在北京可以看到日食,“三历竞赛”的内容就是看看谁家的历法能够把在北京观测的日食初亏、食甚、复圆时刻表,以及食分(太阳圆面被遮蔽的最大深度占太阳圆面视直径的比值)算准了。竞赛的结果是:《西洋新法历书》大获全胜。
按照《西洋新法历书》的算法,1644年9月1日在北京观测到的日食食分为0.28。而按照现代天文算法反推,在北京观测该次日食的食分是0.30。
于是清朝皇室接受了《西洋新法历书》,用它编制历法,并把新的历法定名为《时宪历》。“时宪”这个词来自《尚书》里面“惟天聪明,惟圣时宪”一句。
(2)《时宪历》的特点
《时宪历》从顺治二年(1645年)开始,正式在全中国范围内使用,一直用到宣统三年末(1912年初)清朝灭亡。《时宪历》是中国历史上第五次历法革新的产物,它除了把算法内核改成了西方天文知识体系之外,还把计算二十四节气日期、时间的方法改成了定气法。
在《时宪历》之前,中国人计算二十四节气日期、时间的方法都是“平气法”。也就是说,只有冬至(太阳照射到南回归线)的日期、时间是人们实打实测量出来的,把两个冬至之间的时间长度定为一个回归年,约为365.2422天。再把一个回归年的长度平均分为24段,每一段是15天多一点。只要在实测的冬至日期、时间的基础上,把这15天多的时间段反复累加,就能得到其他23个节气的日期、时间了。
《时宪历》中使用的“定气法”则是把黄道(太阳在天空中运行的轨迹,在一个回归年内,太阳沿着黄道运行一整圈360°)按照角度平均分成24段,每一段是15°。太阳在黄道上运行过去15°,就是一个节气。由开普勒行星运动定律可以知道,太阳在天空中运行的速度有快有慢,所以太阳在不同的季节运行15°用的时间间隔不一样长。在北半球的冬天,太阳运行的速度快一点。在北半球的夏天,太阳运行的速度慢一点。
其实早在唐朝的时候,已经有数学家提出,用定气法计算二十四节气日期、时间了。但是,由于在北半球冬季的时候,可能会出现同一个朔望周期里塞进去两个中气的情况,从而导致“无中气置闰法”出现bug,所以很多人反对用定气法。
现在的中国人计算农历,也依照西方人创建的天文模型,计算太阳和月亮的位置。同时,也用定气法计算二十四节气日期、时间,用定朔法计算朔望弦晦月相的日期、时间。其理念和《时宪历》差不多。
有的人说“现在的中国农历是西方人编的”,这话其实不完全对。对的一面在于计算月份、日期用的算法是西方人用的算法,不对的一面在于利用天文现象确定月份、日期数字的规则是夏朝以来中国人一直用的规则。
(3)《时宪历》的算法变迁
虽然整个清朝将近三百多年的时间里用的历法都叫《时宪历》,但是其算法内核换过三次。
第一套内核就是汤若望敬献的《西洋新法算书》,从顺治二年(1645)用到康熙十八年(1679)。其历元为崇祯元年天正冬至,即公元1627年12月22日。一年的“天正冬至”指的是其农历正月初一之前的那个冬至日。
第二套内核是《康熙永年历法》,从康熙十九年(1680)用到雍正四年(1726)。这是由比利时传教士南怀仁(Ferdinand Verbiest)编制的新的天文算法书籍,其天文算法和《西洋新法算书》本质上差不多,只是把历元改成了康熙二十三年天正冬至,即公元1683年12月21日。
第三套内核是《历象考成》,从雍正五年(1727)用到雍正十一年(1733)。这套书是钦天监的众多官员们合力主编的,其历元仍然遵从《康熙永年历法》中的历元,即康熙二十三年天正冬至。该书中使用丹麦天文学家第谷·布拉赫(Tycho Brahe)创立的本轮-均轮体系来计算七政(太阳、月亮、金木水火土五大行星)在天空中的位置。
第四套内核是《历象考成后编》,从雍正十二年(1734)一直用到宣统三年末(1912年初),清朝灭亡。这套书把《历象考成》中用的本轮-均轮体系废除了,改用开普勒行星运动定律来计算太阳和月亮在天空中的位置。而且历元也改成了雍正元年天正冬至,即公元1722年12月22日。但是《历象考成后编》只给出了计算太阳和月亮位置,以及日月食时间表的新方法,计算五大行星位置的方法仍然沿用《历象考成》中用的本轮-均轮体系。
人们把按照《康熙永年历法》和《历象考成》编纂出来的日历叫《康熙甲子元历》,把用《历象考成后编》编纂出来的日历叫《雍正癸卯元历》。以上四套历法书所用的时标,都是北京古观象台(东经116°26′)的真太阳时。
《历象考成后编》传到日本以后,日本天文学家高桥至时根据《历象考成后编》的算法,编制了《宽政历》,在日本使用。当然,高桥至时把历元改成了宽政九年天正冬至,即公元1796年12月21日。时标也改成了日本京都当地的平太阳时。《宽政历》在日本一共使用了46年,从宽政十年(1798)用到天保十四年(1843)。
四、清朝覆灭以后,农历的使用情况
(1)中华民国北洋政府时期(1912-1928)
1912年1月1日,孙中山在南京宣布就任中华民国临时大总统。孙中山宣布,定公元1912年为中华民国元年,并引入了西方的格里历为中国官方历法。孙中山将格里历称为“国历”,但是他也没有废除中国传统的阴阳历。孙中山把中国传统阴阳历叫做“夏历”,即“从夏朝开始一直沿用的历法”。
中华民国政府成立以后,他们把清朝的钦天监撤销了,用中华民国中央观象台取代之,进行天文观测、计算。中华民国北洋政府打算在中国境内同时发行格里历和夏历两套历法,也就是在日历上同时写两个日期。
在1912年和1913年,中央观象台的工作人员还来不及学习当时最新的天文算法,就沿用了清朝的《历象考成后编》中的天文算法以及天文常数,算出了这两年的二十四节气、朔望弦晦月相的日期、时间,登载在中央观象台发行的《中华民国历书》中。
《中华民国历书》的地位等于清朝的《时宪书》,只不过《时宪书》中会刊载一些现在看起来属于“封建迷信”的内容,如每天宜干什么、忌干什么,以及什么神在什么方位等。《中华民国历书》把这些涉及“封建迷信”的内容去掉了。
从1914年开始,中央观象台的工作人员得到了美国天文学家西蒙·纽康(Simon Newcomb)编纂的日躔表(显示每天格林威治时间半夜0点的太阳坐标的表格),以及丹麦天文学家彼得·汉森(Peter Hanson)编纂的月离表(显示每天格林威治时间半夜0点的月亮坐标的表格)。他们利用这两份表格计算任意指定时刻的太阳、月亮位置,从而计算二十四节气、朔望弦晦月相的日期、时间,进而排定农历月份、日期。
但是,纽康的日躔表和汉森的月离表中用的时标是格林威治标准时间。中央观象台的人们还要把格林威治标准时间改成北京市中心(东经116°23′)的平太阳时,来进行太阳、月亮坐标计算。
中央观象台的工作人员把运用纽康日躔表和汉森月离表计算出来的节气、月相时刻表定名为《新法天文夏历》,编入《中华民国历书》。《新法天文夏历》一直用到了1928年。
(2)中华民国国民政府时期(1929-1949)
1928年6月,国民政府取代北洋政府,成为中国唯一的合法政权。新的中华民国国民政府也把中央观象台废除了,用国立中央研究院天文研究所取代之。
国立中央研究院天文研究所从1929年开始,每一年都发行《国民历》,定名为《中华民国xx年国民历》。《国民历》的地位也等于清朝的《时宪书》。
国民政府刚成立的时候,认为农历属于中国文化里的糟粕,打算直接把它禁掉。国民政府甚至直接颁布命令,要求全中国的老百姓不准按照农历日期过节日,尤其是农历新年。在农历的一些重要节日日期,国民政府会派人去抓,看有谁敢在这些“不应该过节”的日期过节日。在1929年的春节,有一位国民党党员仅仅因为讲了“恭喜发财”四个字,就被罚在孙中山雕像面前罚站。国民政府甚至会派工作人员去各地,专门查抄刊载农历日期的历书。
由于国民政府对农历的敌视态度,所以《国民历》里面只写格里历的日期,不写农历日期。但是二十四节气、朔望弦晦月相发生的日期会标注出来。对于一些按照农历过的中国传统节日,在《国民历》里面改成了对应的格里历日期。比如,《国民历》把格里历的5月5日标记为“重五”(端午节),把格里历的7月15日标记为“中元”,把格里历的9月9日标记为“重九”(重阳节)。
只有中秋节没有标注为格里历的8月15日,因为中秋节要赏圆月亮,格里历8月15日可不一定有圆月亮给你赏。《国民历》把农历八月的“望日”,即发生满月的日期标注为“中秋节”。这个日期不一定是农历的八月十五号。比如1948年的《国民历》把格里历9月18日标注为“中秋节”,这一天按照农历算,应该是八月十六号。
本来国民政府都不想在《国民历》里面写朔望弦晦月相的时刻表,只想写二十四节气的时刻表。要写节气日期,是因为节气直接关系到农业生产安排,而且节气日期在格里历中基本固定(节气和格里历都根据地球绕太阳公转的规律排定)。至于不写月相日期,是因为人们可以根据节气和月相的日期,把格里历日期转换成农历日期。这样你“禁农历”等于禁了个寂寞。
天文研究所的工作人员据理力争,认为朔望弦晦月相只是自然现象,而且月相和潮汐也有直接关系,进而关系到沿海地区的渔民对于捕鱼作业的安排。所以国民政府还是同意在《国民历》里面写朔望弦晦月相的时刻表了。
一般来说,在新月和满月前后两三天,潮水会比较大(所以“八月十八潮,壮观天下无”)。在上弦月和下弦月前后两三天,潮水会比较小。所以中国历代的历法书中都会把新月、上弦月、满月、下弦月四个月相的日期、时刻标注出来。
天文研究所的工作人员计算二十四节气、朔望弦晦月相的日期、时刻表的方法,也是来自当时西方最先进的天文算法。而且,计算二十四节气、朔望弦晦月相的时标改成了东经120°平太阳时,即格林威治标准时间往后推8小时的结果,也就是今天的中国人用的“北京时间”。
由于农历已经深入中国老百姓的心坎里头去了,所以人们对于农历禁令,往往也是阳奉阴违。比如说,到了农历新年,很多店铺名义上搞“盘点”,实际上是偷着庆祝节日。
在登载了节气、月相时刻表的《国民历》出版之后,中国各地就会有民间人士根据这些时刻表,把格里历日期转换成农历日期,进而自己刊刻农历历书。
这些民间刊刻的农历历书一般会叫《中华民国xx年时宪书》,里面的“封建迷信”内容比清朝官方刊行的《时宪书》都多。国民政府禁了五年的农历,发现屡禁不止,也就不再继续禁止了。
人们把根据《国民历》中登载的节气、月相时刻表而转换出来的农历历书叫做《紫金历》。这是因为,国立中央研究院天文研究所的地址在南京紫金山。
(3)中华人民共和国时期(1949至今)
1949年10月1日,毛泽东在北京天安门城楼宣布“中国人民从此站起来了”。
中华人民共和国政府在1950年接收了原来的“国立中央研究院天文研究所”位于南京紫金山大部分遗产,并且在紫金山建立了中国科学院紫金山天文台,用来进行天文观测、农历编纂。
紫金山天文台(https://www.pmo.cas.cn/xwdt2019/kpdt2019/202203/t20220309_6386774.html)从1951年开始,每一年会发行《日历资料》,作为中国境内各种日历产品的参考。
《日历资料》中会刊载一个格里历年份里面每一天的格里历日期、农历日期、星期、二十四节气时刻表、朔望弦晦月相时刻表、以及中国境内可观测的日月食预报。
至于节气、月相、日月食时刻表的计算方法,也沿用《紫金历》的理念,与时俱进,时刻学习最先进的天文计算方法,并且以东经120°平太阳时作为时标。也就是说,中华人民共和国政府恢复了农历的“官方日历”地位。
现在,紫金山天文台的工作人员在进行各种天文计算的时候,主要依据美国国家航空航天局(NASA)下属的喷气推进实验室(JPL)所发布的DE430星历表来计算。而喷气推进实验室编纂DE系列星历表所依靠的理论,则是VSOP87行星理论和ELP月亮运动理论。
紫金山天文台发行的2022年1-3月《日历资料》
2008年开始,中国大陆的公众假日里面加了清明、端午、中秋这三个农历节日(但是劳动节的七天假被砍成三天了),使得农历更进一步地回归到中国人的日常生活之中。
2017年,紫金山天文台编制了《农历的编算和颁行》作为国家标准,向全国颁布。这套标准规定,任何个人和机构在中国大陆发行的日历产品中,必须同时有格里历和农历两套日期,也必须标注出二十四节气的日期。这套标准“保证了农历编算的准确性和权威性,并有效维护了农历作为国家历法的统一性和严肃性”,也就是正式承认了农历作为国家官方历法的地位。
我记忆中,苹果公司出的各种电子产品(iPhone,iPad之类)内置的日历程序中,以前一直没有农历日期。现在的国行版苹果系电子产品中内置的日历程序里面,都有农历、二十四节气日期了。就连简体中文版Win10电脑系统里自带的日历中,也有农历、二十四节气日期了。只不过这些农历、二十四节气日期都是紫金山天文台的人已经算好了的,微软和苹果只是照着用而已。
在民间,也有人根据时下最新的天文算法、星历等开发农历的万年历程序。比如华中农业大学的气象学副教授刘安国开发的《日梭万年历》、以及福建省莆田第十中学的物理老师许剑伟开发的《寿星天文历》等。许剑伟在中国的天文爱好者圈子里面比较出名,他曾把Jean Meeus写的《天文算法》一书译成汉语,在中国的网络上发行。
这两个软件计算出来的农历日期以及节气、月相时刻表,一般都能和紫金山天文台发布的官方数据对得上。反正农历的编纂本质是天文计算,用的方法都差不多,结果自然也不会差到哪里去。
五、农历在港澳台的使用情况
(1)香港、澳门
其实农历是属于全球所有华人的历法,港澳台人也会用农历,过农历节日。
香港人有假期的农历节日比中国大陆人还要多,中国大陆人只在春节、清明、端午、中秋有假期放,香港人在这个基础上还能多放浴佛(农历四月初八)和重阳两个假。澳门人也一样。
而且,香港和澳门两地的特首每年会发表两次新年贺词,一个是格里历12月31日,一个在农历十二月二十九号(小月)或三十号(大月)。
香港人和澳门人用的农历由香港天文台负责编纂,在香港天文台的官网上会发布“公历和农历对照表”(https://www.hko.gov.hk/sc/gts/time/conversion.htm)。
我曾经听过一个故事,但是我怀疑这个故事是假的:香港天文台的工作人员在很长一段时间里,一直按照清朝《历象考成后编》中给出的天文算法计算农历日期。他们计算二十四节气、朔望弦晦月相时刻表的时候,一直以北京古观象台的平太阳时作为时标。
1929年,中国大陆这边把计算节气、月相时刻表用的时标改成了东经120°平太阳时,但是香港天文台仍然在按照北京古观象台的平太阳时来计算节气、月相时刻表。因为两套时间系统的差别并不大,只差一刻钟,所以中国大陆和香港两边算出来的节气日期、农历大小月、闰月情况大抵都一样。
到1978年,就出现bug了。紫金山天文台计算出,在北京时间(东经120°平太阳时)1978年9月3日凌晨0:09,会出现月相“朔”。所以紫金山天文台定格里历1978年9月3日为农历戊午年八月一号。然而同样的这个月相,按照北京古观象台的地方平太阳时计算,是1978年9月2日晚上23:54。所以香港天文台定格里历1978年9月2日为农历戊午年八月一号。
这就导致中国大陆和香港的官方日历上,1978年的中秋节(农历八月十五号)差了一天!中国大陆人在1978年9月17日过中秋节,香港人在9月16日过节。
中国大陆人和香港人都蒙圈了,过个中秋节都凑不到一起去。按理说农历的本质是天文计算,算的都是客观的天文现象,怎么算出来的中秋节日期会差一天?香港人后来才明白,他们算农历用的时标和中国大陆用的已经不一样了。所以从1979年开始,香港人把计算农历用的时标也改成了东经120°平太阳时,和中国大陆一样了。
为什么我怀疑这个故事是假的?因为按照香港天文台给出的公历-农历对照表,1978年农历八月初一也是格里历的9月3日。
(2)台湾
台湾地区发行的日历里面登载的农历日期,由所谓的“交通部中央气象局”负责发行,不是所谓的“天文研究所”了。在所谓的“交通部中央气象局”的官网上也会有“日历资料表”可供查阅。
他们发行的“日历资料表”中也有节气、月相时刻表。由于台湾人计算节气、月相时间表用的算法也是继承《紫金历》的理念,所以台湾的“日历资料表”中登载出来的时刻表和紫金山天文台发行《日历资料》的大抵一样,偶尔会有一分钟的差别。
尽管两岸计算农历用的天文算法、时标都一样,但是由于计算用的数据精度不一样,有时候算出的时刻表可能会有一分钟的差别,但是总体差别不会很大。
六、农历在汉字文化圈其他国家的使用情况
汉字文化圈指的是中国、朝鲜、韩国、日本、越南这五个国家。这五个国家在历史上长期使用汉字,也长期使用农历。现在在汉字文化圈的另外四个国家,农历也依然有生命力。
(1)朝鲜
朝鲜人在日常生活中也会用农历,他们把农历叫做“阴历”(음력)。朝鲜人也用二十四节气,计算节气、农历月份大小的规则和中国都是一样的,只不过把时标改成了朝鲜时间(东经135°平太阳时),是北京时间往后推一个小时的结果。因为有时差的存在,所以有的时候,朝鲜人用的农历日期和中国人用的可能会差一天,节气也有可能会差一天。
在每年的春节(음력설)、元宵节(대보름)、清明节(청명절)、端午节(단오)、中秋节(추석)这五个农历节日里面,朝鲜人要放假。朝鲜人一年内的公众假日比中国都多,而且大多都是那种政治味道浓厚的日期,比如朝鲜国庆、朝鲜劳动党党庆、朝鲜人民军建军纪念日、领袖生日之类的(往往还要再给你搞个阅兵)。
每一天,朝鲜中央电视台在开始播放节目之后,演播室的主持人会先报告“今天是x月x日(格里历),星期x,阴历x月x日”(用朝鲜语念格里历日期的时候,月份和日期都念汉字数词。念农历日期的时候,月份念汉字数词,日期念朝鲜语固有数词)。电视上播报天气预报的时候,屏幕上也会同时显示格里历、农历两个日期。
曾经有一段时间(2015年8月15日~2018年5月4日),朝鲜政府把自己的标准时间改成了东经127.5°平太阳时,和韩国就差了半个小时。很巧合的是,这一段时间中的任何一个“朔”发生的时间,按照东经127.5°和135°平太阳时两套时标来算,日期都是一样的。所以这段时间里面,南北两方的农历日期全都同步。
(2)韩国
韩国人用的日历上也会写农历日期。在韩国,每一天的农历日期由韩国天文研究院(한국천문연구원)负责计算、公布。在韩国天文研究院的官网上就有“阴阳历变换计算”(음양력변환계산)(https://astro.kasi.re.kr/life/pageView/8)的页面。
上面说过,由于韩国和中国用的时标不一样,所以有的时候,韩国人用的农历日期和中国人用的可能会差一天。
比如2020年2月23日,在韩国是农历正月三十号,在中国是农历二月初一。因为在北京时间2020年2月23日晚上23:32会发生月相“朔”,这个时刻在韩国是2020年2月24日凌晨0:32。所以同样的一个农历月的起始日期在中国和韩国就差了一天。
此外,由于时差的关系以及“无中气置闰法”,有的时候同一年中国和韩国的农历闰月不一样。比如2017年,中国农历闰六月,韩国农历闰五月。在21世纪内,有2012、2017、2099这三年的中韩农历闰月不一样。
韩国的公众假日里面,有春节(설날)、浴佛(부처님오신날)、中秋(추석)这三个按照农历计算的节日。韩国天文研究院每一年会发布“月历要项”(월력요항),里面会写每个农历月的起始日期、月份天数、月份干支、月份起始日期干支、二十四节气日期(没有时间表)。没有月相的日期、时间表。
韩国天文研究院发布的《2022年月历要项》中的农历月份表、二十四节气日期表
(3)日本
日本历史上曾长期使用农历,但是从1873年开始,日本官方历法就改成格里历了。
日本人曾经自己编写过四种农历算法,分别是《贞享历》、《宝历历》、《宽政历》、《天保历》。其中,前两部都以《授时历》为蓝本,《宽政历》以《时宪历》中的《历象考成后编》为蓝本,《天保历》是日本人自己根据法国天文学家热罗姆·拉朗德(Jérôme de Lalande)的理论自己编写的(没有中国历书作为蓝本)。《天保历》中计算太阳位置的时候,甚至把金星、木星等行星对地球的万有引力考虑进去了。
现在的日本人把农历叫做“旧暦”(きゅうれき),或者“太陰太陽暦”(たいいんたいようれき)。这两个词在狭义上只指《天保历》这一部历法,广义上指的就是东亚地区通行过的所有阴阳历。
日本官方出版的日历里面已经不登载农历日期了,但是民间发行的日历中,有些会写农历日期。日本民间依然会有人过农历的节日。
日本民间出版的日历中,农历日期的来源是日本国立天文台发布的“暦要項”(こよみようこう)(
日本的“暦要項”里面虽然不写农历日期,但是写了二十四节气、朔望弦晦月相的日期、时刻表。时标是日本标准时间(东经135°平太阳时)。显得和中华民国国民政府时期发行的《国民历》一样。
上面说到,日本人说的“旧暦”在狭义上仅指《天保历》这一个历法。《天保历》的编排规则中,不仅继承了东亚传统阴阳历的全部规则(月相定日期、中气定月序、无中气月为闰月)之外,还额外加了一条“春分必须在二月,夏至必须在五月,秋分必须在八月,冬至必须在十一月”的规则。
而东亚地区通行过的其他阴阳历中,只把冬至当成十一月的“钉子”。《天保历》在冬至这颗“钉子”的基础上,额外把春分、夏至、秋分也当成三颗“钉子”,来钉住一年里的四个月份。
这样的规则就导致人们按照《天保历》的算法计算2033年的农历历表时,出现严重的bug。具体如下表:
十月去哪里了???
日本人想起来,以前的阴阳历中只把冬至当成十一月的“钉子”。到了2033年,四个“钉子”里面有两颗出问题了。面对这种情况,日本人决定:优先使用冬至这颗“钉子”,把冬至“钉”在十一月。而且中国、朝鲜、韩国、越南都这么做。
于是,现在你在日本的日历网站上查询2033年的农历日期,就是这样的:
(4)越南
越南人也用农历,他们把农历也叫做“阴历”(Âm lịch)。越南人用的日历上会写农历日期。
越南应该没有专门的农历计算机构(越南境内没有天文台,一个都没有)。越南人计算农历日期用的天文数据应该都是直接用中国人算好的数据,再把计算节气、月相时刻用的时标转换成河内时间(东经105°平太阳时),也就是把北京时间往前减一个小时的结果。
越南政府规定的全国性假日里面只有两个农历假日,一个是春节(Tết Nguyên Đán),一个是雄王纪念日(Giỗ tổ Hùng Vương)。雄王纪念日是农历的三月十号。在越南史书里面记载,雄王是越南历史上第一个建立民族国家的人。
此外,越南人也会庆祝元宵节(Tết Nguyên Tiêu)、端午节(Tết Đoan ngọ)、中元节(Rằm tháng bảy, Vu Lan)、中秋节(Tết Trung thu)、祭灶节(Ông Táo chầu trời,农历十二月二十三号)等节日,但是不放假。
上文中说过,因为中朝韩日越五国计算农历用的时标不一样,所以有的时候,对于同样一个格里历日期,在不同的国家对应的农历日期也不一样。
虽然越南和中国时差只差一个小时,大部分天文现象按照两个国家的时间来算,都是同一天。但是,1985年越南人过的春节比中国人过的直接早了一个月。越南人在格里历1985年1月21日庆祝春节,中国人在格里历1985年2月20日庆祝春节。
这是由于:农历以出现月相“朔”的日期为每个月的第一天,以没有中气的月份为闰月。
下面把1985年春节前后几个月的中、越两国农历月份表列出:
从表中可知,因为中、越两国的1984年冬至日期不一致,而1984年的冬至和“朔”相隔太近,所以两国置闰月的方法就不一样了,进而影响到春节的日期安排不一致。
此外:越南曾经在1954年-1976年分裂为南、北两个国家,和今天的南北朝鲜一样。有一段时间,北越(越南民主共和国)使用东经105°平太阳时作为国家官方时间,南越(越南共和国)使用东经120°平太阳时。这就导致南北两方在计算1968年春节日期的时候,出现了不一致。
在1968年1月30日凌晨0:29(东经120°平太阳时)会出现月相“朔”,把这个时间点折成东经105°平太阳时,则是1968年1月29日晚上23:29。于是,北越人在1968年1月29日过春节,南越人在1968年1月30日过春节。到1976年,两个越南合体了,越南全境的时标也就都变成东经105°平太阳时了。
所以,农历的一个缺点就在于此:因为农历完全根据天文现象确定日期,所以不同的国家以不同的时标计算天文现象的日期,结果可能会不一样。这就会导致,运用不同的时标计算,算出来的农历日期可能会差一天,甚至可能差一个月。也就是说,全地球有24个时区,就可以排出24套不一样的农历日期表。
当然,除了汉字文化圈以外,别的国家也没什么人使用农历。所以全球各地的华人华侨过农历节日的时候,基本都会按照中国大陆的官方历本,也就是紫金山天文台计算出来的结果来过。