Animation 94: Equilateral Triangle Reflections and Rotations

Animation 94: Equilateral Triangle Reflections and Rotations
Loading the math board and drawing, please wait…
2016-07-07 07:57
① This GeoGebra example demonstrates a dynamic animation involving equilateral triangles undergoing reflections, rotations, translations, and dilations, with circles, segments, sectors, and other geometric elements updating under button control. ② Core mathematical concepts include properties of equilateral triangles, reflection and rotational symmetry, vector translation, homothety (scaling), and the visualization of abstract ideas like standard deviation, set theory, and exponents within a geometric construction. ③ Construction highlights: from the summary, commands such as Polygon, Dilate, Segment, Circle, Intersect, Rotate, Vector, PointIn, OrthogonalLine, Angle, CircleSector, Line, Distance, and Translate are used, along with multiple points, lines, circles, and a button (button1) to drive the animation. ④ Suitable for upper secondary or early university students exploring geometric transformations and dynamic mathematics, and for teachers creating interactive geometry lessons.

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. Polygon(A, B, C) → poly2, c_2, a_1, b_1
  33. PointIn(poly2) → T
  34. OrthogonalLine(T, h) → n
  35. OrthogonalLine(T, i) → g_1
  36. OrthogonalLine(T, j) → h_1
  37. Intersect(g_1, i) → U
  38. Intersect(n, h) → V
  39. Intersect(h_1, j) → W
  40. Angle(T, U, C) → α
  41. Angle(T, V, A) → β
  42. Angle(T, W, B) → γ
  43. Circle(W, (0.1 * h)) → q
  44. Circle(V, (0.1 * h)) → s
  45. Circle(U, (0.1 * h)) → t
  46. Intersect(q, j, 2) → Z
  47. Intersect(q, h_1, 2) → A_1
  48. Intersect(s, h, 2) → B_1
  49. Intersect(s, n, 2) → C_1
  50. Intersect(t, i, 1) → D_1
  51. Intersect(t, g_1, 1) → E_1
  52. CircleSector(W, Z, A_1) → k_1
  53. CircleSector(V, B_1, C_1) → p_1
  54. CircleSector(U, D_1, E_1) → q_1
  55. Dilate(T, If[10 < d ≤ 11, 11 - d, 0], U) → T'
  56. Segment(T, T') → i_1
  57. Dilate(T, If[10 < d ≤ 11, 11 - d, 0], V) → T'_1
  58. Dilate(T, If[10 < d ≤ 11, 11 - d, 0], W) → T'_2
  59. Segment(T, T'_1) → a_2
  60. Segment(T, T'_2) → b_2
  61. Rotate(q_1, If[11.5 < d ≤ 12.5, ((d - 11.5) * π / 2), 1.5708], U) → r_1
  62. Rotate(p_1, If[11.5 < d ≤ 12.5, ((d - 11.5) * π / 2), 1.5708], V) → d_2
  63. Rotate(k_1, If[11.5 < d ≤ 12.5, ((d - 11.5) * π / 2), 1.5708], W) → e_2
  64. Rotate(B, π / 3, A) → B'_2
  65. Dilate(B'_2, If[7 < d ≤ 8, 8 - d, 0], U) → M_1
  66. Segment(B'_2, M_1) → k_2
  67. Dilate(A, If[8 < d ≤ 9, 9 - d, 0], V) → A'_4
  68. Segment(A, A'_4) → l_2
  69. Dilate(B, If[9 < d ≤ 10, 10 - d, 0], W) → B'_3
  70. Segment(B, B'_3) → m_2
  71. Line(A, B) → l
  72. Distance(A, B) → m
  73. Circle(A, (0.15 * m)) → p
  74. OrthogonalLine(A, l) → f_1
  75. Intersect(p, f_1, 1) → M
  76. Line(M, l) → j_1
  77. Circle(A, (0.3 * m)) → c_1
  78. Intersect(c_1, f_1, 1) → N
  79. Line(N, l) → l_1
  80. Circle(A, (0.45 * m)) → d_1
  81. Intersect(d_1, f_1, 1) → O
  82. Line(O, j_1) → m_1
  83. Dilate(A, If[3.5 < d ≤ 4.5, 4.5 - d, 0], M) → A'_5
  84. Vector(A, A'_5) → w
  85. Translate(A, w) → A'_6
  86. Translate(A', w) → A''_2
  87. Segment(A'_6, A''_2) → e'_2
  88. Rotate(A'_6, If[4.5 < d ≤ 5.5, ((d - 4.5) * π), π], A''_2) → R
  89. Rotate(A''_2, If[4.5 < d ≤ 5.5, ((d - 4.5) * π), π], A''_2) → S
  90. Segment(R, S) → n_1
  91. Rotate(R, If[5.5 < d ≤ 6.5, ((d - 5.5) * π), π], R) → R'
  92. Rotate(S, If[5.5 < d ≤ 6.5, ((d - 5.5) * π), π], R) → S'
  93. Segment(R', S') → s_1
  94. Dilate(M, If[12.5 < d ≤ 13.5, 13.5 - d, 0], N) → M'
  95. Vector(M, M') → u_1
  96. Segment(M, S') → t_1
  97. Translate(M, u_1) → M'_1
  98. Translate(S', u_1) → S''
  99. Segment(M'_1, S'') → e_1
  100. Circle(M', e_1 / 4) → f_2
  101. Intersect(f_2, e_1, 1) → F_1
  102. Circle(F_1, e_1 / 4) → g_2
  103. Intersect(g_2, e_1, 2) → G_1
  104. Circle(G_1, e_1 / 4) → h_2
  105. Intersect(h_2, e_1, 2) → H_1
  106. Dilate(M'_1, If[13.5 < d ≤ 14.5, 14.5 - d, 0], F_1) → I_1
  107. Segment(M', F_1) → i_2
  108. Segment(F_1, G_1) → j_2
  109. Segment(G_1, H_1) → n_2
  110. Segment(H_1, S'') → p_2
  111. Segment(M', I_1) → q_2
  112. Rotate(M', If[14.5 < d ≤ 15.5, ((d - 14.5) * π), π], F_1) → M''
  113. Rotate(I_1, If[14.5 < d ≤ 15.5, ((d - 14.5) * π), π], F_1) → J_1
  114. Segment(M'', J_1) → r_2
  115. Rotate(M'', If[15.5 < d ≤ 16.5, ((d - 15.5) * π), π], G_1) → M'''
  116. Rotate(J_1, If[15.5 < d ≤ 16.5, ((d - 15.5) * π), π], G_1) → P
  117. Segment(M''', P) → s_2
  118. Rotate(M''', If[16.5 < d ≤ 17.5, ((d - 16.5) * π), π], H_1) → Q
  119. Rotate(P, If[16.5 < d ≤ 17.5, ((d - 16.5) * π), π], H_1) → P'
  120. Segment(Q, P') → t_2
  121. Dilate(M', If[17.5 < d ≤ 18.5, 18.5 - d, 0], O) → M''_1
  122. Vector(M', M''_1) → v_1
  123. Translate(G_1, v_1) → K_1
  124. Line(M''_1, K_1) → f_3
  125. Circle(M''_1, l_2) → c_3
  126. Intersect(c_3, f_3, 2) → L_1
  127. Circle(L_1, k_2) → d_3
  128. Intersect(d_3, f_3, 2) → N_1
  129. Distance(N_1, K_1) → o
  130. Segment(M''_1, L_1) → g_3
  131. Segment(L_1, N_1) → h_3
  132. Segment(N_1, K_1) → i_3
  133. Dilate(A, If[19 < d ≤ 20, 20 - d, 0], M''_1) → A'_7
  134. Vector(A, A'_7) → w_1
  135. Translate(A, w_1) → A'_8
  136. Translate(A'_4, w_1) → O_1
  137. Segment(A'_8, O_1) → j_3
  138. Dilate(U, If[20 < d ≤ 21, 21 - d, 0], L_1) → U'
  139. Vector(U, U') → u_2
  140. Translate(B'_2, u_2) → P_1
  141. Translate(M_1, u_2) → Q_1
  142. Segment(P_1, Q_1) → k_3
  143. Rotate(P_1, If[21 < d ≤ 22, ((-(d - 21)) * π / 3), ((-π)) / 3], L_1) → R_1
  144. Rotate(Q_1, If[21 < d ≤ 22, ((-(d - 21)) * π / 3), ((-π)) / 3], L_1) → S_1
  145. Segment(R_1, S_1) → l_3
  146. Dilate(B, If[22 < d ≤ 23, 23 - d, 0], N_1) → B'_4
  147. Vector(B, B'_4) → v_2
  148. Translate(B, v_2) → B'_5
  149. Translate(B'_3, v_2) → T_1
  150. Segment(B'_5, T_1) → m_3
  151. Rotate(B'_5, If[23 < d ≤ 24, (((-(d - 23)) * 2) * π / 3), (-2 * π / 3)], N_1) → U_1
  152. Rotate(T_1, If[23 < d ≤ 24, (((-(d - 23)) * 2) * π / 3), (-2 * π / 3)], N_1) → V_1
  153. Segment(U_1, V_1) → n_3

AI Drawing Prompt Reference

Draw an equilateral triangle. Inside it, place a dynamic point. From one vertex, draw a segment along a side toward another vertex, with length varying by an animation parameter. Inside the triangle, draw a small circle centered at a vertex, intersecting two sides at two points. Rotate the triangle about its vertices to create new triangles, and connect corresponding vertices with segments. Choose an interior point, drop perpendiculars to the three sides, and mark the feet. Form three angles at the interior point with the feet. Draw three small circles centered at the feet, intersecting sides or perpendiculars. The whole figure includes multiple triangles, circles, segments, and angles, updating dynamically with the animation parameter.
The prompt above was compiled from the original drawing commands and is for reference only.