网页版书目

宋史 · 卷七十六·志第二十九

宋史 · 目录

〔137〕后汉熹平三年174,《四分历》志立冬中景长一丈,立春中景长九尺六寸。寻冬至南极,日晷最长,二气去至日数既同,则中景应等,而前长后短,顿差四寸。此历景冬至后天之验也。二气中景日差九分半弱,进退均调,略无盈缩,以率计之,二气各退二日十二刻,则晷景之数,立冬更短,立春更长,并差二寸,二气中景俱长九尺八寸矣,即立冬、立春之正日也。以此推之,历置冬至后天亦二日十二刻也。熹平三年174,时历丁丑冬至,加时正在日中。以二日十二刻减之,定以乙亥冬至,加时在夜半后二十八刻。《宋志》大明五年461十月十日,景一丈七寸七分半;十一月二十五日,景一丈八寸一分太。二十六日,一丈七寸五分强。折取其中,则中天冬至应在十一月三日求其早晚。令后二日景相减,则一日差率也,倍之为法。前二日减,以百刻乘之,为实。以法除实,得冬至加时在夜半后三十一刻,在《元嘉历》后一日,天数之正也。量检弥年,则加减均同。异岁相课,则远近应率。观二家之说,略而未通。熹平乃要取其中,而失于至前、至后之余。大明则左右率,而失于为实、为法之数。若夫较景、定气,历家最为急务。观古较验,止以冬至前后数日之间,以定加时早晚。且景之差行,当二至前后,进退在微芒之间。又日有变行,盈缩稍异,若以为准,则加时相背。又晋、汉历术,多以前后所测晷要取其中,此亦差过半日。今比岁较验,在立冬、立春景移过寸,若较取加时,则宜以其相近者通计,半之为距至泛日;乃以其晷数相减,余者以法乘之,满其日晷差而一,为刻;乃以差刻(求冬至,视其前晷,多则为减,少则为加,求夏至返之。)加减距至泛日,为定日;仍加半日之刻,命从前距日辰,算外,即二至加时日辰及刻分。如此推求,则二至加时早晚可验矣。

东汉熹平三年,《四分历》记载立冬那天的正午影长是一丈,立春那天的正午影长是九尺六寸。我们知道冬至时太阳位于最南边,日影最长。立冬和立春这两个节气离冬至的天数相同,所以正午影长应该相等。可是实际测量结果却是立冬的影长更长,立春的影长更短,相差了四寸。这说明《四分历》规定的冬至比实际冬至要晚。立冬和立春的正午影长每天相差大约九分半,增减均匀,没有明显的盈缩。按照这个比率推算,如果冬至日向后推两天十二刻,那么立冬的影长会更短,立春的影长会更长,两者都相差二寸,这样两个节气的正午影长就都是九尺八寸了,这才是立冬、立春的正确日期。由此可见,历法规定的冬至也比实际晚了两天十二刻。熹平三年,当时历法规定的冬至是丁丑日,正午时刻。减去两天十二刻,实际冬至应该是乙亥日,时刻在半夜后二十八刻。 《宋书·律历志》记载,大明五年十月十日,影长一丈七寸七分半;十一月二十五日,影长一丈八寸一分太;十一月二十六日,影长一丈七寸五分强。取它们的中间值,可以确定真正的冬至应该是在十一月三日,需要查清其具体时刻。用后两天的影长相减,得到一天的差率,将这个差率加倍作为除数;用前两天的影长相减,乘以一百刻作为被除数。除数除被除数,得到冬至加时在半夜后三十一刻,比《元嘉历》规定的晚了一天,这是符合天数的正确结果。经过多年的检验,这种加减方法结果一致。不同年份相互比较,远近都符合规律。但看前述两种方法,都还有些粗略而未完全通晓。熹平的方法只是简单地取中间值,却忽略了冬至前后余数的影响;大明的方法采用了左右比率,但错误出现在实和法的取值上。关于比较影长、确定节气,这是历法家最紧要的事情。观察古代的校验,只靠冬至前后几天的测量来确定时刻的早晚。但影长的变化在二至前后非常微小。而且太阳运行有变化,盈缩稍有不同,如果以此作为标准,就会导致时刻与实际情况不符。再者,晋代和汉代的历法,大多用前后所测的影长取中间值,这样也会产生半天的误差。现在通过连续几年的校验,发现立冬、立春的影长移动超过一寸。如果要确定准确的时刻,应该用相近的日期通盘计算,取一半作为距至泛日;然后将影长相减,余数用方法换算成刻数;再用这个刻数(求冬至时,看前面的影长,如果影长较长则减,较短则加;求夏至时相反)加减距至泛日,得到定日;再加上半天刻数,从前面的日辰算起,就可以得到冬至或夏至发生的具体日辰和刻分。这样推算,冬至和夏至的具体时刻就可以验证了。

