咱们先说这爻统、象积、辰昏明刻这些个事儿。爻统是一千五百二十,象积是四百八十,辰时八刻一共一百六十分,昏明两刻一共二百四十分。 每个时辰的气都有它的盛衰变化,根据节气对应的日期,每天都要根据升降的比例来增减它的数值。满一百就从衰弱的状态开始算,这样就能算出每天的气盛衰变化了。 距离二分前后各一个节气之外,升降的比例不一样,都以三天为一个周期。比如雨水节气的第一天,要下降七十八;第一天结束,每天减少十二;第二天结束,每天减少八;第三天结束,每天减少三;第四天结束,每天减少二;第五天结束,每天减少一。清明节气第一天,要上升一;第一天结束,每天增加一;第二天结束,每天增加二;第三天结束,每天增加三;第四天结束,每天增加八;最后一天结束,每天增加十九。处暑节气第一天,要下降九十九;第一天结束,每天减少十九;第二天结束,每天减少八;第三天结束,每天减少三;第四天结束,每天减少二;最后一天结束,每天减少一。寒露节气第一天,要上升一;第一天结束,每天增加一;第二天结束,每天增加二;第三天结束,每天增加三;第四天结束,每天增加八;最后一天结束,每天增加十二。 把每个节气第一天的升降比例算出来,然后根据周期天数依次增减,就能算出每天的比例了。再用这个比例去调整每个节气开始时的盛衰数值,就能得到每天确定的盛衰数值了。

接下来说日影长度的事儿。在南方正对着太阳的地方,正午的时候是没有日影的。从正对着太阳的地方往北数一度,日影长度的初始值是1379。从这里开始计算,每往北移动一度,日影长度就增加一分,一直到二十五度,一共增加了二十六分。然后每度增加二分,一直到四十度。再然后每度增加六分,一直到四十四度,一共增加了六十八分。接下来每度增加二分,一直到五十度。然后每度增加七分,一直到五十五度。再然后每度增加十九分,一直到六十度,一共增加了160分。之后每度增加三十三分,一直到六十五度。再然后每度增加三十六分,一直到七十度。接下来每度增加三十九分,一直到七十二度,一共增加了260分。之后每度增加440分,再然后每度增加1600分,再然后每度增加1860分,再然后每度增加2840分,再然后每度增加4000分,最后每度增加5340分。这些都是每一度的差值。把这些差值累加起来,再加到初始值上,满一百为一分,十分为一寸,这样就能算出每一度的日影差值了。最后把这些日影差值累加起来,就能得到正对着太阳的地方往北每一度的日影长度了。

首先,算出太阳在北方的度数。具体方法是:把每个节气的度数减去极度,再用极度减去冬至日太阳的度数(56度82分),再除以二,得到太阳在北方的度数。然后,根据节气的变化,计算出每天日晷的差值,满一百为一分,十分为一寸,这样就得到了每天日晷的差值。接着,用递减或递加的方法,根据节气的变化调整初始日晷的数值,得到每天日晷的常数。

接下来,计算每天日晷的最终数值。根据太阳所在节气和阴阳爻的变化,计算出前半日和后半日的比例,不足则反向计算。将这个比例乘以日晷的差值,再进行加减运算,就得到了每天日晷的最终数值。冬至后,前半日用差值减,后半日用差值加;夏至后,前半日用差值加,后半日用差值减。冬至那天只减不加,夏至那天只加不减。

然后,计算每天夜半漏的数值。根据节气的变化,用递减或递加的方法调整初始夜半漏的数值,得到每天夜半漏的最终数值。将夜半漏的数值换算成刻,再进行一系列的计算,得到晨初的余数。之后,计算昼夜的刻数。将夜半漏的数值乘以二得到夜刻,用百刻减去夜刻得到昼刻。再从昼刻中减去五刻加到夜刻,昼刻就变成了日照时间,夜刻就变成了日没时间。将日没时间的一半加上半个时辰,再从子初开始计算,就能得到日出时间。加上日照时间,就能得到日落时间。 计算每更和每筹的差值,然后计算甲夜初刻和五夜更筹的时刻。夜半定漏也叫晨初夜刻。

接下来,计算每天太阳距离北极点的度数。根据节气的变化,用递减或递加的方法调整初始距离北极点的度数,得到每天距离北极点的最终度数。

再计算每天太阳距离黄赤道中点的度数。根据节气的变化,用特定的系数(12386/16277)计算出度数差,然后用递加或递减的方法调整初始距离中点的度数,得到每天距离中点的最终度数。将这个度数乘以二,再从周天(360度)中减去,得到太阳距离子午线的度数。

最后,计算昏中星和晓中星的位置。用太阳的赤道日度加上距离中点的度数,得到昏中星的位置。将距离子午线的度数乘以二,再加到昏中星的位置上,得到晓中星的位置。昏中星就是甲夜的中星,加上每更的度数差,就能得到五夜的中星位置。

古代计算节气的方法,挺复杂的。首先,各地日晷长度在每个节气初日的正午都不一样。所以要先算出每个节气太阳位置变化的数值,也就是“消息定数”。怎么算呢?先测定当地冬至或夏至(测一个就行,不用都测)正午日晷的长度。然后,把这个长度跟已知的不同纬度正午日晷长度表对照,找到相同的长度,就能知道当地纬度。再用“消息定数”加上或减去这个纬度,就能算出每个节气正午的太阳高度。最后,根据这个太阳高度和当地纬度,算出每个节气初日正午日晷的标准长度。如果测量的日晷是在南边,那就用测得的长度去对照,算出当地纬度与正午太阳高度的差值,反过来就是南纬度,再用“消息定数”进行加减。

接下来,要确定当地冬至和夏至的昼夜长度,用漏刻来测量。然后相减得到冬夏至昼夜长度的差值,再除以二,分别加减到冬夏至的昼夜长度上,就能得到春分和秋分的昼夜长度。然后,用“消息定数”乘以当地冬夏至昼夜长度的差值,再除以冬夏至太阳高度的差值(比如47分之80),把结果加减到春分和秋分的昼夜长度上,就能算出其他节气的昼夜长度。

每天太阳高度的变化,也要用同样的方法计算。用昼夜长度差值乘以“消息定衰”,再除以太阳高度差值,然后把结果分别加减到节气初日的昼夜长度上,就能算出次日的昼夜长度。计算太阳高度和日出日落时间,都参考阳城的方法,用昼夜长度差值乘以某个数值,再除以太阳高度差值,就能得到结果。如果已知当地春分秋分的正午日晷长度和阳城每日日晷长度,就能通过比较找到相同的长度,从而确定当地春分秋分昼夜长度的一半。计算其他节气的昼夜长度,也用“消息定数”进行加减,累计起来就是总的昼夜长度。计算次日昼夜长度,也用“消息定衰”和阳城的方法来计算。总的来说,这个方法比较合理,但因为山高水低的影响,日晷长度虽然相同,但漏刻的刻度却不一样,所以需要综合考虑。