Figure 1 – A triangle. The angles
α (or
A),
β (or
B), and
γ (or
C) are respectively opposite the sides
a,
b, and
c.
In trigonometry, the law of cosines (also known as the cosine formula or cosine rule) relates the lengths of the sides of a plane triangle to the cosine of one of its angles. Using notation as in Fig. 1, the law of cosines says
- Failed to parse (Missing texvc executable; please see math/README to configure.): c^2 = a^2 + b^2 - 2ab\cos\gamma\,
where γ denotes the angle contained between sides of lengths a and b and opposite the side of length c.
Some schools also describe the notation as follows:
- Failed to parse (Missing texvc executable; please see math/README to configure.): c^2 = a^2 + b^2 - 2ab\cos C\,
Where C represents the same as γ and the rest of the parameters are the same.
The formula above could also be represented in other form:
- Failed to parse (Missing texvc executable; please see math/README to configure.): \cos C = \frac{a^2+b^2-c^2}{2ab}\,
The law of cosines generalizes the Pythagorean theorem, which holds only for right triangles: if the angle γ is a right angle (of measure 90° or π/2 radians), then cos γ = 0, and thus the law of cosines reduces to the Pythagorean theorem:
- Failed to parse (Missing texvc executable; please see math/README to configure.): c^2 = a^2 + b^2\,
The law of cosines is useful for computing the third side of a triangle when two sides and their enclosed angle are known, and in computing the angles of a triangle if all three sides are known.
By changing which sides of the triangle play the roles of a, b, and c in the original formula, one discovers that the following two formulas also state the law of cosines:
- Failed to parse (Missing texvc executable; please see math/README to configure.): a^2 = b^2 + c^2 - 2bc\cos\alpha\,
- Failed to parse (Missing texvc executable; please see math/README to configure.): b^2 = a^2 + c^2 - 2ac\cos\beta\,
Though the notion of the cosine was not yet developed in his time, Euclid's Elements, dating back to the 3rd century BC, contains an early geometric theorem almost equivalent to the law of cosines. The case of obtuse triangle and acute triangle (corresponding to the two cases of negative or positive cosine) are treated separately, in Propositions 12 and 13 of Book 2. Trigonometric functions and algebra (in particular negative numbers) being absent in Euclid's time, the statement has a more geometric flavor:
Proposition 12
In obtuse-angled triangles the square on the side subtending the obtuse angle is greater than the squares on the sides containing the obtuse angle by twice the rectangle contained by one of the sides about the obtuse angle, namely that on which the perpendicular falls, and the straight line cut off outside by the perpendicular towards the obtuse angle.
Using notation as in Fig. 2, Euclid's statement can be represented by the formula
- Failed to parse (Missing texvc executable; please see math/README to configure.): AB^2 = CA^2 + CB^2 + 2 (CA)(CH)\,.
This formula may be transformed into the law of cosines by noting that CH = (CB) cos(π − γ) = −(CB) cos γ. Proposition 13 contains an entirely analogous statement for acute triangles.
The theorem was popularized in the Western world by François Viète in the 16th century. At the beginning of the 19th century, modern algebraic notation allowed the law of cosines to be written in its current symbolic form.
Fig. 3 – Applications of the law of cosines: unknown side and unknown angle.
The theorem is used in triangulation, for solving a triangle or circle, i.e., to find (see Figure 3):
- the third side of a triangle if one knows two sides and the angle between them:
-
- Failed to parse (Missing texvc executable; please see math/README to configure.): \,c = \sqrt{a^2+b^2-2ab\cos\gamma}\,;
- the angles of a triangle if one knows the three sides:
-
- Failed to parse (Missing texvc executable; please see math/README to configure.): \,\gamma = \arccos\left(\frac{a^2+b^2-c^2}{2ab}\right)\,;
- the third side of a triangle if one knows two sides and an angle opposite to one of them (one may also use the Pythagorean theorem to do this if it is a right triangle):
-
- Failed to parse (Missing texvc executable; please see math/README to configure.): \, a=b\cos\gamma \pm \sqrt{c^2 -b^2\sin^2\gamma}\,.
These formulas produce high round-off errors in floating point calculations if the triangle is very acute, i.e., if c is small relative to a and b or γ is small compared to 1. It is even possible to obtain a result slightly greater than one for the cosine of an angle.
The third formula shown is the result of solving for a the quadratic equation a2 − 2ab cos γ + b2 − c2 = 0. This equation can have 2, 1, or 0 positive solutions corresponding to the number of possible triangles given the data. It will have two positive solutions if b sin γ < c < b, only one positive solution if c ≥ b, and no solution if c < b sin γ. These different cases are also explained by the Side-Side-Angle congruence ambiguity.
In this superior proof, consider a triangle with sides of length a, b, c, where γ is the measurement of the angle opposite the side of length c. We can place this triangle on the coordinate system by plotting
- Failed to parse (Missing texvc executable; please see math/README to configure.): A = (b \cos\gamma,\ b \sin\gamma),\ B = (a,\ 0),\ \text{and}\ C = (0,\ 0)\,.
By the distance formula, we have
- Failed to parse (Missing texvc executable; please see math/README to configure.): c = \sqrt{(a - b \cos\gamma)^2 + (0 - b \sin\gamma)^2}\,.
Now, we just work with that equation:
- Failed to parse (Missing texvc executable; please see math/README to configure.): \begin{align} c^2 & {} = (a - b \cos\gamma)^2 + (- b \sin\gamma)^2 \\ c^2 & {} = a^2 - 2 a b \cos\gamma + b^2 \cos^2 \gamma + b^2 \sin^2 \gamma \\ c^2 & {} = a^2 + b^2 (\sin^2 \gamma + \cos^2 \gamma) - 2 a b \cos\gamma \\ c^2 & {} = a^2 + b^2 - 2 a b \cos\gamma\,. \end{align}
An advantage of this proof is that it does not require the consideration of different cases for when the triangle is acute vs. obtuse. M I
Fig. 4 – An acute triangle with perpendicular
Drop the perpendicular onto the side c to get (see Fig. 4)
- Failed to parse (Missing texvc executable; please see math/README to configure.): c=a\cos\beta+b\cos\alpha\,.
(This is still true if α or β is obtuse, in which case the perpendicular falls outside the triangle.) Multiply through by c to get
- Failed to parse (Missing texvc executable; please see math/README to configure.): c^2 = ac\cos\beta + bc\cos\alpha.\,
By considering the other perpendiculars obtain
- Failed to parse (Missing texvc executable; please see math/README to configure.): a^2 = ac\cos\beta + ab\cos\gamma,\,
- Failed to parse (Missing texvc executable; please see math/README to configure.): b^2 = bc\cos\alpha + ab\cos\gamma.\,
Adding the latter two equations gives
- Failed to parse (Missing texvc executable; please see math/README to configure.): a^2 + b^2 = ac\cos\beta + bc\cos\alpha + 2ab\cos\gamma.\,
Subtracting the first equation from the last one we have
- Failed to parse (Missing texvc executable; please see math/README to configure.): a^2 + b^2 - c^2 = - ac\cos\beta - bc\cos\alpha+ ac\cos\beta + bc\cos\alpha + 2ab\cos\gamma\,
which simplifies to
- Failed to parse (Missing texvc executable; please see math/README to configure.): c^2 = a^2 + b^2 - 2ab\cos\gamma.\,
This proof uses trigonometry in that it treats the cosines of the various angles as quantities in their own right. It uses the fact that the cosine of an angle expresses the relation between the two sides enclosing that angle in any right triangle. Other proofs (below) are more geometric in that they treat an expression such as a cos γ merely as a label for the length of a certain line segment.
Many proofs deal with the cases of obtuse and acute angles γ separately.
Fig. 5 – Obtuse triangle
ABC with height
BH
Case of an obtuse angle. Euclid proves this theorem by applying the Pythagorean theorem to each of the two right triangles in Fig. 5. Using d to denote the line segment CH and h for the height BH, triangle AHB gives us
- Failed to parse (Missing texvc executable; please see math/README to configure.): c^2 = (b+d)^2 + h^2,\,
and triangle CHB gives us
- Failed to parse (Missing texvc executable; please see math/README to configure.): d^2 + h^2 = a^2.\,
Expanding the first equation gives us
- Failed to parse (Missing texvc executable; please see math/README to configure.): c^2 = b^2 + 2bd + d^2 +h^2.\,
Substituting the second equation into this, the following can be obtained
- Failed to parse (Missing texvc executable; please see math/README to configure.): c^2 = a^2 + b^2 + 2bd.\,
This is Euclid's Proposition 12 from Book 2 of the Elements.[1] To transform it into the modern form of the law of cosines, note that
- Failed to parse (Missing texvc executable; please see math/README to configure.): d = a\cos(\pi-\gamma)= -a\cos\gamma.\,
Case of an acute angle. Euclid's proof of his Proposition 13 proceeds along the same lines as his proof of Proposition 12: he applies the Pythagorean theorem to both right triangles formed by dropping the perpendicular onto one of the sides enclosing the angle γ and uses the binomial theorem to simplify.
Fig. 6 – A short proof using trigonometry for the case of an acute angle
Another proof in the acute case. Using a little more trigonometry, the law of cosines by applying can be deduced by using the Pythagorean theorem only once. In fact, by using the right triangle on the left hand side of Fig. 6 it can be shown that:
- Failed to parse (Missing texvc executable; please see math/README to configure.): \begin{align} c^2 & {} = (b-a\cos\gamma)^2 + (a\sin\gamma)^2 \\ & {} = b^2 - 2ab\cos\gamma + a^2\cos^2\gamma+a^2\sin^2\gamma \\ & {} = b^2 + a^2 - 2ab\cos\gamma, \end{align}
using the trigonometric identity
- Failed to parse (Missing texvc executable; please see math/README to configure.): \cos^2\gamma + \sin^2\gamma = 1.\,
Remark. This proof needs a slight modification if b < a cos(γ). In this case, the right triangle to which the Pythagorean theorem is applied moves outside the triangle ABC. The only effect this has on the calculation is that the quantity b − a cos(γ) is replaced by a cos(γ) − b. As this quantity enters the calculation only through its square, the rest of the proof is unaffected.
Note. This problem only occurs when β is obtuse, and may be avoided by reflecting the triangle about the bisector of γ.
Observation. Referring to Fig. 6 it's worth noting that if the angle opposite side a is α then:
- Failed to parse (Missing texvc executable; please see math/README to configure.): \tan\alpha = \frac{a\sin\gamma}{b-a\cos\gamma}
This is useful for direct calculation of a second angle when two sides and an included angle are given.
Proof of law of cosines using Ptolemy's theorem
Referring to the diagram, triangle ABC with sides AB = c, BC = a and AC = b is drawn inside its circumcircle as shown. Triangle ABD is constructed congruent to triangle ABC with AD = BC and BD = AC. Perpendiculars from D and C meet base AB at E and F respectively. Then:
- Failed to parse (Missing texvc executable; please see math/README to configure.): \begin{align} & BF=AE=BC\cos\hat{B}=a\cos\hat{B} \\ \Rightarrow \ & DC=EF=AB-2BF=c-2a\cos\hat{B}. \end{align}
Now the law of cosines is rendered by a straightforward application of Ptolemy's theorem to cyclic quadrilateral ABCD:
- Failed to parse (Missing texvc executable; please see math/README to configure.): \begin{align} & AD \times BC + AB \times DC = AC \times BD \\ \Rightarrow \ & a^2 + c(c-2a\cos\hat{B})=b^2 \\ \Rightarrow \ & a^2+c^2-2ac \cos\hat{B}=b^2. \end{align}
Plainly if angle B is 90°, then ABCD is a rectangle and application of Ptolemy's theorem yields the Pythagorean theorem:
- Failed to parse (Missing texvc executable; please see math/README to configure.): a^2+c^2=b^2.\quad
One can also prove the law of cosines by calculating areas. The change of sign as the angle γ becomes obtuse makes a case distinction necessary.
Recall that
- a2, b2, and c2 are the areas of the squares with sides a, b, and c, respectively;
- if γ is acute, then ab cos γ is the area of the parallelogram with sides a and b forming an angle of Failed to parse (Missing texvc executable; please see math/README to configure.): \scriptstyle\gamma'\, =\, \pi/2 - \gamma
- if γ is obtuse, and so cos γ is negative, then −ab cos γ is the area of the parallelogram with sides a and b forming an angle of Failed to parse (Missing texvc executable; please see math/README to configure.): \scriptstyle\gamma' \,=\, \gamma - \pi/2
.
Fig. 7a – Proof of the law of cosines for acute angle γ by "cutting and pasting".
Acute case. Figure 7a shows a heptagon cut into smaller pieces (in two different ways) to yield a proof of the law of cosines. The various pieces are
- in pink, the areas a2, b2 on the left and the areas 2ab cos γ and c2 on the right;
- in blue, the triangle ABC, on the left and on the right;
- in grey, auxiliary triangles, all congruent to ABC, an equal number (namely 2) both on the left and on the right.
The equality of areas on the left and on the right gives
- Failed to parse (Missing texvc executable; please see math/README to configure.): \,a^2 + b^2 = c^2 + 2ab\cos\gamma\,.
Fig. 7b – Proof of the law of cosines for obtuse angle γ by "cutting and pasting".
Obtuse case. Figure 7b cuts a hexagon in two different ways into smaller pieces, yielding a proof of the law of cosines in the case that the angle γ is obtuse. We have
- in pink, the areas a2, b2, and −2ab cos γ on the left and c2 on the right;
- in blue, the triangle ABC twice, on the left, as well as on the right.
The equality of areas on the left and on the right gives
- Failed to parse (Missing texvc executable; please see math/README to configure.): \,a^2 + b^2 - 2ab\cos(\gamma) = c^2.
The rigorous proof will have to include proofs that various shapes are congruent and therefore have equal area. This will use the theory of congruent triangles.
Using the geometry of the circle, it is possible to give a more geometric proof than using the Pythagorean theorem alone. Algebraic manipulations (in particular the binomial theorem) are avoided.
Fig. 8a – The triangle
ABC (pink), an auxiliary circle (light blue) and an auxiliary right triangle (yellow)
Case of acute angle γ, where a > 2b cos γ. Drop the perpendicular from A onto a = BC, creating a line segment of length b cos γ. Duplicate the right triangle to form the isosceles triangle ACP. Construct the circle with center A and radius b, and its tangent h = BH through B. The tangent h forms a right angle with the radius b (Euclid's Elements: Book 3, Proposition 18; or see here), so the yellow triangle in Figure 8 is right. Apply the Pythagorean theorem to obtain
- Failed to parse (Missing texvc executable; please see math/README to configure.): c^2 = b^2 + h^2.\,
Then use the tangent secant theorem (Euclid's Elements: Book 3, Proposition 36), which says that the square on the tangent through a point B outside the circle is equal to the product of the two lines segments (from B) created by any secant of the circle through B. In the present case: BH2 = BC BP, or
- Failed to parse (Missing texvc executable; please see math/README to configure.): h^2 = a(a - 2b\cos\gamma).\,
Substituting into the previous equation gives the law of cosines:
- Failed to parse (Missing texvc executable; please see math/README to configure.): c^2 = b^2 + a(a - 2b\cos\gamma).\,
Note that h2 is the power of the point B with respect to the circle. The use of the Pythagorean theorem and the tangent secant theorem can be replaced by a single application of the power of a point theorem.
Fig. 8b – The triangle
ABC (pink), an auxiliary circle (light blue) and two auxiliary right triangles (yellow)
Case of acute angle γ, where a < 2b cos γ. Drop the perpendicular from A onto a = BC, creating a line segment of length b cos γ. Duplicate the right triangle to form the isosceles triangle ACP. Construct the circle with center A and radius b, and a chord through B perpendicular to c = AB, half of which is h = BH. Apply the Pythagorean theorem to obtain
- Failed to parse (Missing texvc executable; please see math/README to configure.): b^2 = c^2 + h^2.\,
Now use the chord theorem (Euclid's Elements: Book 3, Proposition 35), which says that if two chords intersect, the product of the two line segments obtained on one chord is equal to the product of the two line segments obtained on the other chord. In the present case: BH2 = BC BP, or
- Failed to parse (Missing texvc executable; please see math/README to configure.): h^2 = a(2b\cos\gamma - a).\,
Substituting into the previous equation gives the law of cosines:
- Failed to parse (Missing texvc executable; please see math/README to configure.): b^2 = c^2 + a(2b\cos\gamma - a)\,.
Note that the power of the point B with respect to the circle has the negative value −h2.
Fig. 9 – Proof of the law of cosines using the power of a point theorem.
Case of obtuse angle γ. This proof uses the power of a point theorem directly, without the auxiliary triangles obtained by constructing a tangent or a chord. Construct a circle with center B and radius a (see Figure 9), which intersects the secant through A and C in C and K. The power of the point A with respect to the circle is equal to both AB2 − BC2 and AC·AK. Therefore,
- Failed to parse (Missing texvc executable; please see math/README to configure.): \begin{align} c^2 - a^2 & {} = b(b + 2a\cos(\pi - \gamma)) \\ & {} = b(b - 2a\cos\gamma), \end{align}
which is the law of cosines.
Using algebraic measures for line segments (allowing negative numbers as lengths of segments) the case of obtuse angle (CK > 0) and acute angle (CK < 0) can be treated simultaneously.
The law of cosines is equivalent to the formula
- Failed to parse (Missing texvc executable; please see math/README to configure.): \vec b\cdot \vec c = \Vert \vec b\Vert\Vert\vec c\Vert\cos \theta
in the theory of vectors, which expresses the dot product of two vectors in terms of their respective lengths and the angle they enclose.
Fig. 10 – Vector triangle
Proof of equivalence. Referring to Figure 10, note that
- Failed to parse (Missing texvc executable; please see math/README to configure.): \vec a=\vec b-\vec c\,,
and so we may calculate:
- Failed to parse (Missing texvc executable; please see math/README to configure.): \begin{align} \Vert\vec a\Vert^2 & = \Vert\vec b - \vec c\Vert^2 \\ & = (\vec b - \vec c)\cdot(\vec b - \vec c) \\ & = \Vert\vec b \Vert^2 + \Vert\vec c \Vert^2 - 2 \vec b\cdot\vec c. \end{align}
The law of cosines formulated in this notation states:
- Failed to parse (Missing texvc executable; please see math/README to configure.): \begin{align} \Vert\vec a\Vert^2 &= \Vert\vec b \Vert^2 + \Vert\vec c \Vert^2 - 2 \Vert \vec b\Vert\Vert\vec c\Vert\cos\theta \\ \Vert\vec b - \vec c \Vert^2 &= \Vert\vec b \Vert^2 + \Vert\vec c \Vert^2 - 2 \Vert \vec b\Vert\Vert\vec c \Vert\cos\theta \\ 2 \Vert \vec b\Vert\Vert\vec c \Vert\cos\theta &= \Vert\vec b \Vert^2 + \Vert\vec c \Vert^2 - \Vert\vec b - \vec c \Vert^2 \\ \Vert \vec b\Vert\Vert\vec c \Vert\cos\theta &= \frac{\Vert\vec b \Vert^2 + \Vert\vec c \Vert^2 - (\Vert\vec b \Vert^2 - 2 \vec b \vec c + \Vert \vec c \Vert^2)}{2} \\ \Vert \vec b\Vert\Vert\vec c \Vert\cos\theta &= \vec b \cdot \vec c \\ \end{align}
which is clearly equivalent to the above formula from the theory of vectors.
When a = b, i.e., when the triangle is isosceles with the two sides incident to the angle γ equal, the law of cosines simplifies significantly. Namely, because a2 + b2 = 2a2 = 2ab, the law of cosines becomes
- Failed to parse (Missing texvc executable; please see math/README to configure.): \cos\gamma = 1 - \frac{c^2}{2a^2}
or
- Failed to parse (Missing texvc executable; please see math/README to configure.): c^2 = 2a^2 (1 - \cos\gamma).\;
An analogous statement begins by taking α, β, γ, δ to be the areas of the four faces of a tetrahedron. Denote the dihedral angles by Failed to parse (Missing texvc executable; please see math/README to configure.): \scriptstyle{ \widehat{\beta\gamma}, }
etc. Then[2]
- Failed to parse (Missing texvc executable; please see math/README to configure.): \alpha^2 = \beta^2 + \gamma^2 + \delta^2 - 2\left(\beta\gamma\cos\left(\widehat{\beta\gamma}\right) + \gamma\delta\cos\left(\widehat{\gamma\delta}\right) + \delta\beta\cos\left(\widehat{\delta\beta}\right)\right).\,
Spherical triangle solved by the law of cosines.
A version of the law of cosines also holds in non-Euclidean geometry. In spherical geometry, a triangle is defined by three points u, v, and w on the unit sphere, and the arcs of great circles connecting those points. If these great circles make angles A, B, and C with opposite sides a, b, c then the spherical law of cosines asserts that each of the following relationships hold:
- Failed to parse (Missing texvc executable; please see math/README to configure.): \begin{align} \cos a &= \cos b\cos c + \sin b\sin c\cos A\\ \cos A &= -\cos B\cos C + \sin B\sin C\cos a. \end{align}
In hyperbolic geometry, a pair of equations are collectively known as the hyperbolic law of cosines. The first is
- Failed to parse (Missing texvc executable; please see math/README to configure.): \cosh a = \cosh b\cosh c - \sinh b \sinh c \cos A\,
where sinh and cosh are the hyperbolic sine and cosine, and the second is
- Failed to parse (Missing texvc executable; please see math/README to configure.): \cos A = -\cos B \cos C + \sin B\sin C\cosh a.\,
Like in Euclidean geometry, one can use the law of cosines to determine the angles A, B, C from the knowledge of the sides a, b, c. However, unlike Euclidean geometry, the reverse is also possible in each of the models of non-Euclidean geometry: the angles A, B, C determine the sides a, b, c.
- ^ Java applet version by Prof. D E Joyce of Clark University.
- ^ Casey, John (1889). A Treatise on Spherical Trigonometry: And Its Application to Geodesy and Astronomy with Numerous Examples. London: Longmans, Green, & Company. p. 133.