从《三统历》之后,七十几种历法相继出现,直到郭守敬的《授时历》,观测越来越精确,分析也越来越细致,计算方法也越来越简便,确实可以说是超越了古代历法啊!但是,日月星辰距离我们那么遥远,仅仅依靠一个人的智慧去穷究它的运行规律,想要事事都完全吻合,永远没有差错,这根本是不可能的事。

明朝的《大统历》实际上是基于《授时历》的,到了成化年间以后,它预测的日食、月食就经常不准了。清朝的梅文鼎(宣城人)和江永(婺源人),都对天文历法有着很深的造诣,他们纠正了《授时历》里好几处错误。首先,是关于岁余(一年实际长度与回归年长度的差)和岁差(春分点沿黄道西移的现象)的增减问题。《授时历》在参考古代历法时,是增加岁余减少岁差,但在实际推算时,却又增加岁差减少岁余,它并没有找到问题的根本原因,只是用计算方法去凑合,看起来很精密,实际上却漏洞百出,不足以作为长久之法。

其次,《授时历》认为一年中岁实(实际一年长度)的增减是均匀的,天体的运行是逐渐盈缩进退的,不应该出现突然增减的情况。《授时历》认为一百年才增减一分,也就是说一百年内都没有什么差别,但超过一年就突然增减一分,一百年后又平差一分,超过一年又突然增减一分,根本就没有这种推算方法。

再次,关于二十四节气的计算,《授时历》使用了恒气法,认为当时的高冲(太阳高度最大值)和冬至在同一度数,最高点和夏至也在同一度数,冬至是盈初(一年中白昼开始变长),夏至是缩初(一年中白昼开始变短),认为盈缩的界限就是这样。所以,它用两个冬至之间相隔的天数平均分成二十四节气,认为这样符合天体运行的平均数。但是,如果过了五十年,高点和低点各向东移动一度,那么平冬至(实际观测到的冬至)和定冬至(历法计算的冬至)就不一样了,到了极端情况,平冬至和定冬至会相差两天,难道还能用两个定冬至之间相隔的天数平均分成二十四节气吗?

他研究冬至的时间,是从丙子年立冬后开始的。每天测量日影,对比数据,找到冬至前后日影长度变化相同的那一天作为冬至日。他算出:丁丑年的冬至在戊戌日夜里过了八刻半;戊寅年的冬至在癸卯日夜里过了三十三刻;己卯年的冬至在戊申日夜里过了五十七刻半;庚辰年的冬至在癸丑日夜里过了八十一刻半;辛巳年的冬至在己未日夜里过了六刻。

关于岁余(一年剩余的时间),他从宋朝《大明历》开始研究,找到六个冬至时刻的精确记录,通过这些数据计算岁余,并检验四年数据是否一致。结果发现,从大明壬寅年到现在(共819年),每年剩余时间是三百六十五日二十四刻二十五分,比《大明历》少十二秒。这二十五分就是现在通用的岁余数值。

通过这两方面的研究,他发现《授时历》当年确定的岁实(一年实际长度)已经存在细微的误差,而且和史书上的记载也有很多矛盾的地方。你看,一年小余二十四刻二十五分,四年累计就是九十七刻。如果丁丑年的冬至在戊戌日夜里过了八刻半,那么辛巳年的冬至应该在己未日夜里过了五刻,而不是六刻。反过来,如果辛巳年的冬至是六刻,那么丁丑年的冬至就应该是九刻,而不是八刻半。这四年都是实测数据,已经差了半刻了,却说完全一致,这怎么可能呢?

再看,大明五年十一月三日乙酉日夜里过了三十二刻七十分辰初三刻是冬至。从大明壬寅年到至元辛巳年,共819年。按照《授时历》的岁实计算,总共是二十九万九千一百三十三日六十刻七十五分。而从乙酉日辰初三刻到己未日丑初二刻,总共是二十九万九千一百三十三日九十二刻,多了三十三刻!却说每年都符合这个数字,这又怎么解释呢?

