第6讲 东南望波口 —— 连索法:用一条绳子量出河口的宽度
这一讲是海岛算经里最巧妙的一题——古人在地上拉一条绳子(连索),通过两次观测绳子的"入索"长度和一次"后退"对照,就能算出河口的宽度。不需要过河,不需要乘船,一条绳子加两根木表就够了。
白话翻译
今有东南望波口,立两表南、北相去九丈,以索薄地连之。当北表之西却行去表六丈,薄地遥望波口南岸,入索北端四丈二寸。以望北岸,入前所望表里一丈二尺。又却后行去表一十三丈五尺。薄地遥望波口南岸,与南表参合。问波口广几何?
答曰:一里二百步。
术曰:以后去表乘入索,如表相去而一。所得,以前去表减之,馀以为法;复以前去表减后去表,馀以乘入所望表里为实,实如法而一,得波口广。
这道题说的是什么
前面几题,我们测的是海岛、松树、深谷、城邑和楼——这些都是"看一个或两个点"。这一题变了:测一个宽度——河口的宽度。
想象一下:你站在一条河的南岸,河对岸是一个河口(波口),你需要知道河口有多宽。但你没法过河,也没有测量工具——你只有两根木表(表)和一条绳子(索)。
这就是连索法的核心场景:不过河,测河宽。
刘徽的解法分三步:
第一步:在河岸上,南北方向立两根表,相距 9 丈。两表之间用一条绳子(索)贴着地面连起来。
第二步:走到北表西边 6 丈的位置,趴在地上(薄地)看河口的南岸。视线经过北表,落在绳子的北端——绳子被"吃掉"了 4 丈 2 寸(入索北端)。再从这个位置看河口的北岸,视线穿过北表,在表上标记出"入前所望表里"1 丈 2 尺——也就是北岸比南岸多"缩进去"的距离。
第三步:再往后退,走到距北表 13 丈 5 尺的位置,趴在地上看河口的南岸。这次,视线恰好经过南表的顶端——说明你的视线刚好与南表、河口南岸三点共线。
有了这三个数据——第一次入索 4 丈 2 寸、前进位置距北表 6 丈、后退位置距北表 13 丈 5 尺、以及入所望表里 1 丈 2 尺——就能算出河口的宽度。
示意图
关键:两次不同距离的观测 + 南北岸差的"入所望表里",构成"三望"测量河宽。
图怎么画出来
这道题用的是连索法,它的数学本质是相似三角形 + 重差原理。
第一步:理解几何关系
先画一个俯视图,理解场景:
- 南北方向立两表,相距 丈。绳子(索)连接两表。
- 河口在观测点的东侧,南北各有一岸(南岸和北岸),河口宽度 未知。
- 观测点在北表西侧,第一次在距北表 丈处,第二次在距北表 丈处。
第二步:第一次观测——看南岸
第一次观测(距北表 6 丈),视线经过北表看河口南岸:
- 视线在绳子上截出"入索北端" 丈 寸 丈
- 这相当于:在观测点、北表、河口南岸构成的相似三角形中,绳子(长度 )被截出一段
由相似三角形:
其中 是北表到河口南岸的水平距离(沿东西方向)。
由此可得:
第三步:再看北岸——"入所望表里"
同一次观测,再看河口的北岸:
- 视线经过北表,在北表上"入前所望表里" 丈 尺 丈
- 这个 是北岸比南岸多缩进去的距离,即北岸相对于南岸的偏移量
由相似三角形:
其中 是河口宽度(南北方向)。
第四步:第二次观测——后退验证
第二次观测(距北表 丈),视线经过南表看河口南岸,三点共线。
这意味着从后退位置看,南表恰好挡住了河口南岸。由相似三角形:
这个关系告诉我们在后退位置,视线与南表参合时,南北表距离 和观测点距北表距离 之间的关系。
第五步:联立求解
从 (1) 和 (4),我们可以解出 : 由 (4) 得:
代入数值:
等等,负的?这说明我们的模型需要调整。实际上,连索法的几何关系略有不同——让我们重新审视。
正确的理解
实际上,这道题的几何关系是这样的:
第一次观测(距北表 丈):视线经过北表看河口南岸,在绳子上截出"入索北端" 丈。由相似三角形:
其中 是观测线到北表沿东西方向的距离。
第二次观测(距北表 丈):视线经过南表看河口南岸,三点共线。由相似三角形, 观测点—南表—河口南岸 观测点—北表—南表:
等等,这又复杂了。让我们用刘徽的术文来推导,会更直接。
刘徽的术文推导
刘徽的术文说:
以后去表乘入索,如表相去而一。所得,以前去表减之,馀以为法;复以前去表减后去表,馀以乘入所望表里为实,实如法而一,得波口广。
翻译成现代公式:
第一步:以后去表 乘入索 ,再除以表相去 :
第二步:减去前去表 ,得"法"(分母):
第三步:后去表减前去表,得 丈,乘以入所望表里 丈,得"实"(分子):
第四步:实除以法:
300 丈 = 1 里 200 步(1 里 = 300 步,但这里用的是"一里二百步"的答数,说明当时 1 里 = 300 步,300 丈正好对应 1 里 200 步的换算关系)。
整理成公式:
代入数值:
与答案完全一致!
古人的算法解读
这道题是连索法的典型代表。它和前面几题最大的不同在于:用绳子代替了矩或表的高度。
连索法的核心思想:
-
用绳子做"水平标尺":南北方向拉一条绳子,代替了前面几题中"矩"的竖直边。观测者趴在地上,视线贴着地面,这样绳子的"入索"长度就相当于一个水平方向的比例尺。
-
两次不同距离的观测:第一次在 6 丈处,第二次在 13.5 丈处。两次观测点与南表、北表的相对位置不同,构造了两组相似三角形。
-
"入所望表里"是关键:这是南北岸的"差"——同一观测点看南岸和北岸,视线在表上的偏移量。这个偏移量直接对应河口的宽度。
刘徽的算法分四步:
第一步: 丈——这个值实际上是在计算:如果观测点在 处,通过相似关系推算出的"等效前去表距离"。
第二步:减去实际前去表 ,得 丈——这是"重差"的体现,两个观测点因位置不同导致的测量差异。
第三步:——前后两次观测的距离差乘以南北岸的偏移量。
第四步: 丈——这个巨大的比值(300 倍)意味着:观测位置微小的变化,对应着河口宽度很大的变化。这就是"重差术"的精髓——用小的测量差,放大到大的未知量。
这道题的精妙之处
这道题最精彩的地方,在于连索法的优雅设计:
-
不过河,量河宽——这是最直接的实用价值。古人不需要过河,不需要乘船,在地面上就能测出河口的宽度。
-
绳子代替高度——前面几题用的都是"矩"(竖直的),这一题用的是"索"(水平的)。竖直的测量对应高度/深度,水平的测量对应宽度——古人已经掌握了这种"维度转换"的思维。
-
双观测点 + 双目标——第一次观测看南岸和北岸两个目标,第二次观测只看南岸做验证。这就是刘徽所说的"三望"——比"二望"多了一个观测维度。
-
入索 + 入表里配合——"入索"提供横向位置信息,"入表里"提供纵向(南北方向)的信息。两个数据配合,就能解出未知宽度。
这就像现代测量学中的交会法(intersection):从两个已知点观测同一个未知点,通过角度差确定未知点的位置。只不过古人用的是"相似三角形"而不是"三角函数"——思路完全一样,工具不同。
跟高中数学的关系
这道题对应的高中知识点是:
相似三角形的综合应用 + 比例线段 + 解方程
具体对应
- 相似三角形的判定:AA 判定(两个角对应相等)
- 比例线段:相似三角形对应边成比例,建立比例方程
- 解分式方程:从比例关系建立方程,求解未知量
- 重差原理:两次测量值的差与未知量之间的比例关系
高考题型
这道题本质上是"从两个不同位置观测同一目标,建立方程组求解"的经典题。在高考中,这类题出现在:
- 解三角形应用题——尤其是"测量距离/宽度"类问题
- 平面几何——相似三角形的综合应用
- 函数与方程——建立方程模型求解实际问题
典型的考题形式:某人站在河岸上,在 A 处看对岸某点,测得视线与河岸的夹角为 ,后退 米到 B 处,再测夹角为 ,求河宽。这正是刘徽连索法的现代版本——只不过古人用的是"入索"(绳子上的截距),现代用的是"正切"。
教学启示(可选)
这道题对高中数学教学很有启发:
-
测量工具的创新——连索法告诉我们:测量工具不一定要复杂。一条绳子 + 两根木表,就能解决"不过河量河宽"的问题。这启发学生:数学方法比工具更重要。
-
俯视图 vs 侧视图——前面几题都是侧视图(高度/深度),这一题是俯视图(宽度)。不同的视图对应不同的测量维度,但数学结构完全一样——都是相似三角形。
-
"三望"的升级——从"二望"(两次观测)到"三望"(三次观测),不只是加一次观测,而是增加了测量维度:从"测一个点"到"测一个物体的尺寸"(宽度)。
-
重差术的通用性——连索法、累矩法、重表法,三种方法看似不同,本质上都是"重差"——利用两次测量的差值推算未知量。这种"差"的思想,在微积分中演变成了"微分"。
思考与拓展
-
这道题中,如果绳子长度 变大(比如从 9 丈变成 18 丈),对计算结果有什么影响?反过来,如果绳子太短会怎样? (提示:看公式中 在分母中的位置,以及它在 中的作用。)
-
你能不能把这道题改成一个"现代版"的高考题?已知观测点位置、后退距离、两次视线与河岸的夹角,求河宽。 (提示:用 和 代替古人的"入索"和"入表里"。)
-
连索法为什么一定要"薄地"(趴在地上)观测?如果站着看会有什么问题? (提示:视线高度会影响相似三角形的比例关系;"薄地"保证了视线和地面在同一水平面上。)
-
这道题的"入所望表里"(1 丈 2 尺)和前面"望松"题的"入表"(2 尺 8 寸)有什么本质区别? (提示:前者是南北岸的宽度差,后者是松树从地面到树梢的高度差——一个是水平方向的差,一个是竖直方向的差。)
一句话总结
连索法用一条绳子代替了高度测量:不过河、不乘船,在地面上拉一条绳子、站两个位置,通过"入索"和"入表里"两个数据,就能算出河口的宽度——重差术从"竖"做到了"横"。