∫π每天一道数学题
← 返回周髀算经
周髀算经 · 第 3 讲 · 2026-10-09 · 约 14 分钟

七衡六间图——太阳的运行轨道

七衡六间图是《周髀算经》用七个同心圆描述太阳周年视运动的几何模型:内衡夏至、中衡春秋分、外衡冬至,七个衡的周长恰好排成一个等差数列。

原典

七衡六间,意在日月运行。各有一衡,衡有径有周。内衡为夏至日道,外衡为冬至日道,中衡为春秋分日道。

夏至之日,日出东北而入西南;冬至之日,日出东南而入西北。

这段话说的是什么

七衡六间图是《周髀算经》里唯一一张「画得出来」的宇宙模型图。 它把太阳一年走过的路画成七个同心圆,圆心是观测者头顶的北极——七个圆叫「衡」,圆与圆之间的六段空档叫「间」,合起来就是「七衡六间」。

「衡」取的是「横平、居中」的意思,古人借它命名太阳绕北极转出的那条圆轨道;「间」就是间隔,七条轨道之间夹出六段距离。十四个字的名字,把一张图的全部结构说完了:七个圆,六段空。

它回答的问题很实在:太阳每天走的圈,为什么一年到头不一样大。 盖天说给的答案是——太阳不是天天走同一条路,而是沿着七条大小不同的圆轨道,由内向外、再由外回内,走完一整年。

  • 内衡(最小的圆):夏至日道,离北极最近,太阳最高、白天最长;
  • 中衡(正中间那个圆):春分、秋分日道;
  • 外衡(最大的圆):冬至日道,离北极最远,太阳最低、白天最短。

先记住这三条骨架,其余四条都夹在中间。 内衡管夏至,外衡管冬至,中衡管春秋分——七衡六间图的一切推算,都从这三个锚点往外长。

示意图

七衡六间示意图

七衡六间图——七个同心圆(衡)由内到外代表太阳在不同节气的日道:内衡夏至、中衡春秋分、外衡冬至;相邻两衡之间为一「间」,共六间。

古人的算法

一、太阳走的是圆,不是直线

先纠正一个直觉:古人并不认为太阳在南北方向来回平移,而认为它在天上绕着北极画圈。 太阳每天东升西落、周而复始,古人把这每天重复的轨迹补成一个完整的圆——白天看得见的那半圈露在地平线以上,看不见的半圈沉在地平线以下。

关键的一步在这里:这个圆的大小,一年之内是变的。 北极在北方天空高处,圆心就落在那里;太阳的圈离北极越近,白天越长,越远则白天越短。所以夏至的圈最小、最靠里,冬至的圈最大、最靠外。太阳在这七条圈之间来回挪动,把「日高日低」翻译成「圈大圈小」——这个模型就能拿尺子量、拿公式算了。

二、六间等分:七衡为什么排成等差数列

七衡不是随手画的七个圆,它们的周长一层层均匀地往外加。 这是《周髀算经》最硬的一批数据,也是整张图能被计算的原因。

周髀给内一衡的数字是「径二十三万八千里,周七十一万四千里」。 注意「径」指直径,不是半径。周髀全书取「周三径一」,把圆周率当成 33,于是

3×238000=714000(1)3 \times 238000 = 714000 \qquad (1)

周长分毫不差。外衡(冬至日道)的数字正好是内衡的两倍:直径 476000476000 里,周长 3×476000=14280003 \times 476000 = 1428000 里。

六间等分,是把内衡到外衡的路平均切成六段。 两端周长相减,再除以 66:

ΔC=1428000−7140006=7140006=119000(2)\Delta C = \frac{1428000 - 714000}{6} = \frac{714000}{6} = 119000 \qquad (2)

于是七个衡的周长排成一串等差数列,首项 714000714000,公差 119000119000:

Cn=714000+(n−1)×119000(3)C_n = 714000 + (n - 1) \times 119000 \qquad (3)

