原典
今有江河对岸有树,不知去岸远近。立两表齐高一丈,前后相去十步,令后表与前表参相直。从前表却行三步,人目著地,望树端与表表参相直。问去表几何?
答曰:七步半。
术曰:以表高乘表间为实。前后步相减,余为法。法除实得去表步。
——秦九韶《数书九章》测望类
这道题说的是什么
一条河,对岸有一棵树,不知道离岸边多远。测量者在岸边立两根同样高度的标杆(表),前后相距 10 步。人从前表后退 3 步,贴地望去,恰好看到树梢与两根表的上端在一条视线上。问树离前表多远?
秦九韶的答案:去表 7.5 步。
验证:表高 h=1 丈,表间距 d=10 步,人距前表 a=3 步。
由重差术公式:
x=ah×d=31×10=310≈3.33 步
这与答曰 7.5 步不符。说明表高的单位需要统一。
如果表高 h=1 丈 = 10 尺,而表间距和人后退距离的单位是"步"(1 步 = 6 尺),则:
h=10 尺=610 步=35 步
x=ah×d=3(5/3)×10=950≈5.56 步
仍然不对。
重新理解术文:"以表高乘表间为实"——这里的"表高"和"表间"应该用同一单位。
如果表高 = 1 丈 = 10 尺,表间 = 10 步 = 60 尺,前后步差 = 3 步 = 18 尺:
x=1810×60=18600=3100≈33.33 尺=633.33≈5.56 步
仍不对。
直接按答曰反推:x=7.5 步,d=10 步,a=3 步。
由 x=ah×d:
7.5=3h×10⟹h=107.5×3=2.25 步=2.25×6=13.5 尺
但题文说表高 1 丈 = 10 尺,矛盾。
结论:本题的答曰与题文存在数值矛盾,或"前后步相减"不是指 3 步,而是指其他量。但算法结构是正确的:重差术的基本公式。
示意图

双表观测:人退后三步,视线经表顶指向对岸树梢。
古人的算法
术文翻译
第一步:以表高乘表间为实
实 = 表高 × 表间距
第二步:前后步相减为法
法 = 第一次后退距离 - 第二次后退距离(或其差值)
第三步:法除实得去表步
x=法实=Δah×d(1)
重差术的几何原理
设两表高度均为 h,间距为 d。人从前表后退 a1 步,从后表后退 a2 步,两次观测的视线都经过表顶指向目标顶端。
由相似三角形:
x+a1H=a1h,x+a1+dH=a2h(2)
消去 H:
a1h⋅a1=a2h⋅(a1+d)
这个推导有误。正确做法:
由第一个方程:H=a1h(x+a1)
由第二个方程:H=a2h(x+a1+d)
联立:
a1x+a1=a2x+a1+d
a2(x+a1)=a1(x+a1+d)
a2x+a1a2=a1x+a12+a1d
x(a2−a1)=a1d
x=a2−a1a1d(3)
这是重差术的基本公式。秦九韶的术文"以表高乘表间为实,前后步相减为法"中的"表高"实际上是多余的吗?
重新审视:如果人眼不在地面(有高度 e),则:
x+a1H−e=a1h−e(4)
这会增加复杂性。秦九韶假设人眼著地(e=0),简化了计算。
河宽测量
本题测量的是河宽(树到岸边的距离)。设树到前表的距离为 x,则河宽约为 x(忽略表到岸边的距离)。
现代数学视角
三角测量法
现代测量学用三角函数解决类似问题。设观测角为 θ:
tanθ=ah(5)
两次观测得到两个角度 θ1,θ2:
x=1h(cotθ1−cotθ2)(6)
秦九韶的相似三角形法等价于三角函数法,只是没有引入角度概念。
GPS 与卫星测距
现代 GPS 定位的原理与重差术类似:通过多个卫星的信号传播时间(相当于"观测距离"),交会确定地面点的位置。这是重差术思想在现代技术中的延伸。
高中课本关联
对应知识点
本题对应高中数学必修第二册·解三角形和选择性必修第一册·空间向量。
思想延伸:重差术体现了交会定位的数学思想——通过多个观测点的角度或距离信息,确定目标位置。这种思想在现代导航、测绘中广泛应用。
运算练兵场:本题涉及比例计算、单位换算,是对运算能力的训练。
综合题常客:高考中常见"测量河宽""测量山高"等实际应用题。
思考与拓展
-
如果表高 2 米,表间距 10 米,第一次后退 3 米,第二次后退 5 米,求目标距离。
-
秦九韶的重差术与现代三角测量法有什么本质区别?哪个更精确?
-
如果只能站一个位置观测,能否用单表测量河宽?需要什么额外工具?
-
GPS 定位原理与重差术有什么关系?
一句话总结
秦九韶用双表重差法测量河宽,这一思想与现代三角测量和 GPS 定位原理一脉相承。
— Y. · 2026-11-14