还有,《授时历》说比《大明历》减少了十一秒,但考证发现,《大明历》的纪法中,一年小余二十四刻二十八分一十四秒,《授时历》减少的是三分十四秒,而不是十一秒。另外,古代太阳本轮和均轮半径的差比现在大,那么加减均数也应该更大,冬至的岁实应该更大才对。在至元辛巳年间,太阳运行到高冲点(太阳赤经为90度)的时间大约和冬至时间相同,这时的岁实应该更大,一年小余的秒数大约有三十分,而《授时历》却定为二十五分。所以,从丁丑年到辛巳年这四年间,就出现了半刻的误差,郭守敬却没发现。

这些问题都足以证明《授时历》的错误。我把这些主要问题写下来,供以后研究历法的人参考。此外,《授时历》用平方立方来计算盈缩迟疾的差值,就像以前开方术用天元一去计算弧矢一样,都过于粗略。用弦矢来计算弧长,前后误差并不均匀,象限以内误差大,象限以外误差小,这一点我们也不能为前人隐瞒。

《历经》和《历议》都是郭守敬写的,世祖皇帝只让李谦润色一下《历议》,李谦并没有参与创作。札马鲁丁的《万年历》实际上就是明朝人使用的《回回历》,《明史》记载得很详细,这里就不多说了。

蒙古以前根本没啥历法,成吉思汗当上皇帝的第十五年,他驻扎在撒马尔罕城。有个回鹘人报告说,五月十五那天晚上月亮被遮住了。当时的中书令耶律楚材,用《大明历》推算了一下,说月亮应该在子时(晚上11点到凌晨1点)被遮住一部分,结果还没到半夜月亮就已经开始被遮了。那年二月和五月的初一,月亮都小小的出现在西南方。耶律楚材觉得以前的历法不准,于是另起炉灶,编了一部新的历法叫《庚午元历》。他是以《大明历》为基础,把周天(360度)减少了七十三秒,岁差也减少了七十三秒。他根据庚午年(公元1220年)蒙古大军南下,天下基本平定这个时间点,推算出上一个庚午年(公元1150年)十一月壬戌日(农历十一月初一)子时是冬至,认为这是成吉思汗受命于天的吉兆。

他还考虑到西域和中原相隔上万里,根据唐朝僧一行推算里差的方法进行了调整,这样一来,东西方观测的结果就一致了。然后他就把这个历法呈报给成吉思汗,说:“从汉朝到唐朝,历法改来改去,不下百种。各地气候早晚不同,月亮圆缺快慢不同,太阳和月亮盈亏不同,五星运行快慢不同,这些差异没有规律,先后顺序也不一样,主要是因为各地地理位置不同,或者是因为时间久远,所以不得不进行调整。唐朝的历法改了八次,宋朝的历法改了九次,金朝的《大明历》一百年才改一次。而西域离中原万里之遥,过去和现在的地理位置、气候条件都不一样,所以历法当然会有差异。你看,今年二月和五月的初一,月亮都小小的出现在西南方,这和以前的历法完全对不上。从汉朝到唐朝,历法书多得很,但都没有这种说法。虽然正月和四月的月亮都是小亏,但从没听说过初一就能看到月亮的。” 当时成吉思汗正在西域打仗,所以这个历法也没能正式颁布使用。耶律楚材还说过,西域的五星运行比中原密集,他还编过一部叫《麻答历》的历法,但现在已经失传了。耶律楚材的父亲耶律履,在金朝灭亡前编过一部《乙未元历》,耶律楚材编《庚午元历》就是以他父亲的书为基础,然后改了个名字。

到了忽必烈当皇帝的至元四年(公元1267年),一个西域人札马鲁丁用回回历法编了一部《万年历》,忽必烈稍微采用了一些。这部历法是默特纳国王马哈麻制定的,起始年份是西域阿剌必历的开元年,也就是隋朝开皇己未年(公元589年),它不设闰月,一年三百六十五天,一年十二宫,每个宫都有闰日,一百二十八年宫闰三十一天,三百五十四天为一周,一周十二个月,每个月都有闰日,三十个月闰十一天,一千九百四十一年的宫、月、日、辰又会合在一起,这就是这部历法的大概内容。