中衡是第 4 个衡,离内衡隔了三间:

C4=714000+3×119000=1071000(4)C_4 = 714000 + 3 \times 119000 = 1071000 \qquad (4)

换算成直径,1071000÷3=3570001071000 \div 3 = 357000 里,与周髀所记的中衡直径一致。

半径之间的关系比周长更漂亮。 因为取古率 π=3\pi = 3,C=2πr=6rC = 2\pi r = 6r,半径就等于周长除以 66:内衡 r1=714000÷6=119000r_1 = 714000 \div 6 = 119000 里,中衡 r4=1071000÷6=178500r_4 = 1071000 \div 6 = 178500 里,外衡 r7=1428000÷6=238000r_7 = 1428000 \div 6 = 238000 里。三者的比是 119000:178500:238000=2:3:4119000 : 178500 : 238000 = 2 : 3 : 4,中衡的半径恰好是内衡与外衡半径的算术平均:(119000+238000)÷2=178500(119000 + 238000) \div 2 = 178500。

三、二十四节气落在七衡图的哪个位置

七衡能配二十四节气,是因为「六间」正好把太阳半年的行程等分了。

第一步,钉死三个锚点。 周髀把三条轨道直接对应到三个节气:内衡是夏至,中衡是春分和秋分,外衡是冬至。这三个节点把太阳的日道切成两半——从夏至走到冬至是半年,从冬至走回夏至又是一个半年。

第二步,把半年平分下去。 从夏至到冬至,一路上要经过十二个节气(小暑、大暑、立秋……直到大雪、冬至)。十二个节气走完六个间,平均下来每个间对应两个节气。照这个规则把七衡全部填满:

衡对应的节气(往返各一次)周长(里)
内衡(第 1 衡)夏至714000
第 2 衡小满、大暑833000
第 3 衡谷雨、处暑952000
中衡(第 4 衡)春分、秋分1071000
第 5 衡雨水、霜降1190000
第 6 衡大寒、小雪1309000
外衡(第 7 衡)冬至1428000

这张表要横着读。 内衡和外衡各自只出现一次——夏至和冬至是太阳走到的最北、最南两个端点,一到就回头;中间五条衡都出现两次,太阳出去时走一遍、回来时又走一遍。它把「时间」翻译成了「距离」:只要算出太阳走到了第几衡,就能推出眼下是哪个节气。

三个算例

下面三题全部使用周髀的原数据,取古率 π=3\pi = 3,一步一步算给你看。

算例一:从内衡、外衡反推中衡

题目:已知内衡直径 238000238000 里,外衡直径 476000476000 里,中间等分六间,求中衡的直径与周长。

第一步,算两端的周长。

C1=3×238000=714000,C7=3×476000=1428000(5)C_1 = 3 \times 238000 = 714000, \qquad C_7 = 3 \times 476000 = 1428000 \qquad (5)

第二步,算每间的周长差。

ΔC=1428000−7140006=119000(6)\Delta C = \frac{1428000 - 714000}{6} = 119000 \qquad (6)

第三步,中衡是第 4 个衡,离内衡隔了三间。

C4=714000+3×119000=714000+357000=1071000(7)C_4 = 714000 + 3 \times 119000 = 714000 + 357000 = 1071000 \qquad (7)

第四步,换回直径。

d4=10710003=357000(8)d_4 = \frac{1071000}{3} = 357000 \qquad (8)

验算:中衡直径 357000357000 里,正好是内衡与外衡直径的算术平均,(238000+476000)÷2=357000(238000 + 476000) \div 2 = 357000,对上了;周长同样,(714000+1428000)÷2=1071000(714000 + 1428000) \div 2 = 1071000。因为六间是等分,中衡必然落在内外衡的正中央——这是等分的必然结果。

算例二:第 nn 衡的通项与七衡周长之和

题目:写出第 nn 个衡的周长公式,再求第 6 衡的周长与七个衡的周长总和。

通项公式由首项和公差直接给出:

