海伦公式

海伦公式（Heron's formula或Hero's formula），又译希罗公式。由古希腊数学家亚历山大港的希罗发现，并在其于公元60年所著的《Metrica》中载有数学证明，原理是利用三角形的三条边长求取三角形面积。亦有认为更早的阿基米德已经了解这条公式，因为《Metrica》是一部古代数学知识的结集，该公式的发现时间很有可能先于希罗的著作。

假设有一个三角形，边长分别为$a, b ,c$，三角形的面积$A$可由以下公式求得：

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

中国南宋末年数学家秦九韶发现或知道等价的公式，其著作《数书九章》卷五第二题即三斜求积。“问沙田一段，有三斜，其小斜一十三里，中斜一十四里，大斜一十五里，里法三百步，欲知为田几何？”答曰：“三百十五顷．”其术文是：“以小斜幂并大斜幂，减中斜幂，余半之，自乘于上；以小斜幂乘大斜幂，减上，余四约之，为实，一为从隅，开平方，得积。”若以大斜记为$a$，中斜记为$b$，小斜记为$c$，秦九韶的方法相当于下面的一般公式：

$A=\sqrt{\frac1{4} \left[ a^2 c^2 - \left( \frac{a^2+c^2-b^2}{2} \right)^2 \right]}$，其中$a \ge b \ge c$

像其他中国古代的数学家一样，他的方法没有证明。根据现代数学家吴文俊的研究，秦九韶公式可由出入相补原理得出。

由于任何$n$边的多边形都可以分割成$n-2$个三角形，所以海伦公式可以用作求多边形面积的公式。比如说测量土地的面积的时候，不用测三角形的高，只需测两点间的距离，就可以方便地导出答案。

## 证明

### 利用三角公式和代数式变形来证明

与希罗在他的著作《Metrica》中的原始证明不同，在此我们用三角公式和公式变形来证明。设三角形的三边$a, b ,c$的对角分别为$A, B ,C$，则余弦定理为

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

利用和平方、差平方、平方差等公式，从而有

$$\begin{align} \sin C & = \sqrt{1-\cos^2 C} \\ & = \sqrt{(1+\cos C)(1-\cos C)} \\ & = \sqrt{\left( 1+\frac{a^2+b^2-c^2}{2ab} \right) \left( 1-\frac{a^2+b^2-c^2}{2ab} \right)} \\ & = \sqrt{\left( \frac{2ab+(a^2+b^2-c^2)}{2ab} \right) \left( \frac{2ab-(a^2+b^2-c^2)}{2ab} \right)} \\ & = \sqrt{\left( \frac{(2ab+a^2+b^2)-c^2}{2ab} \right) \left( \frac{c^2-(a^2+b^2-2ab)}{2ab} \right)} \\ & = \sqrt{\left[ \frac{(a+b)^2-c^2}{2ab} \right] \left[ \frac{c^2-(a-b)^2}{2ab} \right]} \\ & = \frac{\sqrt{(a+b+c)(a+b-c)(c+a-b)(c-a+b)}}{2ab} \\ & = \frac{\sqrt{(2s)(2s-2c)(2s-2b)(2s-2a)}}{2ab} \\ & = \frac{2}{ab} \sqrt{s(s-c)(s-b)(s-a)} \end{align}$$

$$\begin{align} A & = \frac{1}{2}ab \sin C \\ & = \frac{ab}{2} \cdot \frac{2}{ab} \sqrt{s(s-a)(s-b)(s-c)} \\ & = \sqrt{s(s-a)(s-b)(s-c)} \end{align}$$

### 利用勾股定理和代数式变形来证明

<image>

$$b^2=h^2+d^2$$

$$a^2=h^2+(c-d)^2$$

$$a^2-b^2=c^2-2cd$$

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

$$\begin{align} h^2 & = b^2-\left(\frac{-a^2+b^2+c^2}{2c}\right)^2\\ & = \frac{(2bc-a^2+b^2+c^2)(2bc+a^2-b^2-c^2)}{4c^2}\\ & = \frac{((b+c)^2-a^2)(a^2-(b-c)^2)}{4c^2}\\ & = \frac{(b+c-a)(b+c+a)(a+b-c)(a-b+c)}{4c^2}\\ & = \frac{2(s-a)\cdot 2s\cdot 2(s-c)\cdot 2(s-b)}{4c^2}\\ & = \frac{4s(s-a)(s-b)(s-c)}{c^2} \end{align}$$