元世祖忽必烈在位十三年的时候,下令让许衡、王恂、郭守敬三位大臣负责修订新的历法。 之前,刘秉忠大臣认为《大明历》沿用多年,已经和实际情况不符,建议修订,但刘秉忠去世后,这事儿就搁置了。 等到世祖皇帝想起这事儿,就让王恂和郭守敬带着全国各地的一帮天文专家,比如陈鼎臣、邓元麟、毛鹏翼等等,一起负责这项工作,还让许衡参与进来,因为他懂天文。

郭守敬首先说,修历法最重要的是观测,而观测需要仪器。 当时司天监用的浑仪是宋朝皇祐年间在汴京造的,和现在这儿的地理位置不符,南北极的偏差大概有四度。 而且那些观测用的石表,时间长了也坏了,不能用了。 于是他们就对这些仪器进行了全面检查,重新调整摆放。 然后,他们又设计建造了新的观测台,用木头搭了个大棚子, 还发明创造了简仪、高表等等一系列新的天文仪器,用来相互验证观测结果。 他还觉得古人观测北极星的方法不太准,就发明了候极仪。 为了更直观地了解天体运行,他又发明了浑天象和玲珑仪。 为了精确测量天体的角度,他又发明了仰仪。 他还改进了一些古代的仪器,比如立运仪,证理仪等等。 此外,他还发明了景符、窥几、日月食仪、星晷定时仪等等,总共十三种新仪器。 他还另外发明了正方案、丸表、悬正仪、座正仪四种仪器,方便各地进行观测。 他还绘制了《仰规覆矩图》、《异方浑盖图》、《日出入永短图》等五幅图,辅助观测。

十六年的时候,他们把这个修历的机构改成了太史院,王恂当了太史令,郭守敬当了太史院同知,还发了印章,正式设立了机构。 这一年,郭守敬向皇帝汇报了他们新发明的仪器,并详细讲解了使用方法,从早到晚,皇帝都没觉得厌烦。 郭守敬还建议说,唐朝一行和尚在开元年间曾经在全国各地进行过天文观测,书上记载了十三处观测点。 现在咱们国家的疆域比唐朝大了很多,如果不能在各地进行观测,那么各地日月食发生的时间、昼夜长短、日月星辰的高度都会不一样。 所以应该在南北各地都设立观测点,进行天文测量。 皇帝同意了他的建议,就派了十四个官员,分头去各地进行观测。

观测的结果是:南海北极高度为十五度,夏至日影长一尺一寸六分,白天五十四刻,夜晚四十六刻;衡岳北极高度为二十五度,夏至日影长零,白天五十六刻,夜晚四十四刻;岳台北极高度为三十五度,夏至日影长一尺四寸八分,白天六十刻,夜晚四十刻;和林北极高度为四十五度,夏至日影长三尺二寸四分,白天六十四刻,夜晚三十六刻;铁勒北极高度为五十五度,夏至日影长五尺一分,白天七十刻,夜晚三十刻;北海北极高度为六十五度,夏至日影长六尺七寸八分,白天八十二刻,夜晚十八刻;上都北极高度约为四十三度;大都北极高度约为四十二度,夏至日影长一丈二尺三寸六分,白天六十二刻,夜晚三十二刻;益都北极高度约为三十七度;登州北极高度约为三十八度;高丽北极高度约为三十八度;西京北极高度约为四十度;太原北极高度约为三十八度;安西府北极高度约为三十四点五度;兴元北极高度约为三十三点五度;成都北极高度约为三十一点五度;西凉州北极高度约为四十度;东平北极高度约为三十五度;大名北极高度为三十六度;南京北极高度约为三十四度;阳城北极高度约为三十四度;扬州北极高度为三十三度;鄂州北极高度约为三十一点五度;吉州北极高度约为二十六点五度;雷州北极高度约为二十度;琼州北极高度约为十九度。