Cn=714000+(n−1)×119000(9)C_n = 714000 + (n - 1) \times 119000 \qquad (9)

求第 6 衡,代入 n=6n = 6:

C6=714000+5×119000=714000+595000=1309000(10)C_6 = 714000 + 5 \times 119000 = 714000 + 595000 = 1309000 \qquad (10)

第 6 衡对应大寒、小雪两个节气,它的直径是 1309000÷3=436333131309000 \div 3 = 436333\dfrac{1}{3} 里——不是整数,这一点后面还会解释。

再求七衡周长之和,用等差数列前 nn 项和公式:

Sn=n(a1+an)2(11)S_n = \frac{n(a_1 + a_n)}{2} \qquad (11)

代入 n=7n = 7、a1=714000a_1 = 714000、a7=1428000a_7 = 1428000:

S7=7×(714000+1428000)2=7×21420002=7×1071000=7497000(12)S_7 = \frac{7 \times (714000 + 1428000)}{2} = \frac{7 \times 2142000}{2} = 7 \times 1071000 = 7497000 \qquad (12)

验算:七个衡的周长逐个相加,也等于 74970007497000:

714000+833000+952000+1071000+1190000+1309000+1428000=7497000(13)714000 + 833000 + 952000 + 1071000 + 1190000 + 1309000 + 1428000 = 7497000 \qquad (13)

顺带看出一条性质:七衡周长之和,恰好是七倍的中衡周长。

算例三:内衡与外衡的面积比

题目:用古率 π=3\pi = 3,求内衡与外衡的面积,算出两者的比,再求中衡的面积。

圆的面积公式(半径平方的 3 倍):

S=πr2=3r2(14)S = \pi r^2 = 3r^2 \qquad (14)

内衡,r1=119000r_1 = 119000,外衡,r7=238000r_7 = 238000:

S1=3×1190002=3×14161000000=42483000000(15)S_1 = 3 \times 119000^2 = 3 \times 14161000000 = 42483000000 \qquad (15) S7=3×2380002=3×56644000000=169932000000(16)S_7 = 3 \times 238000^2 = 3 \times 56644000000 = 169932000000 \qquad (16)

两式相除:

S7S1=16993200000042483000000=4(17)\frac{S_7}{S_1} = \frac{169932000000}{42483000000} = 4 \qquad (17)

面积比是 4:14:1,而半径比只有 2:12:1。 半径翻一倍,面积就要翻四倍——这正是「面积随半径的平方增长」最直白的一次现身。

中衡,r4=178500r_4 = 178500:

S4=3×1785002=3×31862250000=95586750000(18)S_4 = 3 \times 178500^2 = 3 \times 31862250000 = 95586750000 \qquad (18)

验算:95586750000÷42483000000=2.25=9495586750000 \div 42483000000 = 2.25 = \dfrac{9}{4},与半径比 (32)2=94\left(\dfrac{3}{2}\right)^2 = \dfrac{9}{4} 完全吻合。三个衡的面积比是 4:9:164 : 9 : 16,也就是 22:32:422^2 : 3^2 : 4^2。

现代数学视角

七衡六间,本质上是一条等差数列

把七个衡的周长排成一行,你会发现它们从头到尾是一串等差数列:714000、833000、952000、1071000、1190000、1309000、1428000,公差固定 119000119000。这就是整张图能被「用公式画出来」的原因——记住首项和公差,七条轨道就一次全部确定。

那半径呢?半径也是等差数列,只是公差换了:119000÷6≈1983313119000 \div 6 \approx 19833\dfrac{1}{3} 里。这也解释了第 6 衡直径为什么不是整数——周髀给出来的是整齐的「周」,而「径 = 周 ÷ 3」这一步经常除不尽。所以做古法题时优先用「周」列式,能避开一串烦人的分数。

从「等差」到「高阶插值」:七衡图怎么传到授时历

七衡六间最深的影响,不是多了七个圆,而是定下了一条方法论:把太阳一年的运动,用一组规则排列的数去逼近它。

