海伦-秦九韶公式
只测量三角形的三条边长,就能直接算出它的面积
什么是海伦-秦九韶公式
海伦公式(Heron's formula)给出了一个惊人的结论:只要知道三角形的三条边,不需要任何角度或高度,就能直接算出它的面积。它由中国南宋数学家秦九韶与古希腊数学家海伦先后独立发现,因此常并称为「海伦-秦九韶公式」。
核心公式
东西方的两次独立发现
南宋数学家秦九韶在《数书九章》中提出「三斜求积术」:以小斜、中斜、大斜(即三边)求田积。 他给出的形式虽然与海伦公式外观不同,但两者在代数上完全等价。
古希腊数学家海伦在《度量论》中给出了同一结果,并把「已知三边求面积」与「已知面积与周长求三边」 整理成了一套完整的测量方法,后人便以他的名字命名。
交互式演示:拖动三边,实时求面积
调整三条边的长度,右侧图形与面积会同步更新;三种等价算法算出的结果保持一致。
| 计算方式 | 表达式 | 结果 |
|---|---|---|
| 海伦公式 | √[p(p−a)(p−b)(p−c)] | 24 |
| 秦九韶三斜求积术 | √[(a²b² − ((a²+b²−c²)/2)²) / 4] | 24 |
| 余弦定理 + S = ½ab·sin C | ½ab·√(1 − cos²C) | 24 |
同一个公式,两种写法
海伦公式与秦九韶「三斜求积术」形式不同,却是同一个结果的两种代数写法。
海伦形式(用半周长)
结构对称、便于记忆,是现代教材的通用写法。
秦九韶形式(三斜求积术)
只用边长平方的一次运算,反映「以边求积」的原始思路。
等价性推导(因式分解)
两边同时开方、再除以 4,即得海伦公式。因为 (c² − (a−b)²) = (c−a+b)(c+a−b), 这正是「平方差」公式的连续两次应用 —— 也是秦九韶能够发现该式的重要原因。
公式的推导与证明
从三个不同角度出发,都能推出同一个公式。
设三角形的三边为 a、b、c,其中边 c 的对角为 C。我们先用余弦定理求出 cos C, 再把它代入面积公式 S = ½ab·sin C。
- 1由余弦定理得 cos C 的表达式:cos C = (a² + b² − c²) / (2ab)
- 2由 sin²C + cos²C = 1 得 sin C(C 为内角,取正值):sin C = √(1 − cos²C) = √[4a²b² − (a²+b²−c²)²] / (2ab)
- 3代入面积公式 S = ½ab·sin C:S = ½ab · √[4a²b² − (a²+b²−c²)²] / (2ab)= ¼√[4a²b² − (a²+b²−c²)²]
- 4对根号内做因式分解(连续两次平方差):4a²b² − (a²+b²−c²)²= (2ab − (a²+b²−c²))(2ab + (a²+b²−c²))= (c² − (a−b)²)((a+b)² − c²)= (c−a+b)(c+a−b)(a+b−c)(a+b+c)
- 5令 p = (a+b+c)/2,则 a+b+c = 2p,且c−a+b = 2(p−a),c+a−b = 2(p−b),a+b−c = 2(p−c)代入并开方:S = ¼ · √[16p(p−a)(p−b)(p−c)] = √[p(p−a)(p−b)(p−c)]
证毕。注意推导过程中隐含了「任意两边之和大于第三边」,这保证了根号内四个因子 p、p−a、p−b、p−c 全部为正。
应用与例题
从测量土地到建筑结构,海伦公式让「只有边长」也能算面积。
经典特例:13-14-15
13-14-15 是著名的「海伦三角形」——三边都是整数,面积也是整数。
等腰三角形:10-13-13
若用「底×高÷2」,还需先算高 h = √(13²−5²) = 12;海伦公式一步到位。
已知三边求高
海伦公式常作为「已知三边求高、求内切圆半径」的前置步骤。
土地与测绘
把不规则地块拆成若干三角形,只需用测距仪量出三条边,即可累加得到总面积,无需测量高度。
工程与结构
桁架、屋架等由三角形构成。求各杆件围成的三角形面积,是计算用料与受力分布的基础。
计算机图形学
在建模与渲染中,三角形是基本图元。由顶点坐标出发的叉积算法与海伦公式思路相通。
三角测量与导航
已知三条基线长度时,可不测角直接推算区域面积,这是早期测绘与地图绘制的重要方法。
🔬 拓展:细长三角形与数值稳定性
当三角形非常「细长」(例如三边为 1000000、1000000、1)时,直接套用海伦公式会因为 浮点数相减出现「大数吃小数」,导致结果失真。工程计算中常用 Kahan 稳定化写法:
它与海伦公式恒等,但把大数与小数分别放在不同的因子中,避免了灾难性抵消。 这类「同式不同算法」的例子说明:数学上等价,并不意味着计算机上同样可靠。
学习建议
记忆方法
- • 先记 p 是「半周长」,不要记错成周长
- • 四个因子:p、p−a、p−b、p−c,结构完全对称
- • 三边同时放大 k 倍,面积放大 k² 倍,可用来检查
易错点
- • 忘记先检验三角形不等式,导致根号内为负
- • 把 p 当成周长代入
- • 求高时错用 h = 2S / c,注意 h 对应哪条底边
拓展方向
- • 由 S = rp 反推内切圆半径 r
- • 连接「秦九韶—海伦公式」与算法的数值稳定性
- • 尝试推导等边三角形面积 (√3/4)a²
一道小练习
一个三角形的三边长为 5、7、8,求它的面积与内切圆半径。 (提示:p = 10,S = √(10×5×3×2) = 10√3,r = S/p = √3)