十七年,新的历法终于完成了,守敬上奏说:各位大人,我们听说啊,对于帝王来说,没有什么比历法更重要的了。从黄帝开始迎着太阳推算历法,尧帝用闰月来确定四季和年岁,舜帝则用璇玑玉衡来调整七政(日月五星)。到了夏商周三代,历法都没有固定的方法,到了周秦时期,闰月和节气更是错乱不堪。西汉的时候制定了《三统历》,一百三十年后才算确定了它的对错;东汉制定了《四分历》,七十年后才完善了仪式;又过了121年,刘洪制定了《乾象历》,这才明白了月亮运行速度有快慢之分;再过一百八十年,姜岌制定了《三纪甲子历》,这才明白了可以用月食来检验太阳的运行位置;又过了五十年,何承天制定了《元嘉历》,这才明白了可以用朔望和弦来确定大小余;又过了六十五年,祖冲之制定了《大明历》,这才明白了太阳有岁差;又过了五十二年,张子信明白了日月交道有表里,五星运行有快慢、停留和逆行;又过了三十三年,刘焯制定了《皇极历》,这才明白了太阳运行速度有盈缩;又过了三十五年,傅仁均制定了《戊寅元历》,他参考了以前的历法,开始使用定朔法;又过了四十六年,李淳风制定了《麟德历》,因为他发现以前的历法在章、蔀、元、首等方面的分度不一致,所以重新制定了一个总的办法,采用进朔法来避免月球在清晨被太阳光遮挡;又过了六十三,僧一行制定了《大衍历》,他根据朔日大小来确定九服地区日食的不同;又过了九十四年,徐昂制定了《宣明历》,这才明白了日食有气、刻、时三种误差;又过了二百三十六年,姚舜辅制定了《纪元历》,这才明白了食甚(日食或月食达到最大程度)的误差。以上这些加起来一共一千一百八十二年,历法改了七十次,其中创立新历法的有十三个大家。

过了174年后,我们伟大的朝廷统一了全国,开创了新的时代,特地命令我们来修订新的历法。我们利用自己创造的简仪和高表,通过实际观测得到了数据,对历法进行了七方面的修正:

第一,咱们来说说冬至的事儿。从丙子年立冬开始,我每天都测量日影长度,一天天记录下来,对比着找冬至前后日影长度变化相同的日期作为标准。最后算出来,丁丑年的冬至是在戊戌日夜里过了八刻半之后;丁丑年的夏至是在庚子日夜里过了七十刻之后;戊寅年的冬至是在癸卯日夜里过了三十三刻之后;己卯年的冬至是在戊申日夜里过了五十七刻半之后;庚辰年的冬至是在癸丑日夜里过了八十一刻半之后。把这些时间都比对一下《大明历》,每个时间都少算十八刻,前后都差不多,挺准的。

第二,咱们再说说一年有多少天。从刘宋的《大明历》开始,每次测量日影和观察天象,准确测出冬至时刻的只有六次。我们把这六次的数据拿来比较,算出每年的时间长度。现在已经验证了四年,结果都对得上。从宋朝大明壬寅年到现在,已经八百一十年了,平均每年是三百六十五天二十四刻二十五分,这二十五分就是现在我们用的岁余的数值。

第三,咱们说说太阳运行的轨迹。用至元丁丑四月癸酉望的月食来推算太阳的运行轨迹,算出来冬至时太阳在赤道上位于箕宿十度,在黄道上位于箕宿九度,有点偏差。然后,我又每天测量太阳运行的度数,或者用星象推算月亮,或者用月亮推算太阳,或者直接用星象的度数推算太阳,建立了计算方法。从丁丑正月到己卯十二月,一共三年,算了一百三十四次,结果都显示太阳在箕宿,和月食的观测结果一致。

第四,咱们说说月亮的运行。从丁丑年到现在,我每天都测量月亮每时每刻的运行度数来进行推算,研究月亮在黄道上运行速度的变化,包括最慢、最快和匀速运行的情况。前后一共算出了十三次月亮运行周期,一共五十一件事,除去不准确的,有三十件事的结果和《大明历》计算的月亮运行结果一致。因为验证了日月交食,所以又根据《大明历》增加了三十刻,这样就和实际的天象相符了。

