《开元大衍历经》里记载,从上元阏逢困敦年开始算起,到开元十二年(甲子年),一共过去了九千六百六十六万一千七百四十个“算”(一种时间单位)。
接下来是计算方法:大衍的步数是3040。 实际的策数是一百一十一万三千四百三十;揲法是八万九千七百七十三;灭法是九万一千三百;策余是一万五千九百四十三;用差是一万七千一百二十四;挂限是八万七千一十八;三元之策是十五,余数是六百六十四,秒数是七;四象之策是二十九,余数是一千六百一十三;中盈分是一千三百二十八,秒数是十四;爻数是六十;象统是二十四。
计算天正中气的方法是:用实际的策数乘以从上元到所求年份的距离,得到一个数值,叫做中积分。如果中积分除以大衍通法(3040)能整除,商就是积日;如果不能整除,余数就是小余。用爻数(60)减去积日,如果能整除,商就是大余;如果不能整除,余数就是大余。从甲子年开始计算,就能得到所求年份天正中气的冬至日以及小余。
计算次气的方法是:根据天正中气的余数(大小余),加上三元之策及其余数和秒数。如果秒数超过象统(24),就从小余中减去;如果小余超过大衍通法(3040),就从大余中减去;如果大余超过爻数(60),就减去爻数。按照上述方法,就能得到次气的恒日和余数。凡是相乘相加的运算,如果有余数和秒数,都按照同样的方法处理。如果超过了规定的数值,就进位到上一位;如果日数超过爻数(60),就减去爻数。
计算天正合朔的方法是:用揲法减去中积分,剩下的就是归余之卦。用归余之卦减去中积分,剩下的就是朔积分。然后用朔积分除以大衍通法(3040),商就是日数;如果不能整除,余数就是小余。如果日数超过爻数(60),就减去爻数;如果不能整除,余数就是大余。从甲子年开始计算,就能得到所求年份天正合朔的经日以及小余。
首先,咱们算算朔日(农历初一)。要算出每个月的朔日,得先看看天正经朔(就是说,根据天文观测算出的朔日)的盈亏余数,然后用四象的数值加上这个余数。按照一定的算法除一下,就能得到朔日是哪天,以及剩下的余数。从经朔(也就是上个月的朔日)开始,加上一个象的日数(七天)和余数一千一百六十三,就能算出上弦月(农历初七或初八)。上弦月的时间乘以二,就是望(农历十五);乘以三,就是下弦月(农历二十二或二十三);乘以四,就回到了下个月的朔日。简单来说,四分之一是“少”,二分之一是“半”,四分之三是“太”,四分之四是“全”。把这些数值加到之前的数值里,然后减去,再从上位开始算。总而言之,通过计算朔日盈亏的余数,以及累积的余数,就能推算出每个月的盈亏情况,以及哪个月份有闰月。如果累积的余数超过五万六千七百六十,那这一年就肯定有闰月。根据盈亏情况,如果累积的余数超过了规定的限度,就要在这个月加上闰月。有时可能需要调整一下,但最终都要保证朔日计算的准确性,不能出现没有中气的朔日。
接下来,咱们算算日没的时间。先看看日没时恒星的盈亏余数,然后用象的数值乘以这个余数,再进行一些复杂的计算(秒分、参而伍之),最后减去一定的数值。如果余数等于或大于一定的数值,那就是日没的时间;如果小于,那就是日没的余数,以此来确定日没的起始时间。一般来说,如果恒星的盈亏余数小于大衍通法(一种计算方法),并且小于中盈分半法(另一种计算方法),那就说明是有日没的。
然后,咱们算算日灭的时间。用朔日(农历初一)的盈亏余数减去大衍通法,然后把余数乘以二、三、五,再用这个结果减去灭法(一种计算方法)。如果余数等于或大于朔虚分(一种数值),那就是日灭的时间;如果小于,那就是日灭的余数,以此来确定日灭的起始时间。日灭的时间要从朔日(农历初一)开始算,也就是朔日之后日灭的时间。一般来说,如果朔日的盈亏余数小于朔虚分,那就说明是有日灭的朔日。
下面是关于大衍步发敛术的具体参数:
天中之策:五;余,二百二十二;秒,三十一。秒法:七十二。
地中之策:十八;余,一百六十五;秒,八十六。秒法:一百二十。
贞晦之策:三;余,一百三十二;秒,一百三。秒法:如前。
辰法:七百六十。
刻法:三百四。
最后,咱们算算七十二候和六十卦。要算七十二候的日期,先根据中节的盈亏余数确定初候的日期。然后,用天中之策、余数和秒数加起来,按照一定的算法除一下,就能算出次候的日期。继续加,就能算出末候的日期。所有这些计算都基于恒气。要算六十卦的日期,先根据中气的盈亏余数确定公卦(主要卦象)的日期。然后,用地中之策、余数和秒数累加起来,按照一定的算法除一下,就能算出各个卦的日期。如果用贞晦之策加上候卦,就能算出十二节气中,每个节气开始时主要卦象的日期。
咱们先说怎么算五行当令的日子。春天用木,夏天用火,秋天用金,冬天用水,这些都是每个季节最先当令的日子。然后,根据节气和剩余的时间,减去四季中气多余或不足的时间,就能算出每个月土开始当令的日子。如果计算过程中出现秒,而且不够整齐,就要用母数乘以子数,再进行加减运算,母数相乘的结果就是最终的计算方法。
接下来,咱们算算每个月朔日(初一)的日期。先把每个月的闰余时间列出来,用大衍数术的方法计算出日子。算出来的日子不够整数,剩下的就是余数,也就是中气离朔日的天数加上剩余的秒数。如果要算卦象,就用天地数加上剩余的秒数,在中气之前就减,在中气之后就加,算出离朔日的天数和剩余秒数。
最后,咱们算算加时。把每个月的小余数列出来,乘以六爻,方法跟辰法一样,算出半天的时间。如果算出来不是整数,就乘以五,再用三刻法去除,得到刻数。如果还有余数,就除以三得到分数。如果分数满了可以凑成一整刻,就把余数乘以十,再除以十九得到分数。从子时半开始算,就能知道每个加时对应的辰时、刻数和分数了。
接下来是《大衍步日躔术》的第三部分。
乾实:一百一十一万三千七百九十太。周天度:三百六十五度。虚分七百七十九太。
岁差:三十六太。
首先,咱们得算出每天的盈亏数。先把输入的气数和后面的气数的盈亏分,都乘以六爻的两倍,再用两气辰数的总和去除,得到一个最终的比率。然后,再列出两气盈亏分,都乘以六爻的两倍,再分别除以辰数,用大的减去小的,余数就是气差。然后,用这个气差加减最终比率,后面用差值加,前面用差值减,得到一个初始比率。再把气差乘以二,也乘以六爻,再用两气辰数的总和去除,得到每日的差值。把这个差值除以二,分别加减初始和最终比率,得到每天的固定比率。最后,用每日的差值累加累减气数的初始固定比率,后面用差值减,前面用差值加,就能得到每天的盈亏分。然后把这些盈亏分累积起来,根据输入的气数,每天都加上或减去气数的先后数,就能确定每天的具体数值。冬至之后是阳气回升,盈的时候就加,亏的时候就减;夏至之后是阴气回升,亏的时候就加,盈的时候就减。距离四个节气前一个节气,也就是阴阳转换的时候,不能合并计算,都要根据之前的最终比率作为初始比率。用气差在前面加,在前面减,得到最终比率。剩下的就按照之前的比率计算,就能得到想要的结果。其他的计算方法也类似,都能得到每天的固定数值。如果分数不满整数,而且每气的分数也不同,就要用退法去除,用一百作为母数,大于一半的取一,小于一半的舍弃。计算轨漏的方法,余数不满的时候也遵循这个方法。
接下来,咱们算二十四节气的具体日期。冬至和夏至都在天地之中,没有盈亏。其他的节气,就用气数的先后数,先减后加恒气的小余数。如果不够,就调整日期。从甲子开始计算,就能得到每个节气的具体日期和剩余秒数。凡是推算日月运行度数和轨漏交蚀,都要根据定气来算;如果要制定历法,就要根据恒气来算。
最后,咱们算一下平朔四象。用定气之间的距离来确定朔弦望的日期和大小余数,再用输入的定气的大小余数和秒分减去,就能得到每个输入定气的日期和余秒数。如果大余数不够减,就加爻数,然后再减。如果弦望的小余数有一半多,就要乘以爻数,然后再用气秒分减,退一加象统。如果小余数不够减,就退一日计算,加大衍通法。
首先,咱们得算出每天的进退差。先算出每个星宿每天运行的度数,精确到秒。然后,把每天的度数减去1,再乘以日差的一半,加减到最初算出的度数里。如果一开始算的少了,就加上;如果多了,就减去。 这步计算要乘以每天运行的度数和秒数。 除法计算时,要先把除数化成整数,再进行计算。如果遇到一些很小的、可以忽略不计的数值,超过一半的就按整数算,不到一半的就舍去。最后,把算出来的结果加减到星宿的进退差里,得到每天每个星宿的精确度数。如果这不是朔望交接日,那就把每天的度数乘以12,再把余数的三分之一,用辰法除,然后加上去。再乘以损益率,除以定气辰数,最后算出来的结果加减到星宿的进退差里,就得到最终的度数了。
接下来是赤道宿度。北方七宿共九十八度,虚分七百七十九太;西方七宿八十一度;东方七宿七十五度。这些都是赤道度数。毕宿、觜宿、参宿和舆鬼四宿的度数和古时候的不一样,现在都是用天文仪器测定的,作为常数使用。 我们用仪器测量,确定了赤道和黄道的交点,以此来推算黄道。推算黄道的时候,要根据冬至点的岁差,每隔五度为一个区间。 一开始是十二,每个区间减一,到第九个区间,就剩四个了。在二至点附近,度数略有偏差,取平均值。然后,从春分点前、秋分点后开始,每个区间加一,从四个开始,到第九个区间,就变成十二个了,黄赤交点就又回来了。春分点后、秋分点前也是一样,每隔五度为一个区间,从十二开始,到第九个区间,就剩四个了。在二至点附近,度数略有偏差,取平均值。然后,从夏至点前后开始,每个区间加一,从四个开始,到第九个区间,就变成十二个了。 这些都是累加计算的,用度数乘以区间数,再除以一百二十,得到度数。不够整数的,除以十二,得到分数。如果除以十,就是大数。十二作为分母,用来确定太半少及强弱,这叫做黄赤道差数。二至点前后各九个区间,用差值减去赤道度数,得到黄道度数;二分点前后各九个区间,用差值加上赤道度数,得到黄道度数。如果从黄道度数反推赤道度数,二至点前后要加上差值,二分点前后要减去差值。
最后是黄道宿度。北方九十七度,六虚之差十九太;西方八十二度半;南方一百一十度半。
这段文字描述的是一种天文计算方法,看起来很复杂,咱们一句一句地掰扯掰扯。
第一段:你看,东方75度左右,前面都是黄道度数。太阳、月亮和五大行星每天的运行轨迹都在这儿,沿着这条轨迹走。要算出这些星宿的度数,都会有一些余数。古人把这些余数按少、半、太来归类,最终都算作完整的度数。如果要研究过去或者预测未来,就得考虑岁差(地球自转轴的缓慢摆动)。每移动一度,都要根据特定的计算方法,才能得到当时的星宿度数和余数,这样就能推算日月五星的运行,知道它们什么时候会相会或远离。
第二段:算太阳的度数,用乾实(一种天文计算参数)减去中间的积分结果。不够的话,用大衍通法(一种数学方法)来计算度数;如果还是不够,就是度数的余数。然后从赤道虚九(赤道上一个特定的点)开始,减去这个余数。如果减完之后,剩下的度数不在星宿计算范围之内,那就是你要算的那一年冬至加时日所在度数和余数。用三元法(一种数学方法)累加,按照之前的步骤,就能得到每个节气的第一天加时赤道星宿的度数。
第三段:算黄道的日度数,用度数的余数减去大衍通法。然后用冬至日所在星宿的距离度数乘以这个余数,得到距前分(一个中间结果)。把黄赤道差(黄道和赤道之间的夹角)放在距离度数下面,用大衍通法乘以它,再减去距前分。剩下的数,如果超过120就除以120,得到定差(一个最终结果)。如果不够120,就用象统(一种天文计算参数)乘以它,再除,得到秒分。然后用定差和秒分减去赤道星宿的度数。剩下的,按照之前的步骤来命名,就是那一年冬至加时日所在黄道星宿的度数和余数。
第四段:算节气的具体位置,先算岁差,用限数(一个特定的数值)乘以它,如果超过120就除以120,得到秒分;不够120的就是小分。把这个结果加到三元法的秒分上,累加并调整,然后用黄道星宿位置减去它,就能得到每个节气加时日所在星宿和余数。
第五段:算节气第一天中午的度数,先把每个节气的余数放在一边,用它乘以每天的盈缩分(日长变化),如果超过大衍通法就除以一,超过的部分加到,不足的部分减去副数(辅助数值),再用它减去日时度数的余数,按照之前的步骤来命名,就能得到每个节气第一天中午的运行位置。要算第二天,就用节气第一天中午的度数,累加一个周期,然后用每天的盈缩分,超过的部分加到,不足的部分减去度数余数,按照星宿位置来命名,就能得到第二天中午的运行位置和余数。
第六段:
大衍步月离术第四
转终分:六百七十万一千二百七十九。
转终日:二十七;余,一千六百八十五;秒,七十九。
转法:七十六。
转秒法:八十。 这段是计算参数,不用翻译。
首先,咱们来算算天正经朔(就是某个特定时刻的朔日,朔日指农历初一)的入转(指行星运行的度数)。先算出它转了多少度,然后用秒法(一种计量单位)乘以剩余的度数,再减去盈转(超过一圈的转数)后剩余的度数,最后剩下的就是秒数,加上之前转过的度数和分数值,就得到了这一天对应的经朔入转的度数和秒数。如果度数不满大衍通法(一种计算方法),那就是剩余的度数,记下来。把这个度数加到所求年份的天正经朔的入转日和余秒里,就得到了最终结果。
接下来,算算下一个朔日的入转。用天正经朔的入转差日(相邻两次朔日的天数差)一,转余(旋转剩余的度数)二千九百六十七,秒分一,减去盈转终日余秒(超过一天的剩余秒数)。然后按照之前的步骤计算,就能得到下一个朔日的经朔加时所入(指下一个朔日的入转)。计算上下弦望(农历初七、十五、二十三)的入转,方法和求经朔(求朔日)类似,也是用四象术(一种计算方法),根据变化情况逐步相加。如果用经朔望的小余(朔日、望日、弦日之间的剩余度数)来减,那就分别计算日夜一半的入转度数和剩余秒数。
计算朔、弦、望的入朓朒(两种天文参数)的定数,先算出每个朔日入转日的损益(增减)并取一半作为通率(平均值)。再用两个率(数值)相减得到率差。如果前面的数值多,就用入余(剩余度数)减去大衍通法,再乘以率差,直到结果能被大衍通法整除,然后加上率差再取一半。如果前面的数值少,就取入余的一半,乘以率差,再用大衍通法除,得到加时转率。再取一半,用它来修正加时所入的数值,得到转余。如果转余应该增加,就用减法;如果应该减少,就用剩余的数值。都乘以率差,直到结果能被大衍通法整除,再加到通率里。用转率乘以结果,再用大衍通法约分,用朓减朒再加转率得到定率。最后用定率修正朓朒积得到定数。如果后面没有相同的率,就用之前的率,如果应该增加,就用通率作为初数,取率差的一半再减去。如果符合通率,就根据损益入余,进退日的情况,把一天分成两天,按照之前的步骤计算,最后把结果都加上损益转率。这个方法出自《皇极历》,用来研究计算的细微变化。如果不是朔望交接的情况,就直接用入余乘以损益,用大衍通法除,再用它来修正朓朒,就能得到结果。
七日初:二千七百一,约为大分八。末:三百三十九,约为大分一。
十四日初:二千三百六十三,约为大分七。末:六百七十七,约为大分二。
二十一日初:二千二十四,约为大分六。末:一千一十六,约为大分三。
二十八日初:一千六百八十六,约为大分五。末:一千三百五十四,约为大分四。
话说这古代的天文计算,真是复杂得很!首先,用四象(指青龙、白虎、朱雀、玄武)来推算一整天的运行情况,算下来,平均每天大约是2771分。把这个数字化成更大的单位,也就是八分之一。然后用减法,剩下的就是余数了。这四象的运行变化,加起来,每个都有它各自起始和结束的日期和余数。 如果剩下的余数比初始数值小,就根据之前的规律进行加减;如果比初始数值大,就要反过来,归于后面的规律。
接下来是计算朔日、弦日、望日的具体日期和余数。 这需要用到“入气”、“入转”、“朓”、“朒”这些术语,同名的就相加,不同的就相减。然后用“朓”减去“朒”,再加上四象经运行的小余数。如果不够,就用大余数来补足。 用甲子来记数,算出每个日期的具体数值和剩余的小余数。如果干支名称和下一个朔日相同,这个月就大;不同,就小;如果没有中气,就是闰月。 这里说的“夜半”,都是指凌晨子正(十二点)之前。如果根据历法观察弦望日的小余数,不够凌晨开始的余数,就要把日期往后退一天。如果是望日,即使小余数够了,但如果有日食,而日食开始的时间在凌晨之前,也要往后退一天。月亮运行有快有慢,大约是三个大周期两个小周期;而因为太阳运行的盈亏,累积起来,可能会有四个大周期三个小周期,这都是符合规律的。 平时计算的时候,要仔细观察加时早晚,根据它接近哪个时间点来调整日期,避免出现三个小周期的情况。正月初一,如果刚好遇到日食,就要前后推算一两个月,来确定这个月的月大小,让日食发生在月末。
最后一步,是推算朔日、弦日、望日夜半时分月亮所在的位置。根据定气次日,确定月亮的度数和余数。如果要考虑五星的相互影响,就要用四约法来计算余数。然后把朔日、弦日、望日的小余数列出来,再乘以日运行的盈亏数值,就像大衍术一样,把盈加进去,把亏减掉,再加到日夜半的度数余数上,最后确定每个日期和时间月亮运行的位置。
月亮运行有九条路线,这取决于它和太阳的交合点(朔)发生在哪个月份。
如果冬至在阴历,夏至在阳历,月亮走的是青道。冬至、夏至之后,青道和黄道的交点在春分所在的星宿附近,黄道在青道的东面。立冬、立夏之后,青道和黄道的交点在立春所在的星宿附近,黄道在青道的东南面。其他冲日的时候也是这样。如果冬至在阳历,夏至在阴历,月亮走的是白道。冬至、夏至之后,白道和黄道的交点在秋分所在的星宿附近,黄道在白道的西面。其他冲日的时候也是这样。
如果春分在阳历,秋分在阴历,月亮走的是朱道。春分、秋分之后,朱道和黄道的交点在夏至所在的星宿附近,黄道在朱道的南面。立春、立秋之后,朱道和黄道的交点在立夏所在的星宿附近,黄道在朱道的西南面。其他冲日的时候也是这样。如果春分在阴历,秋分在阳历,月亮走的是黑道。春分、秋分之后,黑道和黄道的交点在冬至所在的星宿附近,黄道在黑道的北面。立春、立秋之后,黑道和黄道的交点在立冬所在的星宿附近,黄道在黑道的东北面。其他冲日的时候也是这样。
一年四季分为八个节气,阴阳交替的起始点都和黄道相交,所以月亮运行有九条路线。 要计算月亮运行的具体度数,得看月亮交点所在的七十二候,从交点开始算起,每五度为一个限度,交点开始和交点中间的计算方法一样。一开始是十二个限度,每个限度比前一个少一度,直到减少到四个限度,这时大约是一度多一点,然后又从四个限度开始,每个限度比前一个多一度,直到增加到十二个限度,这时到达半交点,这时距离黄道六度。然后又从十二个限度开始,每个限度比前一个少一度,直到减少到四个限度,这时大约是一度多一点,然后又从四个限度开始,每个限度比前一个多一度,直到增加到十二个限度,这时又和太阳的运行轨道相交了。
把这些限度数加起来,乘以每个限度的度数(五度),再除以240,得到度数。不够240的,再除以24,得到分数。如果除以20,分数就比较大。12是基数,用来确定月亮运行的强弱。 这是月亮运行和黄道之间的差值。距离半交点前后各九个限度,用这个差值来减;距离正交点前后各九个限度,用这个差值来加。这个加减是出入六度,也就是月亮和黄道相交的度数。如果交点在赤道,那就随着季节变化而改变,不固定了。要计算月亮运行和赤道的差值,就用从冬至到夏至的节气数乘以黄道差值,再除以18。
太阳以赤道为界,赤道以内为阴,赤道以外为阳;月亮以黄道为界,黄道以内为阴,黄道以外为阳。所以,月亮运行的度数,如果在春分交点后运行阴历,秋分交点后运行阳历,就是同名;如果在春分交点后运行阳历,秋分交点后运行阴历,就是异名。如果是同名,差值要加就加,要减就减;如果是异名,差值要加就减,要减就加。这样增减黄道的度数,就能确定九条路线的度数了。
第一段:算出每个月交点入气的时间,得先用每个月的恒星中气时间,减去朔日(农历初一)的时间,再加上这个月的朔日加时入交的时间,再减去交点终点的时间,剩下的就是每个月交点入气的时间了。如果超过三个元(一个元是19年),就减去三个元的时长,剩下的还是交点入气的时间。要算下一个交点,就在上一个交点的终点时间加上。如果超过三个元,就减去三个元的时长,没超过就保留。然后根据节气开始的先后顺序,先加后减余数,不够就往前推,多了就往后推,最终算出精确的交点入气时间。
第二段:接下来,我们计算交点入气时的朓朒(读作“xuē yī”,古代历法中的一个术语,指日月运行的盈亏)的数值。把算出来的定气日数乘以6的平方(36),再把余数乘以3,然后用辰法(一种计算方法)除,再乘以这个节气的损益率,最后除以定气辰数,所得结果用来调整朓朒的积数值,得到最终的数值。
第三段:计算交点入气时转动的朓朒数值。先把定气余数加上日夜半入转余数,再乘以日损益率,然后除以大衍通法(一种计算方法),所得结果用来调整日朓朒积数值,再乘以交率,除以交数,就得到最终的数值。
第四段:计算正交入气的时间。把前面算出的平交入气和转动朓朒数值,同名相加,异名相减。然后用朓减去、朒加上平交入气余数,不够就往前推,多了就往后推,最终算出正交入定气的时间。
第五段:计算正交加时黄道宿度。用正交入定气余数乘以日盈缩分,再除以大衍通法,所得结果用来调整余数,然后加上日夜半日度,就得到正交加时所在的黄道度数和余数。
第六段:最后,计算正交加时月离九道宿度。用正交加时度数余数减去大衍通法,剩下的数乘以正交宿距度所入限数,得到距前分。然后用大衍通法乘以月道与黄道差,再减去距前分,如果结果大于或等于240,就除以240;小于240,就退一位为秒。把所得结果(定差和秒)加上黄道度数,再根据冬至夏至以来经过的天数,乘以定差,除以18,所得结果根据同名异名加减,不够就往前推,多了就往后推,最终算出正交加时月离所在的九道宿度和余数。
这段文字描述的是一种古代天文计算方法,看起来很复杂,我们一句一句地来翻译成现代汉语口语,尽量通俗易懂。
首先,它讲的是怎么计算月亮的位置。“推定朔弦望加时月所在度,各置其日加时日躔所在,变从九道,循次相加。” 这句话的意思是:先算出朔(农历初一)、弦(农历初七或初八)、望(农历十五或十六)以及其他日子月亮所在的天球经度,然后把这些经度按照九道(一种古代天文划分)的顺序依次加起来。 简单来说,就是把不同日子月亮的位置信息都加总起来。
接下来,它解释了一种特殊情况。“凡合朔加时月行潜在日下,与太阳同度,是为离象。” 意思是:如果计算出的朔日(初一)月亮位置和太阳位置相同,那就叫做“离象”。 这是一种天文现象,月亮运行到太阳的后面。
然后,它继续讲解计算方法。“凡置朔弦望加时黄道日度,以正交加时所在黄道宿度减之,余以加其正交九道宿度,命起正交宿度算外,即朔弦望加时所当九道宿度也。” 这段话比较难懂,大意是:先算出朔弦望在黄道(太阳运行的路径)上的经度,用它减去黄道上某个参考点的经度,然后把剩下的数值加到九道上的对应经度,最终得到朔弦望在九道上的经度。 这部分涉及到古代天文坐标系的转换,比较专业。
“其合朔加时若非正交,则日在黄道,月在九道,各入宿度,虽多少不同,考其去极,若应准绳,故云月行潜在日下,与太阳同度。” 这句话的意思是:如果朔日月亮和太阳不在同一个经度上,那么太阳在黄道上,月亮在九道上,它们各自的经度虽然不同,但通过计算它们与天极(天球北极)的距离,就能验证它们是否符合“月亮运行在太阳下方”的条件。
接下来,它开始介绍一个具体的计算例子。“以一象之度九十一、余九百五十四、秒二十二半为上弦,兑象。倍之而与日冲,得望,坎象。参之,得下弦,震象。各以加其所当九道宿度,秒盈象统从余,余满大衍通法从度。命如前,各其日加时月所在度及余秒也。” 这段话给出了上弦月、望、下弦月的具体经度数值(91度954分22.5秒),并说明如何用这些数值计算其他日子月亮的经度,以及如何处理计算中的余数。 这里用到了“大衍通法”,一种古代的数学算法。
“综五位成数四十,以约度余,为分。不尽者,因为小分也。” 这句话的意思是:把计算结果中的五位数用40约简,得到度数和分数,剩余的部分作为更小的分数。
“推定朔夜半入转恒视经朔夜半所入,若定朔大余有进退者,亦加减转日,否则因经朔为定。” 这段描述的是如何确定朔日半夜月亮的运行情况,根据朔日计算结果的余数来调整计算。
“径求次定朔夜半入转,因前定朔夜半所入,大月加转差日二,小月加日一,转余皆一千三百五十四秒分一。数除如前,即次月定朔夜半所入。” 这段话讲的是如何计算下一个月的朔日半夜月亮的运行情况,根据上个月的结果,大月加两天,小月加一天,再进行计算。
“求次日累加一日,去命如,各其夜半所入转日及余秒。” 这句话的意思是:每天都累加一天,继续计算每天半夜月亮的运行情况及其余数。
“求每日月转定度各以夜半入转余,乘列衰,如大衍通法而一,所得以进加退减其日转分,为月每所转定分,满转法为度也。” 这段话描述了如何计算每天月亮的具体运行度数,用到了“列衰”和“大衍通法”。
最后一段,“求朔弦望定日前夜半月所在度各半列衰,减转分。退者,定余乘衰,以大衍通法除,并衰而半之;进者,半定余乘衰,定以大衍通法除,皆加所减。乃以定余乘之,盈大衍通法得一,以减加时月度及分。因夜半准此求转分以加之,亦得加时月度。若非朔望有交,直以定小余乘所入日转交分,如大衍通法而一,以减其日时月度,亦得所求。” 这段话描述了如何精确计算朔、弦、望这三个特殊日子半夜月亮的位置,仍然用到了“列衰”和“大衍通法”,并根据不同的情况进行不同的计算。
总而言之,这段文字描述的是一套相当复杂的古代天文计算方法,涉及到许多天文术语和复杂的数学运算,现代人很难完全理解其背后的逻辑,但可以大致了解其计算步骤和目的。 这体现了古代天文学家们对天文现象的细致观察和精巧的计算方法。
首先,咱们得算出第二天半夜月亮的位置。把每天月亮运行的度数加起来,度数满了就进位,方法跟前面一样,就能算出第二天半夜月亮所在的度数和分数了。
接下来,算算每天月亮的晨昏位置。把月亮每天运行的度数乘以白天和黑夜的刻数,再除以两百刻,就能得到晨分的度数。用这个晨分减去月亮每天运行的度数,剩下的就是昏分的度数。度数满了就进位。然后把这个晨昏分加到半夜月亮的度数上,如果过了望(满月),就加昏分;如果过了望,就加晨分。这样就能算出每天月亮在晨昏时的位置(度数和分数)了。
这是大衍步轨漏第五章的内容。
爻统:一千五百二十。
象积:四百八十。
辰刻:八;刻分,一百六十。
昏明刻:各二;刻分,二百四十。
然后,咱们要算出每天月亮的盈亏变化。先把每个节气的盈亏数值列出来,根据节气的天数,每天用递增或递减的比率来调整它的数值,数值满了就从头开始算,不满的就保留。这样就能算出每天月亮的盈亏数值和分数了。需要注意的是,在二分前后各一个节气之外,递增递减的比率不一样,每三天算一个周期,增减的数值也要相应调整,方法如下:
雨水节气第一天:减少七十八。第一天减十二,第二天减八,第三天减三,第四天减二,第五天减一。
清明节气第一天:增加一。第一天加一,第二天加二,第三天加三,第四天加八,第五天加十九。
处暑节气第一天:减少九十九。第一天减十九,第二天减八,第三天减三,第四天减二,第五天减一。
寒露节气第一天:增加一。第一天加一,第二天加二,第三天加三,第四天加八,第五天加十二。
最后,咱们把前面四个节气的数值算出来。把每个节气第一天的增减数值作为起始值,按照上面说的周期和增减规律,每天计算出增减数值。然后,把这些数值分别加到或减去每个节气第一天的盈亏数值上,就能得到每天的盈亏数值和分数了。
这段文字描述的是一种古代天文计算方法,用来计算每日日晷和夜间漏刻的时间。让我们一句一句地用现代口语解释一下。
首先,这段话讲的是怎么计算日晷的刻度。 “推戴日之北每度晷数 南方戴日之下,正中无晷。” 这句话的意思是,从正午太阳直射点(戴日)的北方开始计算,每向北移动一度,日晷的刻度就会变化。正南方太阳直射点下方,日晷没有刻度。 “自戴日之北一度,乃初数一千三百七十九。” 从正午太阳直射点北边一度开始,初始刻度是1379。 接下来的几句,“从此起差,每度增一,终于二十五度。又每度增二,终于四十度。又每度增六,终于四十四度,增六十八……” 意思是说,每向北移动一度,刻度增加的数值是不一样的,开始是每度加1,然后是每度加2,再然后是每度加6,依次类推,直到计算到72度。 这些数字代表着不同纬度下,日晷刻度的变化规律。 后面的“因累其差以递加初数,满百为分,分满十为寸,各为每度晷差。又每度晷差数。” 意思是把这些增加的数值累加起来,再加上初始值1379,满一百为一分,满十分为一寸,这样就得到了每一度的日晷刻度差。
接下来,这段话讲的是如何计算每日日晷的平均值。“求阳城日晷每日中常数 各置其气去极度,以极去戴日下度五十六,盈分八十二减半之,各得戴日之北度数及分。” 这段的意思是,要计算阳城日晷每日的平均刻度,需要先确定节气,然后计算出太阳直射点与北极点的距离,再用一些特定的数值进行计算,最终得到正午太阳直射点北边不同纬度的度数和分数。 “各以其消息定衰戴日北所直度分之晷差,满百为分,分满十为寸,各为每日晷差。乃递以息减消加其气初晷数,得每日中晷常数也。” 这段的意思是,根据季节变化(消息定衰),计算出不同纬度下日晷刻度的变化,然后结合前面计算的结果,最终得到每日日晷的平均刻度。
接下来,这段话讲的是如何计算每日日晷的具体数值。“求每日中晷定数 各置其日所在气定小余,以爻统减之,余为中后分。置前后分,以其日晷差乘之,如大衍通法而一,为变差。乃以变差加减其日中晷常数,冬至后,中前以差减,中后以差加。夏至后,中前以差加,中后以差减。冬至一日有减无加,夏至一日有加无减。各得每日中晷定数。” 这段的意思是,要计算每日日晷的具体数值,需要考虑当天所处的节气,然后进行一系列的计算,包括使用“大衍通法”之类的古代数学方法,最终得到每日日晷的具体数值,并且根据冬至或夏至来调整加减。
最后,这段文字讲的是如何计算夜间漏刻和晨初的时间。“求每日夜半漏定数 置消息定衰,满象积为刻,不满为分。各递以息减消加其气初夜半漏,各得每日夜半漏定数。求晨初余数 置夜半定漏全刻,以九千一百二十乘之,十九乘刻分从之,如三百而一,所得为晨初余数,不尽为小分。” 这段的意思是,根据季节变化计算每日夜半漏刻的时间,然后用一个复杂的公式计算晨初的时间。
总而言之,这段文字描述的是一套相当复杂的古代天文计算方法,用于精确计算每日日晷和夜间漏刻的时间,体现了古代天文观测和数学计算的高度发展。 这套方法涉及到许多特定的术语和计算方法,现代人理解起来需要一定的专业知识。
首先,我们要算出每天白天和黑夜的长度,以及太阳升起和落下的具体时间。 白天的时间是比黑夜长,具体怎么算呢?先把一天分成一百刻(古代计时单位),夜里的刻数是夜半(午夜)漏刻的两倍。用一百刻减去夜里的刻数,剩下的就是白天的刻数。再从白天的刻数里减去五个刻,加到夜里的刻数里去。这样,我们就得到了白天可见的刻数和黑夜不可见的刻数。然后,我们把“不可见”的刻数的一半加上半个辰(古代计时单位,一辰等于两刻),从子初(子时开始)算起,就能算出太阳升起的时间。用白天可见的刻数加上这个时间,就能算出太阳落山的时间。最后,我们把夜里的刻数除以五,得到每一更(古代计时单位,一更等于两小时)的时间差;再除以五,得到每一筹(古代计时单位,比更小)的时间差。把黄昏的时刻加上日落的时间,就能得到甲夜(第一个夜晚)开始的时间。然后,不断地加上更和筹的时间差,一直加到满一个辰,就减去一个辰,继续计算,就能算出五个夜晚每一更每一筹的具体时间了。夜半的漏刻,也叫做晨初夜刻。
接下来,我们要算出每天黄道(太阳运行的路径)距离天极(北天极或南天极)的距离。 我们需要用到“消息定衰”(古代天文术语,表示太阳位置变化)的数据,满一百是度,不满一百是分。根据这个数据,我们用“息减消加”(古代天文计算方法)的方法,不断调整太阳初始距离天极的度数,就能算出每天太阳距离天极的具体距离了。
然后,我们要算出每天太阳距离天球中天的距离。 还是用到“消息定衰”,用一万二千三百八十六乘以这个数据,再除以一万六千二百七十七,就能得到每天太阳位置的度数差。满一百是度,不满一百是分。同样用“息加消减”的方法,不断调整太阳初始距离中天的度数,就能算出每天太阳距离中天的具体距离了。把这个距离乘以二,再减去周天度(360度),最后除以五,就能得到每一更的度数差。
最后,我们要算出每天黄昏和黎明时分,以及每一更中星宿(古代天文单位)的位置。 我们需要知道当天太阳在赤道上的位置,然后加上它距离中天的距离,就能算出当天黄昏时分星宿的位置。再不断加上每一更的度数差,就能算出乙夜(第二个夜晚)开始时星宿的位置了。
首先,我们要确定九个服饰区域的位置。先测出每种气候初始日的正午日影长度,再用这个长度减去极点到该位置的距离,就能算出每个气候的日影增减数值。通过测量冬至或夏至的日影长度,就能直接得到结果,不需要非要等到冬至。 在测得的日影长度和北纬度中,找到相同的数值,这个数值就代表了该气候的北纬度。然后,根据每个气候的日影增减数值,分别加上或减去这个数值:冬至之后的气候减去,夏至之后的气候加上。这样就能得到每个气候的北纬度。根据每个气候对应的日影长度,就能得到每个气候初始日的正午日影长度。如果日影测量是在观测点南边进行的,那就根据日影长度,在日影长度与北纬度对应表中找到相同的数值,得到对应的纬度,再用这个纬度减去测得的北纬度,得到该点到北纬的距离,然后根据日影增减数值进行加减运算。
接下来,我们来计算九个服饰区域昼夜的漏刻时间。在冬至和夏至分别测量当地漏刻的时间,就能确定当地昼夜的漏刻数。然后将两者相减,得到冬至和夏至漏刻时间的差值,再将差值除以二,分别加到夏至和减去冬至的漏刻数,就能得到春分和秋分的昼夜漏刻数。然后,用每个气候的日影增减数值乘以当地冬至和夏至漏刻时间的差值,再除以极点到该位置的距离(比如47/80),所得结果按照比例加减到春分或秋分的初始日昼夜漏刻数上。春分之前秋分之后,加夜减昼;春分之后秋分之前,加昼减夜。这样就能得到每个气候初始日的昼夜漏刻数。要计算第二天的情况,就用每日的增减数值乘以漏刻时间的差值,再除以距离,所得结果加减到该气候初始日的漏刻数上,就能得到最终结果。至于计算日出日落和黄昏黎明的时间,都按照阳城的方法计算,再根据实际情况进行调整就可以了。
最后,我们用春分和秋分的正午日影长度,与阳城每日的日影长度进行对比,找到相同的数值,这个数值对应的时刻就是当地春分和秋分中午的漏刻时间。要计算其他气候的漏刻时间,就用日影增减数值,按照比例加减到春分或秋分的漏刻时间上。春分之前加,春分之后减;秋分之前减,秋分之后加。满一象积为一漏刻,不满为一分,这样就能得到每个气候初始日中午的漏刻时间。
第二天要算出结果,用阳城的方法算,就得到了。这个方法的道理,大体上是通的。但是高山和平原,日影的长短不一样。校正日晷,长短却是一样的。考量漏刻,多少却有区别。用这个来校正,前面的方法就准确了。
大衍步交会术第六
交终:八亿二千七百二十五万一千三百二十二。
交中:四万一千三百六十二;秒,五千六百六十一。
终日:二十七;余,六百四十五;秒,一千三百二十二。
中日:十三;余,一千八百四十二;秒,五千六百六十一。
朔差日:二;余,九百六十七;秒,八千六百七十八。
望差日:一;余,四百八十三;秒,九千三百三十九。
望数日:十四;余,二千三百二十六;秒,五十。
交限日:十二;余,一千三百五十八;秒,六千三百二十二。
交率:三百四十三。
交数:四千三百六十九。
辰法:七百六十。
秒分法:一万。
算天正经朔入交,用交终减去朔积分,不够的话,就用一万(秒分法)乘。超过交终的,再减去。剩下的按照一万秒的方法除以一,就是入交分。不够除尽的,就是秒。入交分如果够大衍通法,就是天数;不够的话,就是余数。把天数算出来以后,就是所求年份的天正经朔加上入交的天数和余下的秒数。
算下一次朔入交,用天正所入的天数,加上朔差日和余下的秒数,超过终日和余下的秒数的,就减去。计算方法如前,就是下个月经朔加上时间所入的天数。
算望,用望数日和余下的秒数加上去,减法计算如前,就能得到所求的结果。如果用经朔望的小余数减去,分别算出日夜半天所入交的天数和余下的秒数。
算定朔夜半入交,总是观察经朔望夜半所入的天数,确定朔望的大余数。有进退的,也要加减交日。否则,就根据经朔来确定,就能分别得到所求的结果。算下一次定朔夜半入交:根据前一次定朔夜半所入的天数,大月加交差日二,小月加日一,其余都是二千三百九十四,秒八千六百七十八。算第二天:累加一百,计算方法如前,分别算出夜半所入交的天数和余下的秒数。
要算出交点在朔望日的具体时间,先得分别算出每个朔望日交点进动的大小,然后根据进动的大小调整交点的位置。多余的部分,用大衍求一术来计算,就能得到交点在朔望日的具体时间和剩余秒数。
接下来算交点在朔望日的确切日期。先把每个朔望日交点进动的数值都列出来,再用交点运行的比率乘以这些数值,得到的结果再除以交点运行的总数。最后把这个结果加上之前算出的交点在朔望日的数值,多余的部分用同样的方法计算,就能得到交点在朔望日的准确日期和剩余秒数。
要确定月交点在阴阳历中的位置,得先看看朔望日交点的确切日期和剩余秒数。如果这个日期和剩余秒数小于中日(指朔望日的中点)的日期和剩余秒数,那就是月交点在阳历中;如果大于中日的日期和剩余秒数,就用中日的日期和剩余秒数减去它,剩下的就是月交点在阴历中的位置。
计算四象六爻每一度的加减分以及月亮离开黄道的数值,需要先算出相邻爻的加减率的差值,也就是前差和后差。然后用后差减去前差得到中差。把当前爻和后一爻的加减率加起来,再加一半的中差,然后除以十五,得到后一爻的初始比率,也就是当前爻的最终比率。用当前爻的初始比率减去最终比率,得到爻差,再除以十五得到度差,再除以二,然后加减到初始比率上(少象减,老象加),得到最终的初始比率。每次都累加或累减度差(少象减,老象加),就能得到每一度的加减定分。把这些分累加起来,每累加到一百二十就变成一度,这样就能得到月亮离开黄道的度数和分。对于四象,初爻没有初始比率,上爻没有最终比率,都要把本爻的加减率乘以二,再除以十五。然后用初始比率和最终比率减去这个结果,就能得到它们的比率。剩下的就按照计算方法一步步算下去,就能得到结果。
最后,计算朔望日半夜月亮运行到阴阳度数。先把半夜交点运行的日期和剩余秒数列出来,然后用这个数值减去朔望日半夜交点的确切日期和剩余秒数。如果秒数不够减,就要从日期中借一天,然后再加上一秒,再进行减法运算。剩下的就是确切的交点在半夜运行的日期和剩余秒数。然后用这个日期和剩余秒数分别乘以每日运行的定分,再用大衍求一术计算,满转法为度,不满为分。把这个结果加到每日运行的积度和分上,再相减,剩下的就是半夜月亮运行到阴阳度数和分。要计算下一天,只需要把每日运行的定分加到这个结果上,满转法为度,就得到了结果。
首先,咱们得算出月亮在朔望夜半的时候,运行到哪个四象的度数和分数。方法是:把月亮在当天夜半所运行到的度数和分数,除以一个象的度数(90度)。如果用小象的度数除,还要额外减去一些度数和分数,具体是:1度、16分、13大、14小分,以此类推,用下一个象的度数除。算出来的结果,按照少阳、老阳、少阴、老阴的顺序排列,从少阳开始算,就能得到月亮当天夜半所处的象的度数和分数了。先用30乘以阴阳度数和分数,再除以19,得到度数和分数;再进行乘除运算,得到小分;最后再用象的度数和分数除以它。
接下来,咱们算月亮在朔望夜半的时候,运行到哪个六爻的度数和分数。方法是:把月亮在当天夜半所运行到的象的度数和分数,除以一个爻的度数(15度)。算出来的结果,从象的初爻开始算,就能得到月亮当天夜半所处的爻的度数和分数了。如果月亮运行到少象的初爻以内,就说明它离黄道很近,在朔望的时候,就会发生月食或日食。要算出发生食的时刻,得看月亮在交点附近的时间和剩余秒数。如果月亮在望差以下、交限以上,就说明进入了食限。望时进入食限,那就是月食;朔时进入食限,如果月亮在阴历,那就是日食。如果进入食限的时间在望差以下,就是交点之后;在交限以上,就要从中间时刻减去剩余时间,算出交点之前的时间。把交点前后确定的时间和剩余秒数加起来,得到距交点的总时间。然后用11乘以这个时间,再除以2643,就能得到距交点的度数。如果除不尽,就用大衍通法乘以它,再除,得到余数。一般来说,如果距交点超过13度,即使进入了食限,因为交点的影响很小,光影相接,也可能看不见日食或月食。
然后,咱们算月食的程度。如果距交点的总时间在779分以下,就说明月食已经结束。如果超过779分,就要用交点的时间减去望差,然后用183约简余数。如果结果小于或等于一半,就说明月食程度较弱;如果大于一半,就说明月食程度较强。用15作为限度,就能得到月食的大分。
最后,咱们算月食开始和结束的位置。如果月亮在阴历,月食开始于东南方向,然后移到正南,最后到西南方向。如果月亮在阳历,月食开始于东北方向,然后移到正北,最后到西北方向。如果月食超过12分,那么开始于正东,结束于正西。这些都是以南方正午为准说的,如果月食发生在其他方向,就要根据具体方位,以此为准来确定月食开始和结束的位置。
首先,咱们得算月蚀发生的时间。 要算月蚀最大的时候,具体方法是:如果月蚀发生在午时之前,就加三个刻;如果发生在十时之前,就加四个刻;如果发生在十时之后,就加五个刻。至于月蚀发生时离交点(注:此处指月球交点)的距离,如果小于520分,再加半个刻;如果小于260分,也再加半个刻。这些都是大概的估算方法。
接下来,咱们算每天的差值。先把所入气(注:指月球进入黄道某个位置)和后气(注:指月球离开黄道某个位置)的差值算出来,然后乘以六爻(注:此处指某个系数,具体数值未给出)的两倍,再除以两气辰数(注:指黄道经度),得到一个叫做“气末率”的数值。然后,再把两气增损差分别乘以六爻的两倍,再分别除以辰数,得到两个数值。用大的减去小的,得到“气差”。冬至后用气差减去气末率,夏至后用气差加上气末率,得到“初率”。然后把气差乘以二,再乘以六爻的两倍,再除以两气辰数,得到“日差”。把日差除以二,分别加减初率,得到两个“定率”。最后,用日差累加累减气初定率,冬至后用差加,夏至后用差减,得到每日的增损差。然后把这些差值累加起来,根据所入气和日期,加上或减去相应的差值积,就能得到每天的定数。需要注意的是,在二至之前的一气,因为没有相同的差值,所以不能合并计算,要根据前一个末率作为初率。冬至前用气差减,夏至前用气差加,得到末率。剩下的,就按照计算方法一步步算下去,就能得到结果了。
阴历的蚀差是一千二百七十五,蚀限是二千五百二十四,或限是三千六百五十九;阳历的蚀限是一百三十五,或限是九百七十四。
计算月蚀的差值和限值,需要把蚀差和蚀限分别加上或减去蚀朔(注:指月蚀发生时的朔日)所入气日下的差值积。阴历要减去,阳历要加上,这样就能得到蚀定差和定限。
最后,咱们来判断阴历和阳历的月蚀。如果阴历的去交定分(注:指月蚀发生时月球离交点的距离)大于蚀定差,就是阴历月蚀;如果小于蚀定差,即使在阴历期间发生,也和阳历月蚀类似。如果去交定分小于蚀定限,月蚀就能被观测到;如果小于或限,月蚀可能可见,也可能不可见。
想知道日食到底有多严重?如果是阴历日食,先把交定分减掉,再用蚀定差减去剩下的数值。如果结果小于104,那就说明日食已经结束了。如果结果大于104,就用104减去它,再除以143,如果结果是整数或者正好落在某个范围内,就再除以152。结果小于一半算半弱,大于一半算半强,最后再减去15,剩下的就是日食的最大食分了。如果是阳历日食,先减去交定分。如果结果小于60,日食就结束了。如果大于60,就加上阳历蚀定限,再除以90。如果是阳历日食,直接减去交定分,也除以90。如果结果是整数或者正好落在某个范围内,就再除以143。结果小于一半算半弱,大于一半算半强,用15作为限度,也能算出日食的最大食分。
日食从哪儿开始呢?如果是阴历,一开始在西北方向,最严重的时候在正北,然后在东北方向结束。如果是阳历,一开始在西南方向,最严重的时候在正南,然后在东南方向结束。如果日食食分超过12,那它就从正西开始,在正东结束。记住,这些都是以正午时刻在南方观察为准说的。
想知道日食持续多久?把算出来的最大食分乘以2。如果是阴历,如果交定分比蚀定差多70以上,再加35;如果少于70,就再加一半。如果是阳历,如果交定分比蚀定差少20以下,就再加一半;如果少于40,就再加更少一些。这些都是大概的月食持续时间。
想知道日食最严重的时候是几点几分?先把交定分乘以交率,再乘以20,然后除以交数,得到一个差值。如果月亮运行的轨道和黄道方向相同,就把这个差值加到朔望定小余上;如果方向不同,就减去。把结果算出来,再用发敛加时术算一下,就能知道日食最严重的时候是几点几分了。至于月食最严重的时候,月亮正好在和太阳相对的位置。
首先,咱们算日食开始和结束的时间。先算出日食持续时间的刻数,然后用这个刻数乘以日食过程中太阳亏损和复圆变化的比例,就像《大衍历》里那种计算方法一样,算出一个最终的刻数。如果算出来的结果是日食逐渐变暗的,就按照这个刻数来算;如果是逐渐变亮的,就调整一下这个刻数,得到最终的日食持续时间。把这个时间除以二,减去日食最严重的时候的时刻,就是日食开始的时间;加上日食最严重的时候的时刻,就是日食结束的时间。
要是算月食,想算出它开始和结束的更筹(古代计时单位),就用算出来的月食持续时间除以每更的差值,得到更数;如果除不尽,再用每筹的差值除,得到筹数。把更数和筹数加起来,就是月食的总持续时间。然后把日落到月食最严重时刻的时间加起来,再减去黄昏时刻,最后用这个结果除以更筹的差值,算出来的结果加上初始更筹,就是月食最严重的时刻。再把月食总持续时间的一半减去这个时刻,就是月食开始的时间;加上这个时刻,就是月食结束的时间。
印度僧人俱摩罗传下来的日食预测方法是这样的:如果日食发生在太阳运行到郁车宫(就是咱们中国的降娄星宿)的时候,那就能准确预测日食。如果预测不准,就要看太阳所在的星宿,如果火星在太阳的前三个星宿或后一个星宿,或者火星在太阳的下面,那就不会发生日食。如果五大行星都出来了,水星也可见,而且水星在阴历,或者三个以上的行星聚集在一个星宿,那也不会发生日食。一般来说,星星和太阳在不同的星宿,就比较容易预测,如果在同一个星宿,就很难预测。其他的预测方法比较复杂,这里就简单说一下大概,不详细解释了。印度的十二宫,就是咱们中国的十二次。说的郁车宫,就是咱们中国的降娄星宿。十二次星宿的度数,在《历仪分野》里都有记载。
接下来,咱们算一下不同地方日食的差异。先测量出当地冬至、夏至、春分这三天的正午日晷长度,以及当地每天正午日晷的常数,找到相同的值,然后根据这些值,就可以算出当地冬至、夏至、春分这三天的日食差异了。 “求九服所在蚀差” 这句是原文,不用翻译。
首先,咱们得算出每种气(季节)的蚀差。怎么算呢?先用夏至的蚀差减去春分的蚀差,再用春分的蚀差减去冬至的蚀差,得到两个差值,这两个差值就是咱们的“率”。把这两个“率”加起来,再除以二,再除以六,就得到了夏至的“率”。然后,用这两个“率”相减,再除以六,得到一个“差值”。 把这个“差值”再除以六,就得到了“气”。 再把这个“气”除以二,然后加到夏至的“率”上,又从总“差值”里减去这个“气”的一半,就得到了冬至的“率”。这个冬至的“率”就是冬至的蚀差率。最后,咱们把这个“气”的“差值”分别加到各个季节的“率”上,就能算出每个季节的最终蚀差率了。按照这个率,从冬至的蚀差里减去,就能得到每个季节第一天蚀差是多少了。
要算每天的蚀差,就跟咱们在阳城算的一样。如果日食发生在太阳的北边,那就要把计算结果反过来,这样才能得到正确的结果。 这部分是《大衍步五星术》第七篇关于岁星的计算方法。
接下来是具体的数值:
岁星:
终率:一百二十一万二千三百七十九;秒,十八。
终日:三百九十八;余,二千六百五十九;秒,六。
变差算:空;余,三十四;秒,十四。
象算:九十一;余,二百三十八;秒,五十七十二。
爻算:十五;余,一百六十六;秒,四十六十二。
镇星:
终率:一百一十四万九千三百九十九;秒,九十八。
终日:三百七十八;余,二百七十九;秒,九十八。
变差算:空;余,二十二;秒,九十二。
象算:九十二;余,二百三十七;秒,八十七。
爻算:十五;余,一百六十六;秒,三十一。
太白:
终率:一百七十七万五千三十;秒,十二。
终日:五百八十三;余,二千七百一十一;秒,十二。
中合日:二百九十一;余,二千八百七十五;秒,六。
变差算:空;余,三十;秒,五十三。
象算:九十二;余,二百三十八;秒,三十四五十四。
爻算:十五;余,一百六十六;秒,三十九九。
辰星:
终率:三十五万二千二百七十九;秒,七十二。
终日:一百一十五;余,二千六百七十九;秒,七十二。
中合日:五十七;余,二千八百五十九;秒,八十六。
变差算:空;余,一百三十六;秒,七十八六十。
这段文字描述了一种计算日食的方法,涉及到夏至、春分、冬至的蚀差,以及一系列复杂的计算步骤,最终目的是得到每天的日食情况。 其中提到了岁星、镇星、太白、辰星,这应该是指不同的星体,以及它们各自的计算参数。 计算结果用“终率”、“终日”、“变差算”、“象算”、“爻算”等来表示,这些术语的具体含义需要结合当时的星象学知识来理解。
首先,咱们看看这些数字:象算的结果是91,余数是244,秒数是9860。爻算的结果是15,余数是167,秒数是3974。辰法是760,秒法是100,微分法是96。
接下来,这段话有点复杂,是说怎么计算天体运行的。大致意思是:先算出五星的平合位置,然后用冬至的余数减去,再用每个星体的运行速度去除,如果除不尽,就再用余数减去运行速度,直到能被大衍数(一个特定的数字)整除。能整除的部分就是天正冬至夜半后星体平合的日期,除不尽的部分就是余数和秒数。
然后是计算平合位置在爻象历中的位置。方法是把每年的星体变化和差值相乘,如果结果大于大衍数,就减去大衍数,否则就用大衍数约分,得到日期和余数秒数。再用这个结果减去冬至夜半后星体平合的日期和余数秒数,就得到了平合位置在爻象历中的数值和余数秒数。最后,把余数都约分成四份,跟辰法一样。
接下来是计算平合位置在四象和六爻中的位置。方法是把计算出来的日期和秒数,分别除以四象或六爻的数值和余数秒数,得到的结果,再根据少阳的顺序排列,就能得到平合位置在四象或六爻中的数值和余数秒数。
最后一段,讲的是怎么计算四象六爻中每个数值的损益和进退。方法是先算出前后差和中差,然后用一个公式计算出爻末率和爻差,再用爻差计算出算差和定率。最后,根据老少象的不同,用算差累加减爻初定率,就能得到每个数值的损益率。然后,根据损益率,就能计算出每个数值的进退情况。对于四象的初爻和上爻,因为没有初率和末率,所以需要用其他的方法计算。剩下的,就按照这个方法计算就可以了。
总而言之,这段文字描述了一种复杂的天文计算方法,涉及到很多天文术语和复杂的数学运算,难以用简单的语言完全表达其精髓。 原文中那些公式和术语,我只能尽量用现代汉语解释其含义,但精确度可能会有所降低。
首先,咱们得算出进退的固定数值。每个星宿的进退数值,都要算出它所对应的爻的数值差,然后把差值除以二,再从它所对应的进退损益率里减去。如果是减少的,就用剩下的数值乘以限差,再用辰法除,然后把差值加起来再除以二;如果是增加的,就用剩下的数值的一半乘以差值,也用辰法除。然后加上之前减去的那个率,再用剩下的数值乘以它,用辰法除以一,最后得到的数值用来增减它的进退数值,这样就分别得到了每个星宿进退的固定数值。这个方法很精妙,但计算过程稍微复杂一些。如果想简化计算,可以直接用它所对应的数值余数乘以它下面的损益率,再用辰法除以一,最后得到的数值用来增减它的进退数值,这样也能得到固定数值。
接下来算常合。把之前算好的进退固定数值,如果金星的话就乘以二。然后分别用合下的乘数乘以它,再用除数除以它,得到的数值如果满辰法就表示是天数,不满的话就是余数。把这个数值加到或减去平合的日数值和余秒,先把平合的余数除以四,然后再加减。这样就得到了冬至夜半后常合的日数值和余数。
然后算定合。把常合日的前后固定数值除以四,得到的数值如果满辰法就表示是天数,不满的话就是余数。然后用之前的数值减去或加上常合的数值和余数,这样就得到了冬至夜半后定合的日数值和余数。
接下来算定合的度数。把它的日盈缩分除以四,再乘以定合的余数,然后用辰法除以一,最后得到的数值用来增加或减少定合的余数,再把它加到日夜半日度余上,先把夜半日度余除以四再加。如果满辰法就从度数开始算。除了之前说的那些计算方法外,这样就得到了定合加时度数和余数。
接下来算定合的月日。把冬至夜半后定合的日数值和余秒,加上天正冬至的大小余数,再减去天正经朔的大小余数。至、朔的小余数都要除以四,然后再加减。如果至大余数小于经朔大余数,再用爻数加上它,然后再用经朔的大小余数减去它。剩下的数值除以四象的策数及余数,得到的是月数,不够除的部分就是入朔日数值和余数。从天正日数值和经朔数值开始算月数,这样就确定了所在的日月。如果定朔大余数有进退,进就减一天,退就加一天,这样就确定了所在的日月和余数。
最后算定合入爻。把常合和定合应该加减的固定数值,相同名称的就相加,不同名称的就相消。然后把结果加减到平合入爻的数值余数上,如果满或者不满,就进退它的数值,这样就得到了定合入爻的数值和余数。
第一步,算出变行初日的入爻数和余数。然后用这个数加上后伏下变行度常率,如果超过一个爻的限度就减去。接着,按照之前的步骤,算出下一个变行的初日入爻数和余数。再算下一个变行的入爻,只需要把下行度常率加上去,然后像上面那样处理。
接下来,算出变行初日的进退定数。把变行初日的入爻数和余数按照平合求进退术的方法算进去,就能得到变行初日所对应的进退定数。然后用各自的下乘数乘以进退定数,再除以除数,得到进退变率。
然后算变行日度率。把本进退变率和后变率放在一起,如果名称相同,就相减取差值;如果进前少,退前多,就加;进前多,退前少,就减。如果名称不同,就相加。前退后进,就加;前进后退,就减。逆行度率则反过来。把差值和和值加减到日度中率上,就得到日度变率。水星疾行,直接用差值和和值加减度之中率,得到变率。太阳则直接用中率作为变率,不用加减。
最后,算变行日度定率。用定合日和后变初日的先后定数,相同名称的相减取差,不同名称的相加。然后除以四,得到满辰法的度数。再用这个度数来增加或减少合后伏度的变率和合前伏日的变率。金水夕合日度,加减要反过来。对于两个留日的变率,如果与中率有差值,就用差值作为度数,加减到本迟度的变率上。也就是,如果比中率多就加,比中率少就减。后面的加减都以此类推。退行度变率,如果与中率有差值,就将差值乘以二,加减到本疾度的变率上。木星和土星没有迟疾之分,直接加减前后顺行度的变率。水星疾行度的变率,如果与中率有差值,就用差值作为日数,加减留日变率。如果留日变率少到不足以减,就从迟日变率中扣除。所有加减变率完成后,就得到日度定率。如果日定率有小数部分,就要进行分配。分配就是把小的部分分配到大的部分中,使之成为整数天数,多余的部分继续分配。那些没有进行加减的变率,就用变率作为定率。
首先,我们要算出星星在合后半夜的位置和剩余度数。用合后剩余度数,减去辰法(也就是360度),然后用星星每日运行的分数乘以这个剩余度数,再加回合后的时间度数,满360度就记为一度。按照之前的计算方法,就能确定合后半夜星星所在的星宿和剩余度数。从这之后,就要根据每颗星星每天运行的度数来计算它的位置,都从半夜开始算。
接下来算第二天半夜星星运行到哪里:用每颗星每天运行的度数和分数,依次累加或累减。如果有小数部分,就按照规则进位。分数满360度就进一度。如果在合的前后有隐藏的度数,不记录度数,留下的就用之前的度数,后退的就按照减法计算。顺行超出虚度(24度),要减去超出部分;逆行进入虚度,要先加上这个差值。先把虚度的差值(24度)乘以四分之一,然后用它进行加减运算。最后,用换算方法把运行分数换算成度和分,就能得到每天星星运行到的位置。
这三颗星(指木火土)每天运行的度数,有时会增加有时会减少,速度时快时慢,每天的差异越来越大,很难预先确定,所以我们先根据平均日运行度数来计算。由于平均日运行度数本身就有盈余或不足,那么差值也要随之增减,我们要先检查各种变化的日运行度数中,哪个与平均值最接近,然后用这个差值,计算出起始日和结束日的运行分数作为主要依据。其他的变化,就根据这个消息,增减差值,分别计算出起始日和结束日的运行分数。反复比较校对,使它们能够相互吻合,衰旺相循。金星和水星都以平均运行为主,前后各种变化,也按照这个方法来计算。
如果合之前隐藏的度数,即使有确定的日运行度数,但如果和后面的计算结果不符,就以后面的计算结果为准。五星初次出现和隐藏的度数,与天数不等,要根据日运行度数和星运行度数进行比较。木星是14度出现,13度隐藏;金星是11度出现,10度隐藏;火星、土星、水星都是17度出现,16度隐藏。木星、火星、土星这三颗星顺行开始和顺行结束,以及金星和水星快速运行、停止、逆行开始和结束,都是它们出现和隐藏的起始日,要根据历法消息来确定。金星、水星以及日月,都忽略分数部分。
要计算每天的差值,把差值分数作为分子,差值天数作为分母。分子除以分母,得到的就是运行分数,余数就是小数部分。这就是每天差值的运行分数和小数部分。如果差值是整数,就不需要用这个方法。
最后,计算平均运行度数和分数:用确定的度数乘以360度,如果有分数就加上,然后除以日运行度数,得到平均运行分数。余数就是小数部分。分数满360度就进一度,这就是一天的运行度数和分数。
首先,咱们要算出第一天和最后一天走了多少度和几分。先把规定的每日行进度减去1,然后用差值乘以这个结果。再把结果除以2,得到一个差率。用这个差率加上或减去平均每日行进度,就能算出第一天和最后一天分别走了多少。如果速度越来越快,就用差率减去平均值得到第一天走的距离,加上平均值得到最后一天走的距离;如果速度越来越慢,就反过来操作。算完之后,你就能知道第一天和最后一天各走了多少度和几分了。如果算出来的差值和实际天数对不上,那就先把规定的每日行进度减去1,再用差值乘以这个结果作为分子,把差值对应的日数乘以2作为分母。分子除以分母,得到的就是每日行进的几分,余数就是更小的小数部分,也作为差率来用。
接下来,咱们算算中间某一天走了多少度和几分。先记住第一天走了多少度和几分。如果速度越来越慢,就从第一天走的距离里,每天减去每日的差值;如果速度越来越快,就每天加上每日的差值,就能算出这一天走了多少度和几分了。如果第一天走的距离和每日的差值都有小数部分,分母不一样的话,得先把分母统一了再进行加减运算,依次类推,就能算出任何一天的距离了。
如果要直接算出中间某一天走了多少度和几分,就先把这一天减去1,再乘以每日的差值,然后加上或减去第一天走的距离。速度越来越慢就减,越来越快就加。满一辰(指度量单位)就是度,不满一辰就是几分,这就得到了这一天走的度和分了。
最后,如果要直接算出从第一天到某一天一共走了多少度和几分,先把这一天减去1,再乘以每日的差值,然后除以2。把结果加上或减去第一天走的距离,速度越来越慢就减,越来越快就加。再乘以这一天对应的日数,除以一辰(指度量单位),得到的就是总共走的度数,余数就是几分。这就是从第一天到这一天一共走了多少度和几分。
首先,咱们算算差值。先确定好总的度数,然后算出总共需要多少天。把要求的度数,用辰法乘以它,如果有小数就保留着。再把结果乘以8,然后除以每天的差值,得到一个积。把第一天运行的度数乘以2,再根据每天差值的大小,依次加减。如果每天的差值越来越大(运行越来越慢),就加;如果每天的差值越来越小(运行越来越快),就减。然后,再除以每天的差值,得到一个比率。现在,把这个比率自乘,再把之前算出的积加减进去。如果每天的差值越来越大,就用积减去;如果每天的差值越来越小,就用积加上。接下来开平方再除,得到的结果,再根据比率加减。如果每天的差值越来越大,就加上比率;如果每天的差值越来越小,就减去比率。最后再把结果除以2,这就是我们要求的天数。至于开平方除法,就是把需要开平方的数作为实数,在实数下面借一个算筹,叫做下法。然后一步一步算,商写在上面,商的副本写在下法上面,叫做方法。用上面的商去除实数,除完后,把方法乘以2再除以2,下法除以2再除以2,然后把新的商写在下法上面,叫做隅法。把隅法和方法加起来,再用新的商去除实数,除完后,隅法从方法中减去,就像之前开方那样继续算。一直算到除尽,按照上面的方法计算就能得到结果了。
接下来,咱们看看星星在黄道南北的位置。要根据星星运行变化进入阴阳爻的情况来确定。如果星星之前变化进入阳爻,就在黄道北;进入阴爻,就在黄道南;如果星星之后变化进入阳爻,就在黄道南;进入阴爻,就在黄道北。对于金星和水星,我们用爻的变化作为之前的变化,分别计算它们的运行变化。从第一天进入爻开始算,一直算到老象上爻末尾,如果不满变行度常率,就保留这个数,用变行日定率乘以它,再除以变行度常率,得到天数。如果进入变化的天数小于这个天数,星星就在黄道南北,根据它进入的阴阳爻来确定。如果超过这个天数,黄道南北的位置就反过来了。