# Viviani's theorem

(Redirected from Viviani's Theorem)

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.