第五,最后说说日月交合。从丁丑五月开始,我每天都测量月亮到北极的距离,然后和太阳到北极的距离进行比较,计算出月亮的轨道和黄道的交点,一共算出了八件事。按照日食的计算方法推算,都发生了日食,并且算出了日食发生的时间,和《大明历》算的结果差不多。

咱们先说说这二十八宿的距离。从汉朝的《太初历》开始,这二十八宿之间的距离就一直不太统一,各个历法都有增有减,改来改去的。《大明历》更是随意加减一些零头,完全是拍脑袋决定的,根本没认真测量过。咱们现在用的新仪器,把周天度分刻得非常细致,一度分成三十六分,用精密的测距线代替粗略的观测,二十八宿之间的距离和余数都是实测的结果,不再主观臆断了。

然后是每天日出日落和昼夜时间的计算。《大明历》计算日出日落和昼夜时间,都是以汴京为标准的,但汴京和咱们大都的日照时间可是不一样的。现在我们根据本地的北极高度、黄道出入的角度,制定了新的计算方法,算出每天的日出日落和昼夜时间。比如,夏至那天昼最长,日出是寅时正二刻,日落是戌时初二刻,白天是六十二刻,晚上是三十八刻;冬至那天昼最短,日出是辰时初二刻,日落是申时正二刻,白天是三十八刻,晚上是六十二刻。这些都是固定不变的。

我们这次改进历法,主要有五方面的创新:第一,关于太阳运行的盈亏变化,我们用四个节气来确定太阳运行的升降界限,再用差分法计算出每天太阳运行的起始和终止位置以及极差和累积度数,比以前更精确;第二,关于月亮运行的快慢,以前的历法都用二十八个限来计算,我们现在用八百二十分之一万分日为一个限,一共分成三百三十六个限,用垛叠差分法计算月亮运行的进退,这样就能精确计算出月亮每时每刻运行的快慢,这可是前所未有的;第三,关于黄赤道交角,以前的算法是用一百一度相减相乘,我们现在用算术中的勾股定理、弧矢、方圆等几何关系来计算,求得的度数和天体运行的实际情况非常吻合;第四,关于黄赤道内外度,我们根据多年的实测数据,得出黄赤道内外极度是二十三度九十分,然后用圆内接正方形、勾股定理等方法计算每天的极度偏差,结果和实测数据完全一致;第五,关于月亮运行轨道与黄道的交点,以前的算法是根据黄道的变化来推算月亮轨道的变化,现在我们用浑仪进行比对,算出月亮与赤道正交时,距离春秋二分黄赤道正交点一十四度六十六分,以此为依据,推算出月亮每个月与二十八宿交点的位置,这在理论上已经非常完善了。

皇上给新历法赐名《授时历》。过了十八年,新的历法才在全国推广使用。到了十九年,郭守敬觉得推算历法的公式和最终得出的数据还不完善,于是又写了七卷《推步法》、两卷《立成法》、三卷《历法议论草稿》、两卷《择日法》和十二卷《上中下三历注式》,呈报给皇上。第二年,皇上又命令太子少师李谦,对郭守敬的《历法议论》草稿进行修改,进一步阐述新历法顺应天理、符合实际的道理。

