# Difference between revisions of "Viviani's theorem"

The Viviani's Theorem states that for an equilateral triangle, the sum of the altitudes from any point in the triangle is equal to the altitude from a vertex of the triangle to the other side.

## Proof

Let $\triangle ABC$ be an equilateral triangle and $P$ be a point inside the triangle. $[asy] /* Geogebra to Asymptote conversion, documentation at artofproblemsolving.com/Wiki, go to User:Azjps/geogebra */ import graph; size(8.cm); real labelscalefactor = 0.5; /* changes label-to-point distance */ pen dps = linewidth(0.7) + fontsize(10); defaultpen(dps); /* default pen style */ pen dotstyle = black; /* point style */ real xmin = -3.88, xmax = 30.12, ymin = -5.5, ymax = 11.; /* image dimensions */ pen zzttqq = rgb(0.6,0.2,0.); pen qqwuqq = rgb(0.,0.39215686274509803,0.); draw((3.22,-0.78)--(14.52,-0.7)--(8.800717967697247,9.046087062764157)--cycle, zzttqq); draw((10.222698397686688,-0.3061486732450197)--(9.798444960927041,-0.30915223739907016)--(9.801448525081092,-0.7334056741587179)--(10.22570196184074,-0.7304021100046675)--cycle, qqwuqq); draw((6.871598765286669,4.790362710570685)--(7.08112432080719,5.15927874652442)--(6.712208284853454,5.368804302044939)--(6.502682729332935,4.9998882660912045)--cycle, qqwuqq); draw((11.476061820875268,3.6488294940564145)--(11.690789702114396,3.28291702225673)--(12.05670217391408,3.4976449034958583)--(11.841974292674951,3.8635573752955428)--cycle, qqwuqq); /* draw figures */ draw((3.22,-0.78)--(14.52,-0.7), zzttqq); draw((14.52,-0.7)--(8.800717967697247,9.046087062764157), zzttqq); draw((8.800717967697247,9.046087062764157)--(3.22,-0.78), zzttqq); draw((10.2,2.9)--(10.22570196184074,-0.7304021100046675)); draw((10.2,2.9)--(6.502682729332935,4.9998882660912045)); draw((10.2,2.9)--(11.841974292674951,3.8635573752955428)); label("x+y+z = a",(7.5043433217971725,-1.565215213000298),SE*labelscalefactor); /* dots and labels */ dot((3.22,-0.78),dotstyle); label("A", (3.3,-0.58), NW * labelscalefactor); dot((14.52,-0.7),dotstyle); label("B", (14.6,-0.5), NE * labelscalefactor); dot((8.800717967697247,9.046087062764157),dotstyle); label("C", (8.88,9.24), N * labelscalefactor); dot((10.2,2.9),dotstyle); label("P", (10.28,3.1), NE * labelscalefactor); dot((6.502682729332935,4.9998882660912045),linewidth(3.pt) + dotstyle); label("B'", (6.58,5.12), NW * labelscalefactor); dot((11.841974292674951,3.8635573752955428),linewidth(3.pt) + dotstyle); label("A'", (11.92,3.98), NE * labelscalefactor); dot((10.22570196184074,-0.7304021100046675),linewidth(3.pt) + dotstyle); label("C'", (10.3,-0.62), NE * labelscalefactor); label("x", (9.88,1.1), NE * labelscalefactor); label("z", (8.5,4.24), NE * labelscalefactor); label("y", (11.18,3.12), NE * labelscalefactor); clip((xmin,ymin)--(xmin,ymax)--(xmax,ymax)--(xmax,ymin)--cycle); /* end of picture */[/asy]$ We label the altitudes from $P$ to each of sides $\overline{AB}$, $\overline{BC}$ and $\overline{AC}$ $x$, $y$ and $z$ respectively. Since $\triangle ABC$ is equilateral, we can say that $s=AB=BC=AC$. Therefore, $[ABP]=\dfrac{sx}{2}$, $[BCP]=\dfrac{sy}{2}$ and $[ACP]=\dfrac{sz}{2}$. Since the area of a triangle is the product of its base and altitude, we also have $[ABC]=\dfrac{as}{2}$. However, the area of $\triangle ABC$ can also be expressed as $[ABC]=[ABP]+[BCP]+[ACP]=\dfrac{sx}{2}+\dfrac{sy}{2}+\dfrac{sz}{2}=\dfrac{s}{2}(x+y+z)$. Therefore, $\dfrac{s}{2}(x+y+z)=\dfrac{s}{2}(a)$, so $x+y+z=a$, which means the sum of the altitudes from any point within the triangle is equal to the altitude from the vertex of a triangle.