Isosceles Triangles and Rhombus in Unit Circle Translation Animation

Isosceles Triangles and Rhombus in Unit Circle Translation Animation
Loading the math board and drawing, please wait…
2017-05-17 22:37
This example demonstrates a dynamic geometry animation based on a unit circle, where isosceles triangles, quadrilaterals, and rhombi are constructed through rotations, translations, and dilations, and their motion is observed as parameters change. The core mathematical concepts include properties of isosceles triangles, rhombus criteria, angle relationships on the unit circle, vector translation and scaling, and composition of geometric transformations. The construction uses GeoGebra commands such as Rotate, Angle, Ray, Point, Circle, Intersect, Segment, Line, LineBisector, CircleSector, Dilate, Vector, Translate, Midpoint, and Polygon, involving many auxiliary objects like B_1, C, A', α, f, g, etc. It is suitable for high school or early college students to understand geometric transformations and dynamic constructions, and also serves as an animated demonstration for teachers.

GeoGebra Commands & Parameters

  1. Rotate(B_1, 45°, C) → A'
  2. Angle(B_1, C, A') → α
  3. Ray(C, A') → f
  4. Ray(C, B_1) → g
  5. Rotate(A', 45°, C) → A''
  6. Angle(A', C, A'') → β
  7. Ray(C, A'') → h
  8. Point(f) → A
  9. Circle(C, A) → c
  10. Intersect(c, h, 1) → D
  11. Segment(A, D) → i
  12. Line(A, g) → j
  13. Intersect(j, h) → E
  14. LineBisector(A, E) → k
  15. Intersect(k, g) → B
  16. Segment(A, B) → l
  17. Segment(B, E) → m
  18. Circle(C, m / 2) → d
  19. Intersect(d, h, 1) → F
  20. Segment(B, F) → n
  21. Segment(A, C) → p
  22. Segment(C, B) → q
  23. Line(C, F) → r
  24. Circle(C, 1) → e
  25. Intersect(e, r, 1) → G
  26. Ray(C, G) → s
  27. Circle(E, (0.3 * Distance[E, D])) → t
  28. Intersect(t, j, 2) → H
  29. Intersect(t, h, 2) → I
  30. CircleSector(E, H, I) → c_1
  31. Segment(A, E) → a
  32. Segment(D, C) → b
  33. Rotate(c_1, If[0 < o ≤ 1, ((-o) * π / 2), ((-π)) / 2], E) → d_1
  34. Dilate(E, If[1.5 < o ≤ 2.5, 2.5 - o, 0], C) → E'
  35. Vector(E, E') → u
  36. Translate(d_1, u) → e_1
  37. Circle(C, Radius[t]) → f_1
  38. Intersect(f_1, p, 1) → J
  39. Intersect(f_1, q) → K,
  40. Dilate(C, If[2.5 < o ≤ 3.5, 3.5 - o, 0], A) → C'
  41. Rotate(D, If[2.5 < o ≤ 3.5, ((-(o - 2.5)) * π / 4), ((-π)) / 4], C) → D'
  42. Rotate(C, If[2.5 < o ≤ 3.5, ((-(o - 2.5)) * π / 4), ((-π)) / 4], C) → C'_1
  43. Segment(D', C'_1) → b'
  44. Intersect(f_1, b) → L,
  45. CircleSector(C, J, L) → g_1
  46. Rotate(g_1, If[4 < o ≤ 5, ((-(o - 4)) * π / 4), ((-π)) / 4], C) → h_1
  47. Segment(C, F) → i_1
  48. Segment(F, E) → j_1
  49. Segment(E, D) → k_1
  50. Dilate(C, If[5 < o ≤ 6, 6 - o, 0], F) → C'_2
  51. Segment(C, C'_2) → l_1
  52. Midpoint(B, E) → M
  53. Dilate(B, If[6 < o ≤ 7, 7 - o, 0], M) → B'
  54. Segment(B, B') → m_1
  55. Dilate(M, If[7 < o ≤ 8, 8 - o, 0], E) → M'
  56. Segment(M, M') → n_1
  57. Line(M, j_1) → p_1
  58. Point(p_1) → N
  59. Angle(N, M, B) → γ
  60. Dilate(F, If[8 < o ≤ 9, 9 - o, 0], M) → F'
  61. Vector(F, F') → v
  62. Translate(C, v) → C'_3
  63. Translate(C'_2, v) → O
  64. Segment(C'_3, O) → q_1
  65. Rotate(C'_3, If[9 < o ≤ 10, ((-(o - 9)) * (π - γ)), (-(π - γ))], M) → P
  66. Rotate(O, If[9 < o ≤ 10, ((-(o - 9)) * (π - γ)), (-(π - γ))], M) → O'
  67. Segment(P, O') → r_1
  68. Rotate(P, If[10 < o ≤ 11, ((-(o - 10)) * π), (-π)], M) → P'
  69. Rotate(O', If[10 < o ≤ 11, ((-(o - 10)) * π), (-π)], M) → O''
  70. Segment(P', O'') → s_1
  71. Angle(A, B, E) → δ
  72. Rotate(P, If[11 < o ≤ 12, ((-(o - 11)) * δ), (-δ)], B) → P'_1
  73. Rotate(O', If[11 < o ≤ 12, ((-(o - 11)) * δ), (-δ)], B) → O''_1
  74. Segment(P'_1, O''_1) → t_1
  75. Rotate(P', If[11 < o ≤ 12, ((-(o - 11)) * δ), (-δ)], B) → P''
  76. Rotate(O'', If[11 < o ≤ 12, ((-(o - 11)) * δ), (-δ)], B) → O'''
  77. Segment(P'', O''') → a_1
  78. Dilate(A, If[12 < o ≤ 13, 13 - o, 0], D) → A'_1
  79. Segment(B, D) → f_2
  80. Circle(B, f_2 / 3) → c_2
  81. Intersect(c_2, f_2, 1) → Q
  82. Circle(Q, f_2 / 3) → d_2
  83. Intersect(d_2, f_2, 2) → R
  84. Dilate(B, If[13 < o ≤ 14, 14 - o, 0], Q) → B'_1
  85. Dilate(Q, If[14 < o ≤ 15, 15 - o, 0], R) → B'_2
  86. Dilate(R, If[15 < o ≤ 16, 16 - o, 0], D) → R'
  87. Segment(B, B'_1) → g_2
  88. Segment(Q, B'_2) → h_2
  89. Segment(R, R') → i_2
  90. Angle(D, B, C) → ε
  91. Rotate(C, If[16 < o ≤ 17, ((-(o - 16)) * ε), (-ε)], B) → C'_4
  92. Rotate(B, If[16 < o ≤ 17, ((-(o - 16)) * ε), (-ε)], B) → B'_3
  93. Segment(C'_4, B'_3) → q'
  94. Rotate(C'_4, If[17 < o ≤ 18, ((o - 17) * π), π], Q) → S
  95. Rotate(B'_3, If[17 < o ≤ 18, ((o - 17) * π), π], Q) → T
  96. Segment(S, T) → q''
  97. Rotate(S, If[18 < o ≤ 19, ((o - 18) * π), π], R) → S'
  98. Rotate(T, If[18 < o ≤ 19, ((o - 18) * π), π], R) → T'
  99. Segment(S', T') → q'''
  100. Segment(B, F) → j_2
  101. Circle(B, q / 2) → e_2
  102. Intersect(e_2, j_2, 1) → U
  103. Circle(U, q / 2) → k_2
  104. Intersect(k_2, j_2, 2) → V
  105. Dilate(B, If[19 < o ≤ 20, 20 - o, 0], U) → B'_4
  106. Dilate(U, If[20 < o ≤ 21, 21 - o, 0], V) → U'
  107. Dilate(V, If[21 < o ≤ 22, 22 - o, 0], F) → V'
  108. Dilate(F, If[19 < o ≤ 20, 20 - o, 0], V) → F'_1
  109. Dilate(V, If[20 < o ≤ 21, 21 - o, 0], U) → V'_1
  110. Dilate(U, If[21 < o ≤ 22, 22 - o, 0], B) → U'_1
  111. Segment(F, F'_1) → l_2
  112. Segment(V, V'_1) → m_2
  113. Segment(U, U'_1) → n_2
  114. Angle(F, B, C) → ζ
  115. Rotate(F, If[22 < o ≤ 23, ((o - 22) * π), π], V) → F'_2
  116. Rotate(F'_1, If[22 < o ≤ 23, ((o - 22) * π), π], V) → W
  117. Segment(F'_2, W) → p_2
  118. Rotate(F'_2, If[23 < o ≤ 24, ((o - 23) * π), π], U) → Z
  119. Rotate(W, If[23 < o ≤ 24, ((o - 23) * π), π], U) → W'
  120. Segment(Z, W') → q_2
  121. Rotate(Z, If[24 < o ≤ 25, ((o - 24) * ζ), ζ], B) → Z'
  122. Rotate(W', If[24 < o ≤ 25, ((o - 24) * ζ), ζ], B) → W''
  123. Segment(Z', W'') → r_2
  124. Rotate(Z', If[25 < o ≤ 26, ((o - 25) * π), π], Z') → Z''
  125. Rotate(W'', If[25 < o ≤ 26, ((o - 25) * π), π], Z') → W'''
  126. Segment(Z'', W''') → s_2
  127. Polygon(A, D, C, B) → poly1, a_2, d_3, c_3, b_2
  128. Segment(A, D) → b_1