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

相似三角形在古代测量中的应用

相似三角形是古代测量的核心工具。从井深到日高,从河宽到海岛,相似三角形无处不在。它的价值不在「算」,在于把一个不可达的量,换成一组可达的量。

从一类不可能的问题开始

有些东西没法直接量。

井有多深?不能把尺子伸下去。太阳有多高?更不能。 河有多宽?没有船就过不去。山有多高?爬上去要三天。

这些问题在古代不是「难」,是「不可能」。 但《周髀算经》和刘徽《海岛算经》给出了一套统一办法:量那些量得到的,推算那些量不到的。

工具是相似三角形。

示意图

相似三角形测量应用

相似三角形测量——通过测量可到达的影长或基线,推算不可到达的目标(如太阳、河宽、山高等)。

核心:一个比例式打天下

古代测量的所有花样,归根到底是一个比例式。

相似三角形的对应边成比例:

Hh=Ll⇒H=h⋅Ll(1)\frac{H}{h} = \frac{L}{l} \Rightarrow H = \frac{h \cdot L}{l} \qquad (1)

其中:

  • HH:待测高度(如日高、岛高)
  • hh:已知高度(如表高、木高)
  • LL:对应的大距离(如影端到目标)
  • ll:对应的小距离(如影长)

这个式子的用法:找一对「现成的高度」和「现成的影长」,量出它们的比,再去乘那个够不着的大距离。

所有的技巧都在于「怎么把 hh 和 ll 摆出来」。 太阳的例子用表,海岛的例子用两根表,井的例子用一根木——工具不同,比例式同一个。

井深测量:立木望水

问题:井有多深?

不能把尺子伸下去。但可以让一根木杆立在井口,人往后退,退到某个位置时,视线刚好越过杆顶看到水面。

设:

  • 木高 h=5h = 5 尺
  • 井口到观测者距离 D=30D = 30 尺
  • 观测者到木杆距离 s=2s = 2 尺

视线、木杆、井壁构成两个相似三角形:一个「大」的以井深为高、以 DD 为底;一个「小」的以木高为高、以 ss 为底。

H5=302\frac{H}{5} = \frac{30}{2} H=5×302=75 尺H = \frac{5 \times 30}{2} = 75\ \text{尺}

井深七十五尺。

关键:全程只量了三个「站地上就能量」的数——木高、井口到人、人到木。井深是推出来的。

太阳高度角:影子里藏着的角度

问题:太阳现在多高?

更准确的说法是「太阳高度角」——太阳光线与地面的夹角。

立一根表,高 hh;量它的影长 ll。阳光、表、影子构成直角三角形:

tan⁡θ=hl\tan \theta = \frac{h}{l}

不同的影长给出不同的角度:

表高影长tan⁡θ\tan\theta高度角 θ\theta
8 尺3 尺2.6667约 69.44°69.44°
8 尺6 尺1.3333约 53.13°53.13°
8 尺12 尺0.6667约 33.69°33.69°

影越短太阳越高,与日常观察一致。夏天正午影子短,冬天正午影子长——古人就用影长的变化定节气。

注意这是「角度」不是「距离」。 想知道太阳离我们多远,是另一套模型(第 2 讲的日高测量),需要引入「南北相距」这个基线。

河宽测量:一条基线换一条河

问题:河有多宽?

选对岸一个目标点 AA。在岸边取一线段 BCBC,取 BCBC 的中点 MM,过 MM 作垂直于 BCBC 的线并在岸边走到视线对准 AA 的位置 DD。此时 BC⊥DMBC \perp DM,两边等腰,量出相关长度即得河宽。

用相似的语言:这条垂线与河岸、与目标方向构成相似三角形,量得岸上的长度,就能推出对岸的宽度。

更一般的做法:在岸边量一段基线 BCBC,在 BB、CC 两点分别测目标 AA 的方向角,用正弦定理即可解出三角形 ABCABC。这是三角测量的标准形态,也是重差术的一般化。

巅峰:重差术

相似三角形量一样东西,需要「一条现成的边」。但真正的难题——海上的岛、山后的峰——连基线都拉不了。

刘徽《海岛算经》给出重差术,用两次观测消去不可达的距离。

模型:立两根等高的表,相距 dd(这个能量)。观测者先后后退,两次让视线分别过前表顶、后表顶看到岛顶。两次后退的距离差 Δ=b−a\Delta = b - a 就是关键。

岛高:

H=h⋅db−a+hH = \frac{h \cdot d}{b - a} + h

代一组数:表高 h=3h = 3,表距 d=1000d = 1000,两次却行 a=100a = 100、b=123b = 123:

H=3×1000123−100+3=300023+3≈133.43H = \frac{3 \times 1000}{123 - 100} + 3 = \frac{3000}{23} + 3 \approx 133.43

再验一组:表高 h=6h = 6,表距 d=1500d = 1500,却行 a=90a = 90、b=113b = 113:

H=6×1500113−90+6=900023+6≈397.30H = \frac{6 \times 1500}{113 - 90} + 6 = \frac{9000}{23} + 6 \approx 397.30

重差术的巧妙在于「差」字:两次观测的差值 b−ab - a 恰好把不可测的绝对距离消掉了,只留下可量的相对差。这个思想在今天叫差分——用差异代替绝对值,是测量与信号处理的基本策略。

现代数学视角

在高中数学中,相似三角形是解三角形的基础。正弦定理和余弦定理是相似三角形的推广:

正弦定理:asin⁡A=bsin⁡B=csin⁡C=2R\dfrac{a}{\sin A} = \dfrac{b}{\sin B} = \dfrac{c}{\sin C} = 2R

余弦定理:c2=a2+b2−2abcos⁡Cc^2 = a^2 + b^2 - 2ab\cos C

血缘关系:

  • 相似三角形 → 只处理直角三角形、且已知一条对应边
  • 正弦定理 → 任意三角形、已知两角一边即可解
  • 余弦定理 → 任意三角形、已知两边夹角或三边即可解

相似是「比例」,正弦是「比例的角化」,余弦是「长度的平方关系」。 三者一条线。

GPS 的数学祖先:卫星定位靠三角测量——已知多颗卫星的位置,测量到它们的距离(通过时间差),反推接收机位置。三颗卫星、三个距离、一个交点,与相似三角形同宗,只是把「视线」换成了「电磁波」。

一个思想:差异比绝对值更可靠

重差术值得单独提炼,因为它包含一个跨学科的共同思想。

回顾公式:

H=h⋅db−a+hH = \frac{h \cdot d}{b - a} + h

关键在于分母是 b−ab - a,一个差值。 两次后退的距离各自是多少并不重要,重要的是它们的差。

为什么差值比绝对值可靠? 因为绝对测量容易带系统误差——你的表没竖直、量绳有伸缩、起点选得不准确。但两次测量用的是同一套工具、同一套方法,系统误差会相互抵消,差值反而更干净。

这个思想今天到处都是:差分电路用电容的差值抵消共模噪声;A/B 测试比较两组差异而非绝对指标;深度学习里的差分隐私靠注入噪声再统计差异。「用差异代替绝对值」是从刘徽重差术到现代信号处理的一条暗线。

在高中数学体系里的位置

思想延伸:相似三角形体现了「化归」思想——把不可直接测量的量转化为可测量的量。

运算练兵场:解三角形、三角函数计算。

高考地位:解三角形是高考必考内容(大题第 17 题)。

本讲的方法论:遇到「量不到」的问题,先问「能不能找到一对相似的形状,把它们联系起来」。这个提问方式比任何公式都更通用。

再进一步:如果一对相似形也搭不起来,就搭两对——用两对消去那个够不着的量。这就是从相似三角形走向重差术的一步,也是从「一次测量」走向「差分测量」的一步。工具不够时,不是放弃,而是增加一次观测。

思考与拓展

  1. 设计一个利用相似三角形测量旗杆高度的方案(不许爬到旗杆顶)。
  2. 如果太阳光与地面成 α\alpha 角,表高 hh,影长 ll,求太阳高度角的正弦值。
  3. 在一条河的一侧,如何利用相似三角形测河宽?
  4. 思考题:用重差术模型,表高 5、表距 800、却行 100 和 115,求岛高。(答案:5×80015+5=271.67\dfrac{5 \times 800}{15} + 5 = 271.67。)\n5. 思考题:为什么重差术要求两根表等高?如果两根表不一样高,公式该怎么改?
  5. 思考题:GPS 定位至少需要几颗卫星?二维定位(地面)和三维定位(空中)所需卫星数不同,为什么?

一句话总结

相似三角形是古代测量的核心工具——从井深到日高,从河宽到海岛,化归思想贯穿始终;而重差术用两次观测的差值消去不可达的距离,把「测不到」变成「算得出」。

— Y. · 2026-10-12