$$\begin{align} A & = \frac{ch}{2}\\ & = \sqrt{\frac{c^2}{4}\cdot \frac{4s(s-a)(s-b)(s-c)}{c^2}}\\ & = \sqrt{s(s-a)(s-b)(s-c)} \end{align}$$

<image>

### 用旁心来证明

设$\bigtriangleup ABC$中，$\overline{A B}=c,\overline{B C}=a, \overline{C A}=b$。

$I$为内心，$I_a, I_b, I_c$为三旁切圆。

$$\because \angle I_aBI= \angle I_aCI=90^\mathsf{o}$$

$\therefore I_aCIB$四点共圆，并设此圆为圆$O$。

- 过$I$做铅直线交$\overline{B C}$于$P$，再延长$\overleftrightarrow{IP}$，使之与圆$O$交于$Q$点。再过$I_a$做铅直线交$\overline{BC}$于$R$点。
- 先证明$\Box I_aQPR$为矩形：$\because \angle QPR=90^\mathsf{o}, \angle I_aRP=90^\mathsf{o}$，又$\angle I_aQI=\angle I_aBI=90^\mathsf{o}$(圆周角相等)。$\therefore \Box I_aQPR$为矩形。因此，$\overline{I_aR}=\overline{QP}$。
- $\overline{PI}=$内切圆半径$=\frac{\bigtriangleup}{\frac{a+b+c}{2}}$，$\overline{I_aR}=$旁切圆半径$= \frac{\bigtriangleup}{\frac{b+c-a}{2}}$。且易知$\overline{BP}=\frac{c+a-b}{2}, \overline{PC}=\frac{a+b-c}{2}$。由圆幂性质得到：$\overline{PC}\times \overline{PB}= \overline{PQ}\times \overline{PI}=\overline{I_aR}\times \overline{PI}$。故$\frac{a+b-c}{2}\times \frac{c+a-b}{2} = \frac{\bigtriangleup}{\frac{a+b+c}{2}}\times \frac{\bigtriangleup}{\frac{b+c-a}{2}}$ $\Rightarrow \bigtriangleup=\sqrt{\frac{a+b+c}{2}\times \frac{b+c-a}{2}\times \frac{a+c-b}{2}\times \frac{a+b-c}{2}}$

## 其他形式

海伦公式可改写成以幂和表示：

$$\begin{align} A &= \frac{1}{4} \sqrt{(a^2+b^2+c^2)^2-2(a^4+b^4+c^4)}\\ &= \frac{1}{4} \sqrt{2(a^2b^2+b^2c^2+a^2c^2)-(a^4+b^4+c^4)}\\ \end{align}$$

将海伦公式略为变形，知

$$16 A^2=[(a+b)+c][(a+b)-c] \times [c+(a-b)][c-(a-b)]$$

多次使用平方差公式，得

$$\begin{align} 16 A^2 &=[(a+b)^2-c^2] \times [c^2-(a-b)^2]\\ &=[2ab+(a^2+b^2-c^2)]\times[2ab-(a^2+b^2-c^2)]\\ &=(2ab)^2-(a^2+b^2-c^2)^2\\ &=4a^2b^2-(a^4+b^4+c^4+2a^2b^2-2b^2c^2-2a^2c^2)\\ &=(2a^2b^2+2b^2c^2+2a^2c^2)-(a^4+b^4+c^4)\\ &=2(a^2b^2+b^2c^2+a^2c^2)-(a^4+b^4+c^4)\\ \end{align}$$

等号两边开根号，再同除以4，得

$$\begin{align} A &=\frac{1}{4}\sqrt{2(a^2b^2+b^2c^2+a^2c^2)-(a^4+b^4+c^4)}\\ <pre> &=\frac{1}{4} \sqrt{(a^2+b^2+c^2)^2-2(a^4+b^4+c^4)}\\ </pre> \end{align}$$

## 参见

- 婆罗摩笈多公式：海伦公式对圆内接四边形的推广。