大德三年八月初一,那天是巳时,按照新历法预测会有日食,而且时间还比较长。可是到了预报的时间,却没发生日食,天文台的官员们都吓坏了。主管日历的官员齐履谦说:“日食预测失误的情况,古时候也有过,何况现在是接近中午,阳气旺盛,阴气微弱,日食不发生也是正常的。”于是,他查阅了唐朝开元年间以来日食预测失误的十个例子,向皇上做了汇报。六年六月初一,那天是戌时,新历法预测会有日食,持续时间为57秒。很多人都觉得时间太短,而且不太准确,想隐瞒不报。但是齐履谦说:“我负责的是天文历法,日食发生与否,都取决于天象。”他坚持上报了情况,结果,日食真的发生了。那些高深莫测的天文现象,必须经过长时间的观察和验证才能看出规律。《授时历》推算日食的方法,比以前十三种历法都要精确,但还是会有几分钟的误差。所以元朝时期,总共发生了45次日食,预测失误的有三次,其中一次是预测有日食,但实际上没有;一次是预测没有日食,但实际上发生了;还有一次是把夜间的日食误认为是白天的日食。齐履谦说日食发生与否取决于天象,这还是沿用了以前那些预测失误的错误说法,实在是太荒谬了!

泰定年间,齐履谦担任太史院使,发现《授时历》已经使用了五十年,从来没有进行过复核。于是,他每天测量日影长度,并观测晨昏以及五星的运行度数,从至治三年冬至到泰定二年夏至,他发现实际的天文数据,都比现行历书的数值少了大约两刻钟。于是,他撰写了《二至晷景考》两卷。虽然《授时历》有经文和图表,但是经文只是记载了推算方法,图表只是记录了计算结果,并没有详细解释方法的原理和数据的来源。于是他又撰写了八卷《经串演说》,来阐明《授时历》的原理。

赵友钦是鄱阳人,他深入研究《授时历》的原理,写了五卷本的《革象新书》,被认为是新历学的开山之作。

他那篇《历法改革》里写道:“从古到今,历法已经有六十多种了,汉朝的《太初历》还算凑合,但还是粗糙,不够精确。唐朝一行和尚编制的《大衍历》,当时觉得很精确了,但现在看来,还是粗糙得很。原因是时间短,误差小,感觉不出来,时间长了,误差积累得越来越多,不得不改。关键是要随时观测验证,才能得到准确的数据。”

他那篇《日道岁差》里写道:“《统天历》说,周天赤道是三百六十五度二十五分七十五秒,一年是三百六十五日二十四分二十五秒,一百年差一度半。但是它又说,一年长短并非一成不变,古代一年天数多,后世一年天数少,这样一来,古代的岁差就少,后世的岁差就多。现在通行的历法沿用了这种方法,设立了增减闰年的办法,推算古代一百年加一秒,推算未来一百年减一秒。”

他那篇《黄道损益》里写道:“冬至和夏至那天的黄道是平的,它的度数变化,每一度大约是赤道上九十二分之九十度的斜行。现在的《授时历》推算冬至在箕宿,由此可知,寅申两度的黄道最短,己亥两度的黄道最长,其他的度数则介于两者之间。”

他那篇《积年日法》里写道:“以前编制历法的人,是反过来推算古代的情况,说要从上元推算出历年总天数,所以必须建立日法。但也有一种所谓的‘截元术’,只是把推算出的定数按顺序计算,然后反过来推算,并不追求完全准确。现在的《授时历》采用了旧历的‘截元术’,但它对积年日法都不采用。”

他那篇《日月盈缩》里写道:“月亮运行十三度多,再加十九分之七,但有时提前,有时延后,误差甚至达到四五度。东汉的刘洪首先研究了这个问题,知道了月亮有盈亏变化,隋朝的刘焯才发现太阳也有盈亏变化,盈亏最大的时候在春秋二分,误差超过两度。李淳风有推算月孛的方法,说它六十二天运行七度,六十二年运行七周天。所谓的‘孛’,是彗星的一种,光芒偏向一侧的叫彗星,光芒四射像个圆球的叫孛星。但用月亮来命名孛星,是因为孛星所在的位置,是月亮运行最慢的地方,月亮运行到与孛星相对的位置时,运行速度最快。孛星不常出现,只能根据月亮运行最慢的地方来推测它的位置。”

