Yes, the Law of Cosines works for all triangles.

However, the proof depends on the shape a triangle, more precisely, how an altitude from some vertex falls onto the opposite side.

For example, consider a triangle #Delta ABC# with vertices #A#, #B# and #C#, corresponding angles #alpha#, #beta# and #gamma# and correspondingly opposite sides #a#, #b# and #c#.

Let's prove the *Law of Cosines* that states:

#a^2+b^2-2*a*b*cos(gamma) = c^2#

Let's draw altitude #AH# from vertex #A# to an opposite side #BC# with an intersection of this altitude and a side #BC# at point #H#.

There are different cases of a location of point #H# relatively to vertices #B# and #C#.

It can lie in between vertices #B# and #C#.

It can lie outside of #BC# on a continuation of this side beyond vertex #B# or beyond vertex #C#.

Assume that a base of this altitude, point #H#, is lying on the continuation of #BC# beyond a point #C# (so, #C# is in between #B# and #H#) and prove the *Law of Cosines* in this case. Other cases are similar to this one.

Let's use the following symbols for segments involved:

#AH# is #h#

#BH# is #a_1#

#CH# is #a_2#

Then, since #C# lies in between #B# and #H#,

#a = a_1 - a_2# or #a_1=a+a_2#

Since both #Delta ABH# and #Delta ACH# are right triangles, by trigonometric dependency between hypotenuse, catheti and angles and by Pythagorean Theorem

#h = b*sin(pi-gamma) = b*sin(gamma)#

#a_2 = b*cos(pi-gamma) = -b*cos(gamma)#

#c^2 = h^2+a_1^2 = b^2*sin^2(gamma)+(a-b*cos(y))^2 =#

#=b^2*sin^2(gamma)+a^2-2*a*b*cos(gamma)+b^2*cos^2(gamma)=#

#=a^2+b^2(sin^2(gamma)+cos^2(gamma))-2*a*b*cos(gamma)=#

#=a^2+b^2-2*a*b*cos(gamma)#

End of Proof

When point #H# lies in between vertices #B# and #C# or on a continuation of side #BC# beyond vertex B, the proof is similar.

See Unizor *Trigonometry - Simple Identities - Law of Cosines* for visual presentation and more detailed information.