第4讲 南望方邑 —— 正方形边长的间接测量
不知道城邑有多大?站在北门外的树和西门外的观测点,用相似三角形就能算出正方形城邑的边长。这是一道巧妙的面积反推题。
白话翻译
今有邑方不知大小,各中开门。出北门三十步有木,出西门七百五十步见木。问邑方几何?
答曰:一里。
术曰:令两出门步数相乘,因而四之,为实。开方除之,即得邑方。
这道题说的是什么
前两题测的是"高度"——岛高、山高、树高。
这一题换了一种思路:测宽度。
想象一下:有一座正方形的城邑,四面都有城门,我们不知道这座城到底有多大。但是在城的北门外面三十步有一棵树,在城的西门外面七百五十步有一个观测点,从这个点正好能看到那棵树。
问题就是:这座城的边长是多少?
你可能觉得很奇怪——明明看不到城的范围,怎么就能知道城有多大呢?
刘徽给出的答案很简洁:一里,也就是三百步。
更神奇的是他的算法——"两出门步数相乘,因而四之,为实。开方除之"。翻译成现代公式就是:
代入数字: 步 = 1 里。
为什么两个"步数"相乘再开方,就能得到城邑的边长?这就是我们接下来要讨论的。
示意图
图怎么画出来
这道题是个有趣的几何谜题——题目说站在西门外,能看到北门外的树。视线必须擦过城的某个角落才能看到。
根据题目的数字,我们可以证明:视线恰好擦过城的西北角(也就是北门和西门所在的那一边相交的角)。
具体来看:设城边长为 步,北门在北边的中点,树在北门外 30 步处;西门在西边的中点,观测点在西门外 750 步处。
我们可以验证三点共线:
- 北门中点:,即
- 树:
- 西北城角:
- 西门:,即
- 观测点:
从观测点到树的连线,斜率为 。
从观测点到西北城角:斜率为 。
两斜率相同——三点共线。观测点、西北城角、树,恰好在一条直线上。
这就是"出西门七百五十步见木"的几何含义。
古人的算法解读
术曰说:"令两出门步数相乘,因而四之,为实。开方除之,即得邑方。"
翻译过来就是:
跟答案完全一致。
但这背后是为什么?两扇门出去的步数,怎么会相乘开方就得到城边长呢?
现代数学视角:相似三角形
我们用相似三角形来推导。
设城邑为正方形 ,边长为 :
- 为西北角, 为东北角, 为东南角, 为西南角
- 北门在 的中点 , 为北门外的树, 步
- 西门在 的中点 , 为西门外的观测点, 步
关键几何关系:视线从 出发,擦过城角 ,恰好到达 。也就是说,、、 三点共线。
从图上可以看出两对相似直角三角形:
第一对:
- (因为城是正方形,边是水平和竖直的)
- (因为 、、 共线,内错角相等)
所以 (AA 相似)。
由此得到比例关系:
其中:
- (西出门步数)
- (北出门步数)
- (城边长的一半,因为 是北门, 是西北角)
- (同理)
代入:
交叉相乘:
这正是刘徽的术文!两出门步数相乘再乘以四,开方就是邑方。
代入数字验证:
完美对上。
这道题的精妙之处
这道题比前两题都更有意思,因为它的观测方式完全不同。
前两题都是"立表后退"——人拿着杆子往后退,用视线的角度差来算距离。这道题没有立表,也没有人动来动去——而是利用了一条天然的几何关系:从西门外看,视线刚好擦过城的西北角,看到北门外的树。
换句话说,题目隐含了一个"三点共线"的条件:观测点、城角、树,三点在一条直线上。
而正是这个共线条件,构造出了两对相似三角形,解出了城边长。
这种思路在数学上叫"构造相似"——不是直接测量,而是利用已有的几何关系,把未知量转化成已知的相似比。
跟高中数学的关系
这道题对应的高中知识点是:
相似三角形的判定与性质 + 比例线段
具体来说:
- AA 相似判定:两个角对应相等,两三角形相似
- 相似三角形对应边成比例
- 比例的基本性质:若 ,则
这道题如果放在高中数学的"解三角形"章节,是一道非常经典的"间接测量"问题——你不需要走到城边上去量,只需要站在西门外、站在北门外,利用视线共线这个条件,就能算出城的大小。
思考与拓展
-
这道题里,为什么视线恰好擦过西北角?能不能擦过其他角? (提示:试着把西北角换成东北角,看看比例关系还成立吗?)
-
如果城不是正方形,而是长方形(东西宽、南北窄),同样的观测方法还能用吗?需要补充什么条件? (提示:两个方向出门的步数,分别对应不同的边长,这时候会有几个未知数?)
-
刘徽的术文说"开方除之"——你知道古代人是怎么开方的吗? (提示:中国传统的开方术,最早可以追溯到《九章算术》,用的是类似"长除法"的逐位逼近算法。)
-
你能不能用这道题的方法,反过来设计一个问题:已知城邑边长和北门外的树,问观测点应该站在西门外多远的地方才能"见木"?
一句话总结
两个方向出门的步数相乘再乘四,开方就是正方形城邑的边长——三点共线构造相似三角形,是这道题的几何灵魂。