Heron's formula

Heron's formula
In geometry, Heron's formula (or Hero's formula) gives the area of a triangle in terms of the three side lengths . If is the semiperimeter of the triangle, the area is,
It is named after first-century engineer Heron of Alexandria (or Hero) who proved it in his work Metrica, though it was probably known centuries earlier.
Example
Let be the triangle with sides , and .
This triangle's semiperimeter is
and so the area is
In this example, the side lengths and area are integers, making it a Heronian triangle. However, Heron's formula works equally well in cases where one or more of the side lengths are not integers.
Alternate expressions
Heron's formula can also be written in terms of just the side lengths instead of using the semiperimeter, in several ways,
After expansion, the expression under the square root is a quadratic polynomial of the squared side lengths .
The same relation can be expressed using the Cayley–Menger determinant,
History
The formula is credited to Heron (or Hero) of Alexandria (60 AD), and a proof can be found in his book Metrica. Mathematical historian Thomas Heath suggested that Archimedes knew the formula over two centuries earlier, and since Metrica is a collection of the mathematical knowledge available in the ancient world, it is possible that the formula predates the reference given in that work.
A formula equivalent to Heron's, namely,
was discovered by the Chinese. It was published in Mathematical Treatise in Nine Sections (Qin Jiushao, 1247).
Proofs
There are many ways to prove Heron's formula, for example using trigonometry as below, or the incenter and one excircle of the triangle, or as a special case of De Gua's theorem (for the particular case of acute triangles), or as a special case of Brahmagupta's formula (for the case of a degenerate cyclic quadrilateral).
Trigonometric proof using the law of cosines
A modern proof, which uses algebra and is quite different from the one provided by Heron, follows.
Let be the sides of the triangle and the angles opposite those sides.
Applying the law of cosines we get
From this proof, we get the algebraic statement that
The altitude of the triangle on base has length , and it follows
Algebraic proof using the Pythagorean theorem
The following proof is very similar to one given by Raifaizen.
By the Pythagorean theorem we have and according to the figure at the right. Subtracting these yields . This equation allows us to express in terms of the sides of the triangle:
For the height of the triangle we have that . By replacing with the formula given above and applying the difference of squares identity we get
We now apply this result to the formula that calculates the area of a triangle from its height:
Trigonometric proof using the law of cotangents
If is the radius of the incircle of the triangle, then the triangle can be broken into three triangles of equal altitude and bases and . Their combined area is
where is the semiperimeter.
The triangle can alternately be broken into six triangles (in congruent pairs) of altitude and bases and , of combined area (see law of cotangents)
The middle step above is the triple cotangent identity, which applies because the sum of half-angles is
Combining the two, we get
from which the result follows.
Numerical stability
Heron's formula as given above is numerically unstable for triangles with a very small angle when using floating-point arithmetic. A stable alternative involves arranging the lengths of the sides so that and computing
The brackets in the above formula are required in order to prevent numerical instability in the evaluation.
Similar triangle-area formulae
Three other formulae for the area of a general triangle have a similar structure as Heron's formula, expressed in terms of different variables.
First, if and are the medians from sides and respectively, and their semi-sum is then
Next, if and are the altitudes from sides and respectively, and semi-sum of their reciprocals is then
Finally, if and are the three angle measures of the triangle, and the semi-sum of their sines is then
where is the diameter of the circumcircle, This last formula coincides with the standard Heron formula when the circumcircle has unit diameter.
Generalizations
Heron's formula is a special case of Brahmagupta's formula for the area of a cyclic quadrilateral. Heron's formula and Brahmagupta's formula are both special cases of Bretschneider's formula for the area of a quadrilateral. Heron's formula can be obtained from Brahmagupta's formula or Bretschneider's formula by setting one of the sides of the quadrilateral to zero.
Brahmagupta's formula gives the area of a cyclic quadrilateral whose sides have lengths , as
where , the semiperimeter, is defined to be
Heron's formula is also a special case of the formula for the area of a trapezoid or trapezium based only on its sides. Heron's formula is obtained by setting the smaller parallel side to zero.
Expressing Heron's formula with a Cayley–Menger determinant in terms of the squares of the distances between the three given vertices,
illustrates its similarity to Tartaglia's formula for the volume of a three-simplex.
Another generalization of Heron's formula to pentagons and hexagons inscribed in a circle was discovered by David P. Robbins.
Heron-type formula for the volume of a tetrahedron
If , are lengths of edges of the tetrahedron (first three form a triangle; opposite to and so on), then
where
Heron formulae in non-Euclidean geometries
There are also formulae for the area of a triangle in terms of its side lengths for triangles in the sphere or the hyperbolic plane.
For a triangle in the sphere with side lengths , half perimeter and area such a formula is
while for the hyperbolic plane we have
See also
Shoelace formula
References
External links
A Proof of the Pythagorean Theorem From Heron's Formula at cut-the-knot
Interactive applet and area calculator using Heron's Formula
J. H. Conway discussion on Heron's Formula
A Geometric Proof of Heron's Formula
An alternative proof of Heron's Formula without words
Factoring Heron
Theorems about triangles
Articles containing proofs
Area