他那篇《月有九道》里写道:“月亮运行在黄道内侧和外侧,距离黄道最远的地方有六度二分。月亮的运行轨道和黄道有两个交点,交点开始的地方叫罗睺,交点中间的地方叫计都。从交点开始到交点中间,月亮在黄道外侧,叫阳限;从交点中间到交点结束,月亮在黄道内侧,叫阴限。所谓的‘九道’,要用图画来解释,画四幅图,每幅图都画一个黄道,像一个圆环,环的南边是夏至,环的北边是冬至,环的西边是春分,环的东边是秋分。一幅图画成青道,与黄道在南北相交,南交点是罗睺,北交点是计都,青道的一边进入黄道的东面,是内青道,一边从黄道的东面出来,是外青道。再画一幅图画成白道,也与黄道在南北相交,南交点是计都,北交点是罗睺,白道的一边进入黄道的西面,是内白道,一边从黄道的西面出来,是外白道。再画一幅图画成朱道,与黄道在东西相交,东交点是计都,西交点是罗睺,朱道的一边进入黄道的南面,是内朱道,一边从黄道的南面出来,是外朱道。再画一幅图画成黑道,也与黄道在东西相交,东交点是罗睺,西交点是计都,黑道的一边进入黄道的北面,是内黑道,一边从黄道的北面出来,是外黑道。虽然画了四幅图,但这八条道其实只是一条道。之所以说九道,是因为北道与黄道相交,所以用九来表示。这八条道总是变化的,不能放在浑仪上,也不能画在星图上,只有黄道和赤道可以画出来。为了区别于黄道,所以用红色来表示赤道。赤道与八条道相交,距离远近不同,朱道距离最远十八度,黑道距离最远三十度,青白两道距离大约二十四度。”

他那篇《地域远近》里写道:“古代是用八尺高的表来测量四时日影的,在中原地区,夏至的日影在表北一尺六寸,冬至的日影在表北一丈三尺。到了南方交广地区和北方的铁勒等地,测量结果就各不相同了。八尺高的表似乎太短了,到了元朝以后,表高改成了四丈,这才是万古不变的标准。所谓的土圭,古已有之,但是因为地球是圆的,早晚太阳与人的距离不同,日影移动的速度就快慢不一,中午太阳与人距离最远,日影移动最慢,所以世间的土圭都是画出来的,午时已经过了午刻,早晚时刻都会有误差。中原地区已经这样了,如果用它来测量八方不同地区,土圭就更不准了,东边地区早上的日影移动快,晚上的日影移动慢,中午日影提前到达;西边地区早上的日影移动慢,晚上的日影移动快,中午日影延后到达;北边地区日影较短,移动慢;南边地区日影较长,移动快;如果在南越地区,日影短,指向南方,子午线反复变化,那就更错了。”

他那篇《日月薄食》里写道:“太阳的圆形体积大,月亮的圆形体积小,太阳运行的轨道也大,月亮运行的轨道也小,太阳的轨道离天比较近,月亮的轨道离天比较远。太阳和月亮的体积以及运行的轨道,虽然有细微的差别,但是月亮离人近,太阳离人远,所以月亮的体积看起来和太阳的轨道一样大。日食月食,应该用天度经纬来推算,经度相同纬度不同,叫做合朔;经度相同纬度也相同,合朔的时候就会发生日食或月食。人们看到太阳被月亮的黑影遮挡,所以说日食,其实太阳并没有受到损害,所谓的‘食’,只是个说法而已。太阳和月亮运行到相对位置的时候,如果

总之,方形是数的开始,圆形是数的结束。圆形起始于方形,方形最终归于圆形,天文学的计算方法,都逃不出这个道理。“要之,方为数之始,圆为数之终,圆始于方,方终于圆,周髀之术无出于此矣。” 王友钦先生把历法原理解释得非常透彻,尤其对《授时历》的算法理解得非常精深,并将自己的学问传授给了龙游人朱晖。

元朝时期,那些不是历法官员却精通历法的人,只有王友钦先生一位而已。“有元一代,不为历官而知历者,友钦一人而已。” 你看,他虽然不是朝廷的历官,却对历法有着如此高的造诣,这在当时可是独一无二的。 这说明他不仅精通天文历法,而且有着极高的天赋和对知识的追求。