Viviani's Theorem

Viviani's Theorem
Loading the math board and drawing, please wait…
2016-03-13 23:34
This example visually demonstrates Viviani's theorem: the sum of the distances from any point inside an equilateral triangle to its sides is equal to the triangle's height. Key mathematical concepts include the properties of an equilateral triangle and distance. GeoGebra commands used include Polygon, PointIn, OrthogonalLine, Intersect, Segment, Angle, Rotate, Ray, Line, Point, Vector, Translate. Suitable for middle school and above students for geometric construction and theorem proof.

GeoGebra Commands & Parameters

  1. Polygon(B, C, 3) → poly1, a, b, c, A
  2. PointIn(poly1) → M
  3. OrthogonalLine(M, b) → d
  4. OrthogonalLine(M, a) → e
  5. OrthogonalLine(M, c) → f
  6. Intersect(d, b) → P
  7. Intersect(e, a) → N
  8. Intersect(f, c) → Q
  9. Segment(M, P) → g
  10. Segment(M, Q) → h
  11. Segment(M, N) → i
  12. Segment(A, Q) → j
  13. Segment(B, N) → k
  14. Segment(C, P) → l
  15. Angle(M, Q, A) → α
  16. Angle(M, P, C) → β
  17. Angle(M, N, B) → γ
  18. Segment(A, M) → p
  19. Segment(B, M) → q
  20. Segment(M, C) → r
  21. Rotate(P, 30*°, M) → P'
  22. Angle(P, M, P') → δ
  23. Ray(M, P') → s
  24. Intersect(b, s) → D
  25. Intersect(i, poly1) → E
  26. Polygon(D, M, 3) → poly2, t, a_1, b_1, F
  27. Segment(M, F) → c_1
  28. Segment(M, D) → d_1
  29. OrthogonalLine(D, a_1) → e_1
  30. Intersect(a_1, c_1) → G
  31. Intersect(a_1, c_1) → H
  32. Intersect(e_1, a_1) → I
  33. Segment(D, I) → f_1
  34. Rotate(N, 30*°, M) → N'
  35. Angle(N, M, N') → ε
  36. Ray(M, N') → g_1
  37. Intersect(a, g_1) → J
  38. Polygon(J, M, 3) → poly3, h_1, i_1, j_1, K
  39. Line(M, a) → k_1
  40. Intersect(c, k_1) → L
  41. Polygon(L, M, 3) → poly4, l_1, m_1, n_1, O
  42. OrthogonalLine(O, k_1) → p_1
  43. Intersect(k_1, p_1) → R
  44. Segment(O, R) → q_1
  45. Segment(M, K) → r_1
  46. Segment(M, J) → s_1
  47. Segment(D, A) → t_1
  48. Point(t_1) → S
  49. Vector(D, S) → u
  50. Translate(poly2, u) → poly2'
  51. Translate(D, u) → D'
  52. Translate(I, u) → I'
  53. Segment(D', I') → a_2
  54. Translate(M, u) → M'
  55. Translate(F, u) → F'
  56. Segment(M', F') → b_2

AI Drawing Prompt Reference

Draw an equilateral triangle ABC, then select an arbitrary point M inside the triangle. Drop perpendiculars from M to each side, marking the feet of the perpendiculars as P, N, and Q. Rotate P around M by 30 degrees to get P', and extend MP' to intersect BC at D, forming an equilateral triangle MDP'. Similarly, rotate N around M by 30 degrees to get N', and extend MN' to intersect AC at J, forming an equilateral triangle MJN'. Finally, rotate D around A by 30 degrees to get A', and extend MA' to intersect BC at L, forming an equilateral triangle MAL.
The prompt above was compiled from the original drawing commands and is for reference only.