小甲鱼 发表于 2024-2-6 03:57:28

海伦公式(Heron's formula)—— 三角形万能面积公式

海伦公式(Heron's formula)

海伦公式(Heron's formula),是一个不需要知道高度,就可以直接计算任意三角形面积的公式。

这个公式特别有用,如果你知道这条公式,那么在考试中遇到三角形面积问题几乎就是开挂答题!

{:5_102:}

设一个三角形的三边长分别为 a、b、c,则该三角形的面积 A 可以通过下面的公式计算:

$A = \sqrt{s(s - a)(s - b)(s - c)}$,其中,$s = \frac{a + b + c}{2}$


举例

三角形 ABC 的边长如下所示:



我们只需要先算出 s 的值:

$s = \frac{a + b + c}{2} = \frac{5 + 8 + 9}{2} = 11$

那么三角形的面积 A 就是:

$A = \sqrt{s(s - a)(s - b)(s - c)}$

$\quad = \sqrt{11 \times (11 - 9) \times (11 - 5) \times (11 - 8)}$

$\quad = \sqrt{11 \times 2 \times 6 \times 3}$

$\quad = \sqrt{396}$

$\quad = 6\sqrt{11}$


利用勾股定理进行证明

利用勾股定理证明海伦公式,我们只需要做出三角形的高 h,如下:



由于

$h^2 = c^2 - d^2$

$h^2 = b^2 - (a - d)^2$

于是

$c^2 - d^2 = b^2 - a^2 + 2ad - d^2$

$a^2 - b^2 + c^2 = 2ad$



$d = \frac{a^2 - b^2 + c^2}{2a}$

所以

$h^2 = c^2 - (\frac{a^2 - b^2 + c^2}{2a})^2$

$\quad = \frac{(2ac)^2 - (a^2 - b^2 + c^2)^2}{4a^2}$

$\quad = \frac{(2ac + (a^2 - b^2 + c^2))(2ac - (a^2 - b^2 + c^2))}{4a^2}$

$\quad = \frac{(2ac + a^2 - b^2 + c^2)(2ac - a^2 + b^2 + c^2)}{4a^2}$

$\quad = \frac{((a + c)^2 - b^2)(b^2 - (a - c)^2)}{4a^2}$

$\quad = \frac{((a + c) + b)((a + c) - b)(b + (a - c))(b - (a - c))}{4a^2}$

$\quad = \frac{(a + c + b)(a + c - b)(b + a - c)(b - a + c)}{4a^2}$

设 $s = \frac{a + b + c}{2}$

于是

$h^2 = \frac{(a + c + b)(a + c - b)(b + a - c)(b - a + c)}{4a^2}$

$\quad = \frac{2s \times 2(s - b) \times 2(s - c) \times 2(s - a)}{4a^2}$

$\quad = \frac{4s \times (s - b) \times (s - c) \times (s - a)}{a^2}$

由于面积 $A = \frac{ah}{2}$

所以

$A = \frac{a \times \sqrt{h^2}}{2}$

$\quad = \frac{a \times \sqrt{\frac{4s \times (s - b) \times (s - c) \times (s - a)}{a^2}}}{2}$

$\quad = \frac{a}{2} \times \sqrt{\frac{4s \times (s - b) \times (s - c) \times (s - a)}{a^2}}$

$\quad = \sqrt{\frac{a^2}{4} \times \frac{4s \times (s - b) \times (s - c) \times (s - a)}{a^2}}$

$\quad = \sqrt{s \times (s - a) \times (s - b) \times (s - c)}$


利用余弦定理进行证明

关于余弦定理的推导,小甲鱼前面已经出过详细的教程了。

感兴趣的鱼油可以参考一下 -> 余弦定理(以及推导过程)

已知三角形各角如下:



根据余弦定理:

$\cos \gamma = \frac{a^2 + b^2 - c^2}{2ab}$

于是

$\sin \gamma = \sqrt{1 - \cos^2 \gamma}$

$\quad = \sqrt{(1 + \cos \gamma)(1 - \cos \gamma)}$

$\quad = \sqrt{(1 + \frac{a^2 + b^2 - c^2}{2ab})(1 - \frac{a^2 + b^2 - c^2}{2ab})}$

$\quad = \sqrt{(\frac{2ab + a^2 + b^2 - c^2}{2ab})(\frac{2ab - a^2 - b^2 + c^2}{2ab})}$

$\quad = \sqrt{(\frac{(a + b)^2 - c^2}{2ab})(\frac{c^2 - (a - b)^2}{2ab})}$

$\quad = \frac{\sqrt{(a + b + c)(a + b - c)(c + a - b)(c - a + b)}}{2ab}$

设 $s = \frac{a + b + c}{2}$

于是

$\sin \gamma = \frac{\sqrt{(a + b + c)(a + b - c)(c + a - b)(c - a + b)}}{2ab}$

$\quad = \frac{2s \times 2(s - c) \times 2(s - b) \times 2(s - a)}{2ab}$

$\quad = \frac{2}{ab} \times \sqrt{s \times (s - c) \times (s - b) \times (s - a)}$

由于 $A = \frac{1}{2}ab \sin \gamma$

所以

$A = \frac{ab}{2} \times \frac{2}{ab} \times \sqrt{s \times (s - c) \times (s - b) \times (s - a)}$

$\quad = \sqrt{s \times (s - a) \times (s - b) \times (s - c)}$


一点沙 发表于 2024-2-6 07:49:31

能讲一下推导吗{:10_256:}

学习编程中的Ben 发表于 2024-2-6 08:48:09

一点沙 发表于 2024-2-6 07:49
能讲一下推导吗

我会推导,我推过,用勾股定理.

liuhongrun2022 发表于 2024-2-6 08:54:25

学会了

小甲鱼 发表于 2024-2-6 20:33:07

一点沙 发表于 2024-2-6 07:49
能讲一下推导吗

已更新~

zhangjinxuan 发表于 2024-2-13 16:20:39

数恐症犯了
页: [1]
查看完整版本: 海伦公式(Heron's formula)—— 三角形万能面积公式