周髀用的是「均匀假设」——太阳在七衡之间走的步子一样大,六间完全等分,相当于假设太阳匀速运动。可是太阳走得并不均匀:地球绕太阳的轨道是椭圆,太阳靠近近地点时快、靠近远地点时慢。北齐的张子信透过观测发现了这一点,太阳一日一夜走过的度数一年之内并非常数,他称之为「日行盈缩」。均匀假设一破,等差的七衡就不够用了。

补丁是一层层加上去的。 隋代刘焯的《皇极历》改用二次差的内插推算太阳位置;唐代一行的《大衍历》把二十四节气改成不等间距;到了元代郭守敬的《授时历》,用的已经是三次差的内插法,古人叫「招差术」——拿高次多项式去逼近太阳那条不均匀的曲线。授时历定出的一年是 365.2425365.2425 天,与今天实测只差 2626 秒。

还有一处升级落在「率」上。 周髀把圆周率当成 33,算得中衡周长 10710001071000 里;换用祖冲之的密率 355113\dfrac{355}{113},则是约 11215491121549 里,两者差了将近 5054950549 里。骨架早就搭对了,差的只是那一个率。

七衡六间图和授时历,站的是同一条路的两端。 一端是七个同心圆、一条等差数列,另一端是招差术与 365.2425365.2425 这个准到秒的数字。隔着一千五百年,讲的却是同一件事:用越来越精细的数学,去追一颗走得并不均匀的太阳。

一个容易搞错的地方:径是直径,不是半径

周髀里的「径」,指的是直径。 「周三径一」说的是周长是直径的三倍,写成公式是 C=3dC = 3d,不是 C=3rC = 3r。要是把直径当成半径代进去,周长会算成两倍、面积会算成四倍,整张七衡图的数字全盘乱套。记一条就够了:周长比的是直径(C=πdC = \pi d),面积乘的是半径(S=πr2S = \pi r^2)。

在高中数学体系里的位置

思想延伸:七衡六间图是把天文现象「翻译」成几何模型的一次成功示范——先假定太阳沿圆轨道运行,再把「大小不同的轨道」变成一个能直接算的等差数列,最后拿它去推算二十四节气。先建模、再算数、最后用观测核对,这套流程是所有应用数学的起点。

运算练兵场:这一讲用得最多的是圆的周长与面积、等差数列的通项与求和。七个衡的周长是一串等差数列,半径是一串含分数的等差数列,面积比则反复用到「面积与半径的平方成正比」。

综合题常客:圆很少单独出现,往往是一串圆、一层层扩大的圆环,或者「圆与数列」的复合背景题。做这类题的关键动作只有两个:看清半径的等差关系,把面积转成半径的平方再比较——凡是碰到「一圈套一圈」的图形,先问一句公差是多少,多半就能破题。

思考与拓展

  1. 七衡的半径不是整数(公差 198331319833\dfrac{1}{3} 里),周长却都是整数。为什么会出现这种「一边整齐、一边不整齐」的现象?若先给定七个整数半径,周长还会整齐吗?
  2. 设内衡半径为 r1r_1、公差为 dd,写出第 nn 个衡的半径、周长、面积的通项公式,并说明面积数列的二阶差分为什么是常数。
  3. 相邻两衡之间的环形区域叫一个「间」。证明:六个间的面积依次排成一个等差数列。
  4. 夏至日太阳直射北回归线(约 23.523.5 度北纬),冬至日直射南回归线(约 23.523.5 度南纬),半年按 182.625182.625 天计,求太阳直射点南北移动的平均速度——每天约多少度?平均每个节气约多少度?

一句话总结

七衡六间图——古人用七个同心圆把太阳的周年视运动画成了一条等差数列:内衡夏至、中衡春秋分、外衡冬至,六间等分恰好对应二十四节气;这条「用几何模型追太阳」的路,一路走到了郭守敬授时历的三次插值。

— Y. · 2026-10-09