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.

See also