返回探索

海伦-秦九韶公式

只测量三角形的三条边长,就能直接算出它的面积

什么是海伦-秦九韶公式

海伦公式(Heron's formula)给出了一个惊人的结论:只要知道三角形的三条边,不需要任何角度或高度,就能直接算出它的面积。它由中国南宋数学家秦九韶与古希腊数学家海伦先后独立发现,因此常并称为「海伦-秦九韶公式」。

核心公式

记半周长 p(也常写作 s)为
p = (a + b + c) / 2
则三角形面积
S = √[ p(p − a)(p − b)(p − c) ]

东西方的两次独立发现

🇨🇳 秦九韶「三斜求积术」(1247 年)

南宋数学家秦九韶在《数书九章》中提出「三斜求积术」:以小斜、中斜、大斜(即三边)求田积。 他给出的形式虽然与海伦公式外观不同,但两者在代数上完全等价。

🇬🇷 海伦(Heron,约公元 62 年)

古希腊数学家海伦在《度量论》中给出了同一结果,并把「已知三边求面积」与「已知面积与周长求三边」 整理成了一套完整的测量方法,后人便以他的名字命名。

3 条边
唯一的输入条件
0 个角
无需求角或测高
p = 周长/2
公式的核心变量

交互式演示:拖动三边,实时求面积

调整三条边的长度,右侧图形与面积会同步更新;三种等价算法算出的结果保持一致。

边 a6
边 b8
边 c10
半周长 p
12
周长
24
BC 边上的高 h
8
面积 S
24
三个内角(由余弦定理反推)
∠A = 36.9°
∠B = 53.1°
∠C = 90.0°
h = 8.00a = 6b = 8c = 10ABCS ≈ 24.00
计算方式表达式结果
海伦公式√[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

同一个公式,两种写法

海伦公式与秦九韶「三斜求积术」形式不同,却是同一个结果的两种代数写法。

海伦形式(用半周长)

S = √[ p(p−a)(p−b)(p−c) ]

结构对称、便于记忆,是现代教材的通用写法。

秦九韶形式(三斜求积术)

S = √[ ¼( a²b² − ((a²+b²−c²)/2)² ) ]

只用边长平方的一次运算,反映「以边求积」的原始思路。

等价性推导(因式分解)

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)
= 2(p−a) · 2(p−b) · 2(p−c) · 2p = 16 p(p−a)(p−b)(p−c)

两边同时开方、再除以 4,即得海伦公式。因为 (c² − (a−b)²) = (c−a+b)(c+a−b), 这正是「平方差」公式的连续两次应用 —— 也是秦九韶能够发现该式的重要原因。

公式的推导与证明

从三个不同角度出发,都能推出同一个公式。

设三角形的三边为 a、b、c,其中边 c 的对角为 C。我们先用余弦定理求出 cos C, 再把它代入面积公式 S = ½ab·sin C。

  1. 1
    由余弦定理得 cos C 的表达式:
    cos C = (a² + b² − c²) / (2ab)
  2. 2
    由 sin²C + cos²C = 1 得 sin C(C 为内角,取正值):
    sin C = √(1 − cos²C) = √[4a²b² − (a²+b²−c²)²] / (2ab)
  3. 3
    代入面积公式 S = ½ab·sin C:
    S = ½ab · √[4a²b² − (a²+b²−c²)²] / (2ab)
      = ¼√[4a²b² − (a²+b²−c²)²]
  4. 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. 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

a = 13,b = 14,c = 15
p = (13+14+15)/2 = 21
S = √[21 × (21−13) × (21−14) × (21−15)]
= √(21 × 8 × 7 × 6) = √7056
S = 84

13-14-15 是著名的「海伦三角形」——三边都是整数,面积也是整数。

等腰三角形:10-13-13

a = 10,b = 13,c = 13
p = (10+13+13)/2 = 18
S = √[18 × (18−10) × (18−13) × (18−13)]
= √(18 × 8 × 5 × 5) = √3600
S = 60

若用「底×高÷2」,还需先算高 h = √(13²−5²) = 12;海伦公式一步到位。

已知三边求高

a = 5,b = 6,c = 7
p = (5+6+7)/2 = 9
S = √(9 × 4 × 3 × 2) = √216 = 6√6 ≈ 14.70
h = 2S / a = 2 × 14.70 / 5 ≈ 5.88

海伦公式常作为「已知三边求高、求内切圆半径」的前置步骤。

🗺️

土地与测绘

把不规则地块拆成若干三角形,只需用测距仪量出三条边,即可累加得到总面积,无需测量高度。

🏗️

工程与结构

桁架、屋架等由三角形构成。求各杆件围成的三角形面积,是计算用料与受力分布的基础。

🎮

计算机图形学

在建模与渲染中,三角形是基本图元。由顶点坐标出发的叉积算法与海伦公式思路相通。

📐

三角测量与导航

已知三条基线长度时,可不测角直接推算区域面积,这是早期测绘与地图绘制的重要方法。

🔬 拓展:细长三角形与数值稳定性

当三角形非常「细长」(例如三边为 1000000、1000000、1)时,直接套用海伦公式会因为 浮点数相减出现「大数吃小数」,导致结果失真。工程计算中常用 Kahan 稳定化写法:

设 a ≥ b ≥ c,则 S = ¼√[ (a+(b+c)) · (c−(a−b)) · (c+(a−b)) · (a+(b−c)) ]

它与海伦公式恒等,但把大数与小数分别放在不同的因子中,避免了灾难性抵消。 这类「同式不同算法」的例子说明:数学上等价,并不意味着计算机上同样可靠。

学习建议

记忆方法

  • • 先记 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)