Vivani's Theorem Illustrated

Vivani's Theorem Illustrated
Loading the math board and drawing, please wait…
2016-05-21 10:15
This example vividly demonstrates Vivani's Theorem without words, segment lengths, or angle measures. It involves concepts such as circles, spheres, and special points. Using GeoGebra commands like Polygon, Dilate, Circle, and Intersect, a geometric figure is constructed. Suitable for high school mathematics education and learning.

GeoGebra Commands & Parameters

  1. Polygon(A, B, 3) → poly1, a, b, c, C
  2. Dilate(A, If[0 < d ≤ 1, 1 - d, 0], B) → A'
  3. Segment(A, A') → e
  4. Dilate(B, If[1 < d ≤ 2, 2 - d, 0], C) → B'
  5. Segment(B, B') → f
  6. Dilate(C, If[2 < d ≤ 3, 3 - d, 0], A) → C'
  7. Segment(C, C') → g
  8. Segment(A, B) → h
  9. Segment(A, C) → i
  10. Segment(B, C) → j
  11. Circle(A, (0.15 * h)) → k
  12. Intersect(k, i, 1) → D
  13. Intersect(k, h, 1) → E
  14. Rotate(A, If[3.5 < d ≤ 4.5, ((d - 3.5) * π / 3), 1.0471975511965976], A) → A'_1
  15. Rotate(A', If[3.5 < d ≤ 4.5, ((d - 3.5) * π / 3), 1.0471975511965976], A) → A''
  16. Segment(A'_1, A'') → e'
  17. Rotate(A, If[4.5 < d ≤ 5.5, ((-(d - 4.5)) * π / 3), -1.0471975511965976], B) → A'_2
  18. Rotate(A', If[4.5 < d ≤ 5.5, ((-(d - 4.5)) * π / 3), -1.0471975511965976], B) → A''_1
  19. Segment(A'_2, A''_1) → e'_1
  20. Dilate(A, If[6 < d ≤ 7, 7 - d, 0], B) → A'_3
  21. Vector(A, A'_3) → u
  22. Circle(B, (0.15 * h)) → r
  23. Intersect(f, e'_1) → G
  24. Intersect(f, e'_1) → H
  25. Intersect(f, e'_1) → I
  26. Intersect(f, e'_1) → J
  27. Intersect(r, j, 1) → F
  28. Intersect(r, h, 1) → K
  29. Dilate(B, If[8 < d ≤ 9, 9 - d, 0], C) → B'_1
  30. Vector(B, B'_1) → v
  31. Intersect(g, e') → L
  32. Midpoint(h) → O
  33. Circle(O, (0.05 * h)) → d_1
  34. Segment(C, O) → m
  35. Intersect(d_1, m, 1) → P
  36. Intersect(d_1, h) → Q, R
  37. CircleSector(O, R, P) → f_1
  38. Polygon(A, B, C) → poly2, c_2, a_1, b_1
  39. PointIn(poly2) → T
  40. OrthogonalLine(T, h) → n
  41. OrthogonalLine(T, i) → g_1
  42. OrthogonalLine(T, j) → h_1
  43. Intersect(g_1, i) → U
  44. Intersect(n, h) → V
  45. Intersect(h_1, j) → W
  46. Angle(T, U, C) → α
  47. Angle(T, V, A) → β
  48. Angle(T, W, B) → γ
  49. Circle(W, (0.05 * h)) → q
  50. Circle(V, (0.05 * h)) → s
  51. Circle(U, (0.05 * h)) → t
  52. Intersect(q, j, 2) → Z
  53. Intersect(q, h_1, 2) → A_1
  54. Intersect(s, h, 2) → B_1
  55. Intersect(s, n, 2) → C_1
  56. Intersect(t, i, 1) → D_1
  57. Intersect(t, g_1, 1) → E_1
  58. CircleSector(W, Z, A_1) → k_1
  59. CircleSector(V, B_1, C_1) → p_1
  60. CircleSector(U, D_1, E_1) → q_1
  61. Dilate(T, If[10 < d ≤ 11, 11 - d, 0], U) → T'
  62. Segment(T, T') → i_1
  63. Segment(T, U) → j_1
  64. Segment(T, W) → l_1
  65. Segment(T, V) → m_1
  66. Circle(C, j_1) → c_1
  67. Segment(C, O) → e_1
  68. Intersect(c_1, e_1, 1) → M
  69. Circle(M, m_1) → s_1
  70. Intersect(s_1, e_1, 1) → N
  71. Dilate(C, If[5.5 < d ≤ 6.5, 6.5 - d, 0], M) → C'_1
  72. Segment(C, C'_1) → l
  73. Dilate(M, If[6.5 < d ≤ 7.5, 7.5 - d, 0], N) → M'
  74. Segment(M, M') → n_1
  75. Dilate(N, If[7.5 < d ≤ 8.5, 8.5 - d, 0], O) → N'
  76. Segment(N, N') → t_1
  77. Rotate(f_1, If[9 < d ≤ 10, ((d - 9) * π / 2), 1.5708], O) → p
  78. Dilate(T, If[10 < d ≤ 11, 11 - d, 0], V) → T'_1
  79. Dilate(T, If[10 < d ≤ 11, 11 - d, 0], W) → T'_2
  80. Segment(T, T'_1) → a_2
  81. Segment(T, T'_2) → b_2
  82. Rotate(q_1, If[11.5 < d ≤ 12.5, ((d - 11.5) * π / 2), 1.5708], U) → r_1
  83. Rotate(p_1, If[11.5 < d ≤ 12.5, ((d - 11.5) * π / 2), 1.5708], V) → d_2
  84. Rotate(k_1, If[11.5 < d ≤ 12.5, ((d - 11.5) * π / 2), 1.5708], W) → e_2
  85. Dilate(U, If[13 < d ≤ 14, 14 - d, 0], C) → U'
  86. Vector(U, U') → w
  87. Translate(T, w) → T'_3
  88. Translate(T', w) → T''
  89. Segment(T'_3, T'') → f_2
  90. Rotate(T'_3, If[14 < d ≤ 15, (((d - 14) * 2) * π / 3), 2.0943951023931953], M) → S
  91. Rotate(T'', If[14 < d ≤ 15, (((d - 14) * 2) * π / 3), 2.0943951023931953], M) → T'''
  92. Rotate(T'_3, If[14 < d ≤ 15, d - 14 - π / 3, -1.0471975511965976], C) → F_1
  93. Rotate(T'', If[14 < d ≤ 15, d - 14 - π / 3, -1.0471975511965976], C) → T'''_1
  94. Rotate(T'_3, If[14 < d ≤ 15, ((-(d - 14)) * π / 3), -1.0472], C) → G_1
  95. Rotate(T'', If[14 < d ≤ 15, d - 14 - π / 3, -1.0471975511965976], C) → T'''_2
  96. Segment(G_1, T'''_2) → g_2
  97. Dilate(T, If[15 < d ≤ 16, 16 - d, 0], M) → T'_4
  98. Vector(T, T'_4) → u_1
  99. Translate(T, u_1) → T'_5
  100. Translate(T'_1, u_1) → H_1
  101. Segment(T'_5, H_1) → h_2
  102. Dilate(T, If[16 < d ≤ 17, 17 - d, 0], N) → T'_6
  103. Vector(T, T'_6) → v_1
  104. Translate(T, v_1) → T'_7
  105. Translate(T'_2, v_1) → I_1
  106. Segment(T'_7, I_1) → i_2
  107. Rotate(T'_7, If[17 < d ≤ 18, (((d - 17) * 4) * π / 3), 4.1887902047863905], N) → J_1
  108. Rotate(I_1, If[17 < d ≤ 18, (((-(d - 17)) * 2) * π / 3), -2.0943951023931953], N) → K_1
  109. Segment(J_1, K_1) → j_2
  110. Rotate(J_1, If[18 < d ≤ 19, (((-(d - 18)) * 5) * π / 3), -5.235987755982988], N) → L_1
  111. Rotate(L_1, If[20 < d ≤ 21, ((-(d - 20)) * π / 18), -0.17453292519943295], N) → N_1