Viviani's Theorem: Sum of Perpendicular Distances in an Equilateral Triangle
Loading the math board and drawing, please wait…
This GeoGebra example demonstrates Viviani's Theorem, which states that for any point inside or on the boundary of an equilateral triangle, the sum of the perpendicular distances from the point to the three sides equals the triangle's altitude. Core mathematical concepts include equilateral triangles, perpendicular distance from a point to a line, triangle altitude, area decomposition, and geometric invariants. The construction uses GeoGebra commands such as Ray, Point, Polygon, PointIn, OrthogonalLine, Intersect, Segment, Line, If, Rotate, Translate, and Angle, with objects A, B, C, P, p_1, p_2, p_3, F, G, H and polygons poly1, poly2, poly3 to build the dynamic diagram. It is suitable for high school geometry instruction, theorem verification, and interactive geometric exploration.
GeoGebra Commands & Parameters
Ray(A, B) → baseRayPoint(baseRay) → CPolygon(A, C, 3) → poly1, l_3, l_1, l_2, DPointIn(poly1) → POrthogonalLine(P, l_2) → p_1OrthogonalLine(P, l_1) → p_2OrthogonalLine(P, l_3) → p_3Intersect(p_1, l_2) → FIntersect(p_3, baseRay) → GIntersect(p_2, l_1) → HSegment(F, P) → h_4Segment(H, P) → h_5Segment(G, P) → h_3Line(P, l_3) → horizonIntersect(horizon, l_2) → IIntersect(horizon, l_1) → JPolygon(I, P, 3) → poly2, e_3, e_2, e_1, KPolygon(P, J, 3) → poly3, f_3, f_1, f_2, LOrthogonalLine(K, e_3) → p_4OrthogonalLine(L, f_3) → p_5Intersect(p_4, h_4) → MIntersect(p_5, h_5) → NIf(k ≤ 1, k, 1) → k_1If(k ≥ 1, If[k ≥ 2, 1, k - 1], 0) → k_2Rotate(poly2, ((k_1 * 120))°, M) → poly2'Rotate(poly3, (((-k_2) * 120))°, N) → poly3'Rotate(F, ((k_1 * 120))°, M) → F'Rotate(P, ((k_1 * 120))°, M) → P_r1Segment(F', P_r1) → h_2Rotate(H, (((-k_2) * 120))°, N) → H'Rotate(P, (((-k_2) * 120))°, N) → P_r2Segment(H', P_r2) → h_7If(k ≥ 2, k - 2, 0) → k_3Translate(poly3', Vector[(k_3 * Vector[L, D])]) → poly3''Translate(H', Vector[(k_3 * Vector[L, D])]) → H''Translate(P_r2, Vector[(k_3 * Vector[L, D])]) → P_tSegment(H'', P_t) → h_1Angle(P, G, A) → αAngle(P, F, D) → βAngle(P, H, C) → γ
AI Drawing Prompt Reference
Draw an equilateral triangle, pick an arbitrary interior point, and drop perpendiculars from the point to each side to obtain three foot points; connect the point to the three feet forming three perpendicular segments. Then construct three small equilateral triangles on these segments, rotate each small triangle 120° about its corresponding foot, and translate them so the three perpendicular segments line up end‑to‑end into a single segment coinciding with the altitude of the large triangle, visually demonstrating Viviani's theorem that the sum of the three perpendicular distances equals the triangle's height.
The prompt above was compiled from the original drawing commands and is for reference only.