〔138〕皇祐岳台晷景法

就是北宋皇祐年间,专门在岳台用日晷测量太阳影子长度的一套观测方法,用来推算节气和时间。

〔139〕按《大衍》载日及《崇天》定差之率,虽号通密,然未能尽上下交应之理,则晷度无由合契。今立新法,使上符盈缩之行,下参句股之数,所算尺寸与天测验,无有先后。其术曰:计二至后日数,乃减去二至约余,仍加半日之分,即所求日午中积数,而置之以求进退差分,(求进退差分者,置中积之数,如一象九十一日三十一分以下为在前;如一象以上,返减二至限一百八十二日六十二分,余为在后。置前后度于上,列二百于下,以上减下,余以下乘上,满四千一百三十五除之为分,不满,退除为小分。在冬至后即为进差,在夏至后即为退差。)仍列初、末二限,(求入初、末限者,置所求日午中积数,日在冬至后初限、夏至后末限之数四十五日六十二分以下,即为所求在初限;如在已上者,乃返减二至限,余即为所求入末限。其冬至后末限、夏至后初限,以一百三十七日为率。)用求午中晷数。(求午中晷数者,视所求。如入冬至后初限、夏至后末限者,以入限日减一千九百三十七半,余为泛差;仍以限日分乘其进退差,五因百约之,用减泛差,为定差;乃以入限日分自相乘,以乘定差,满一百万为尺,不满为寸、为分及小分,以减冬至常晷一丈二尺八寸五分,余为其日午中晷数。若所求入冬至后末限、夏至后初限者,乃三约入限日分,以减四百八十五少,余为泛差;仍以进退差减极数,余者若在春分后、秋分前者,直以四约之,以加泛差,为定差;若在春分前、秋分后者,乃以去二分日数及分乘之,满六百而一,以减泛差,余为定差,用以入限日分自相乘,以乘定差,满一百万为尺,不满为寸、为分及小分,以加夏至常晷一尺五寸七分,即为其日午中晷数。若用周岁历,直以其日晷景损益差分乘其日午中之余,满法约之,乃损益其下晷数,即其日午中定晷。)如此推求,则上下通应之理,句股斜射之原,皆可视验,乃具岳台晷景周岁算数。

按照《大衍历》记载的太阳运行和《崇天历》的定差方法,虽然号称周密,但未能完全反映上下相互感应的关系,所以日影长度无法完全吻合。现在创立新的方法,让它上方符合太阳运行盈亏消长的规律,下方参照勾股定理的计算,算出的尺寸与天象实测一致,没有先后误差。具体方法是:先计算二至(冬至和夏至)以后的天数,减去二至日的尾数,再加上半天的分数,就得到所求那天正午的累计天数,用这个来求进退差。求进退差的方法是:将累计天数作为“中积”,如果小于一象(约91.31天),就算作“在前”;如果大于一象,就用二至限(约182.62天)减去它,余数为“在后”。将前后度数放在上面,下面列出200,用上面减下面,再把余数乘以上面,除以4135得到分数,除不尽退位得小分。在冬至后得到的是进差,在夏至后得到的是退差。然后还要列出初、末两个限。求进入初、末限的方法是:将所求日正午的累计天数,如果在冬至后初限、夏至后末限(约45.62天)以下,就算是在初限;如果大于这个数,就从二至限中减去它,余数就是进入末限。冬至后末限和夏至后初限都以137天为率。然后用这些数据求正午的日影长度。求正午日影长度要看具体情况。如果是进入冬至后初限或夏至后末限,就用入限天数减去1937.5,余数为泛差;然后用入限天数乘以进退差,再乘以5除以100,用这个值减泛差,得到定差;再用入限天数自乘,乘以定差,除以一百万得到尺数,不足的得到寸、分、小分,用冬至常影(一丈二尺八寸五分)减去这个结果,余数就是那天的正午日影长度。如果是进入冬至后末限或夏至后初限,就把入限天数除以3,减去485.25,余数为泛差;然后用进退差减极数,如果余数在春分后、秋分前,就除以4,加上泛差,得到定差;如果在春分前、秋分后,就用距离二分的天数乘以这个数,除以600,再减泛差,得到定差;然后用入限天数自乘,乘以定差,除以一百万得到尺数,不足得到寸、分、小分,加上夏至常影(一尺五寸七分),就是那天的正午日影长度。如果用周岁历,就直接用那天的日影损益差分乘以那天正午的余数,再按照方法约除,然后加减该日的日影数,就是那天正午的定影。这样推算,上下感应的原理、勾股斜射的根源,都可以观察验证,于是就有了岳台全年日影的计算数据。

〔140〕(表略)

这里省略了表格内容。