Dynamic Formation of a Regular Dodecahedron

Dynamic Formation of a Regular Dodecahedron
Loading the math board and drawing, please wait…
2018-01-08 13:16
This example demonstrates how to dynamically generate a regular dodecahedron using a 30-60-90 triangle. Key mathematical concepts include angles, vectors, and geometric construction. Using GeoGebra commands such as Line, Rotate, Intersect, and Polygon, a regular dodecahedron can be constructed. Suitable for high school geometry education or math enthusiasts exploring geometric transformations.

GeoGebra Commands & Parameters

  1. Line(U, V) → i
  2. OrthogonalLine(V, i) → j
  3. Rotate(V, π / 3, U) → V'
  4. Angle(V, U, V') → α
  5. Ray(U, V') → k
  6. Intersect(j, k) → W
  7. Angle(W, V, U) → β
  8. Segment(U, V) → m
  9. Dilate(U, If[0 < h ≤ 1, 1 - h, 0], V) → U'
  10. Segment(U, U') → n
  11. Dilate(V, If[1 < h ≤ 2, 2 - h, 0], W) → V'_1
  12. Segment(V, V'_1) → p
  13. Midpoint(U, W) → Z
  14. Dilate(W, If[2 < h ≤ 3, 3 - h, 0], Z) → W'
  15. Segment(W, W') → q
  16. Dilate(Z, If[3 < h ≤ 4, 4 - h, 0], U) → Z'
  17. Segment(Z, Z') → r
  18. OrthogonalLine(W, q) → s
  19. Circle(W, a) → t
  20. Intersect(t, s, 1) → A_1
  21. Segment(U, A_1) → f_1
  22. Circle(A_1, a) → c_1
  23. Intersect(c_1, f_1, 1) → B_1
  24. Rotate(U, If[4 < h ≤ 5, ((h - 4) * π / 3), π / 3], U) → U'_1
  25. Rotate(U', If[4 < h ≤ 5, ((h - 4) * π / 3), π / 3], U) → U''
  26. Segment(U'_1, U'') → n'
  27. Rotate(U'_1, If[5 < h ≤ 6, ((h - 5) * π), π], Z) → C_1
  28. Rotate(U'', If[5 < h ≤ 6, ((h - 5) * π), π], Z) → U'''
  29. Segment(C_1, U''') → n''
  30. Rotate(C_1, If[6 < h ≤ 7, (((h - 6) * 3) * π / 2), (3 * π / 2)], W) → D_1
  31. Rotate(U''', If[6 < h ≤ 7, (((h - 6) * 3) * π / 2), (3 * π / 2)], W) → E_1
  32. Segment(D_1, E_1) → n'''
  33. Angle(A_1, W, Z) → γ
  34. Dilate(A_1, If[7 < h ≤ 8, 8 - h, 0], B_1) → F_1
  35. Dilate(B_1, If[8 < h ≤ 9, 9 - h, 0], U) → G_1
  36. Segment(A_1, F_1) → g_1
  37. Segment(B_1, G_1) → h_1
  38. Angle(U, A_1, W) → δ
  39. Rotate(D_1, If[9 < h ≤ 10, ((-(h - 9)) * δ), (-δ)], A_1) → H_1
  40. Rotate(E_1, If[9 < h ≤ 10, ((-(h - 9)) * δ), (-δ)], A_1) → I_1
  41. Segment(H_1, I_1) → i_1
  42. Polygon(U, V, W) → t1, w, u, v
  43. Polygon(U, W, A_1) → t2, a_1, u_1, w_1
  44. Line((0, 0, 0), (1, 0, 0)) → j_1
  45. Line((0, 0, 0), (0, 1, 0)) → k_1
  46. Line((0, 0, 0), (0, 0, 1)) → l_1
  47. Dilate(V, If[15 < h ≤ 16, 16 - h, 0], U) → V'_2
  48. Vector(V, V'_2) → v_1
  49. Translate(V, v_1) → V'_3
  50. Translate(V'_1, v_1) → J_1
  51. Segment(V'_3, J_1) → p'
  52. Rotate(V'_3, If[16 < h ≤ 17, ((-(h - 16)) * π / 2), ((-π)) / 2], U) → K_1
  53. Rotate(J_1, If[16 < h ≤ 17, ((-(h - 16)) * π / 2), ((-π)) / 2], U) → L_1
  54. Segment(K_1, L_1) → p''
  55. Dilate(U, If[17 < h ≤ 18, 18 - h, 0], L_1) → U'_2
  56. Sphere(U, U'_2) → o
  57. Angle(L_1, U, I) → ε
  58. Rotate(K_1, If[18 < h ≤ 19, ((h - 18) * ε), ε], U) → M_1
  59. Rotate(L_1, If[18 < h ≤ 19, ((h - 18) * ε), ε], U, d) → N_1
  60. Segment(M_1, N_1) → p'''
  61. Dilate(U, If[19 < h ≤ 20, 20 - h, 0], I) → U'_3
  62. Vector(U, U'_3) → b_1
  63. Translate(B_1, b_1) → O_1
  64. Translate(G_1, b_1) → P_1
  65. Segment(O_1, P_1) → m_1
  66. Angle(O_1, I, J) → ζ
  67. Rotate(O_1, If[20 < h ≤ 21, ((h - 20) * ζ), ζ], I, Plane[J, I, O_1]) → Q_1
  68. Rotate(P_1, If[20 < h ≤ 21, ((h - 20) * ζ), ζ], I, Plane[U, I, O_1]) → R_1
  69. Segment(Q_1, R_1) → n_1
  70. Rotate(Q_1, If[21 < h ≤ 22, (((h - 21) * 108) * π / 180), (108 * π / 180)], J, Plane[J, I, T]) → S_1
  71. Rotate(R_1, If[21 < h ≤ 22, (((h - 21) * 108) * π / 180), (108 * π / 180)], J, Plane[J, I, T]) → T_1
  72. Segment(S_1, T_1) → p_1
  73. Rotate(S_1, If[22 < h ≤ 23, (((-(h - 22)) * 108) * π / 180), (-108 * π / 180)], T, Plane[J, T, L]) → U_1
  74. Rotate(T_1, If[22 < h ≤ 23, (((-(h - 22)) * 108) * π / 180), (-108 * π / 180)], T, Plane[J, T, L]) → V_1
  75. Segment(U_1, V_1) → q_1
  76. Rotate(T_1, If[23 < h ≤ 24, (((h - 23) * 108) * π / 180), (108 * π / 180)], L, Plane[L, T, N]) → Z_1
  77. Rotate(U_1, If[23 < h ≤ 24, (((h - 23) * 108) * π / 180), (108 * π / 180)], L, Plane[L, T, N]) → A_2
  78. Rotate(V_1, If[23 < h ≤ 24, (((h - 23) * 108) * π / 180), (108 * π / 180)], L, Plane[L, T, N]) → B_2
  79. Segment(A_2, B_2) → s_1
  80. Rotate(A_2, If[24 < h ≤ 25, (((h - 24) * 108) * π / 180), (108 * π / 180)], N, Plane[L, O, N]) → W_1
  81. Rotate(B_2, If[24 < h ≤ 25, (((h - 24) * 108) * π / 180), (108 * π / 180)], N, Plane[L, O, N]) → C_2
  82. Segment(W_1, C_2) → r_1
  83. Rotate(W_1, If[25 < h ≤ 26, (((h - 25) * 108) * π / 180), (108 * π / 180)], O, Plane[B, O, N]) → D_2
  84. Rotate(C_2, If[25 < h ≤ 26, (((h - 25) * 108) * π / 180), (108 * π / 180)], O, Plane[E, O, N]) → E_2
  85. Segment(D_2, E_2) → t_1
  86. Polygon(R, Q, N, L, T) → poly1, r_2, q_2, n_2, l_2, t_2
  87. Polygon(R, T, J, I, H) → poly2, r_3, t_3, j_2, i_2, h_2
  88. Polygon(F, Q, R, H, G) → poly3, f_2, q_3, r_4, h_3, g_2
  89. Polygon(F, E, O, N, Q) → poly4, f_3, e_1, o_1, n_3, q_4
  90. Polygon(S, M, K, J, I) → poly5, s_2, m_2, k_2, j_3, i_3
  91. Polygon(T, L, A, K, J) → poly6, t_4, l_3, a_2, k_3, j_4
  92. Polygon(N, O, B, A, L) → poly7, n_4, o_2, b_2, a_3, l_4
  93. Polygon(A, B, C, M, K) → poly8, a_4, b_3, c_2, m_3, k_4
  94. Polygon(B, C, D, E, O) → poly9, b_4, c_3, d_1, e_2, o_3
  95. Polygon(D, P, G, F, E) → poly10, d_2, p_2, g_3, f_4, e_3
  96. Polygon(D, C, M, S, P) → poly11, d_3, c_4, m_4, s_3, p_3
  97. Polygon(G, H, I, S, P) → poly12, g_4, h_4, i_4, s_4, p_4
  98. Rotate(D_2, If[26 < h ≤ 27, (((-(h - 26)) * 108) * π / 180), (-108 * π / 180)], E, Plane[O, E, D]) → F_2
  99. Rotate(E_2, If[26 < h ≤ 27, (((-(h - 26)) * 108) * π / 180), (-108 * π / 180)], E, Plane[O, E, D]) → G_2
  100. Segment(F_2, G_2) → d_4
  101. Rotate(F_2, If[27 < h ≤ 28, (((-(h - 27)) * 108) * π / 180), (-108 * π / 180)], D, Plane[P, E, D]) → H_2
  102. Rotate(G_2, If[27 < h ≤ 28, (((-(h - 27)) * 108) * π / 180), (-108 * π / 180)], D, Plane[P, E, D]) → I_2
  103. Segment(H_2, I_2) → e_4
  104. Rotate(H_2, If[28 < h ≤ 29, (((h - 28) * 108) * π / 180), (108 * π / 180)], P, Plane[S, P, D]) → J_2
  105. Rotate(I_2, If[28 < h ≤ 29, (((h - 28) * 108) * π / 180), (108 * π / 180)], P, Plane[S, P, D]) → K_2
  106. Segment(J_2, K_2) → f_5
  107. Rotate(J_2, If[29 < h ≤ 30, (((h - 29) * 108) * π / 180), (108 * π / 180)], S, Plane[S, P, I]) → L_2
  108. Rotate(K_2, If[29 < h ≤ 30, (((h - 29) * 108) * π / 180), (108 * π / 180)], S, Plane[S, P, I]) → M_2
  109. Segment(L_2, M_2) → g_5
  110. Rotate(L_2, If[30 < h ≤ 31, (((-(h - 30)) * 108) * π / 180), (-108 * π / 180)], S, Plane[S, M, I]) → N_2
  111. Rotate(M_2, If[30 < h ≤ 31, (((-(h - 30)) * 108) * π / 180), (-108 * π / 180)], S, Plane[S, M, I]) → O_2
  112. Segment(N_2, O_2) → h_5
  113. Rotate(S_1, If[30 < h ≤ 31, (((-(h - 30)) * 108) * π / 180), (-108 * π / 180)], J, Plane[T, J, K]) → P_2
  114. Rotate(T_1, If[30 < h ≤ 31, (((-(h - 30)) * 108) * π / 180), (-108 * π / 180)], J, Plane[T, J, K]) → Q_2
  115. Segment(P_2, Q_2) → i_5
  116. Rotate(A_2, If[30 < h ≤ 31, (((-(h - 30)) * 108) * π / 180), (-108 * π / 180)], L, Plane[N, L, A]) → R_2
  117. Rotate(B_2, If[30 < h ≤ 31, (((-(h - 30)) * 108) * π / 180), (-108 * π / 180)], L, Plane[N, L, A]) → S_2
  118. Segment(R_2, S_2) → j_5
  119. Rotate(D_2, If[30 < h ≤ 31, (((-(h - 30)) * 108) * π / 180), (-108 * π / 180)], O, Plane[E, O, B]) → T_2
  120. Rotate(E_2, If[30 < h ≤ 31, (((-(h - 30)) * 108) * π / 180), (-108 * π / 180)], O, Plane[E, O, B]) → U_2
  121. Segment(T_2, U_2) → k_5
  122. Rotate(H_2, If[30 < h ≤ 31, (((-(h - 30)) * 108) * π / 180), (-108 * π / 180)], D, Plane[P, D, C]) → V_2
  123. Rotate(I_2, If[30 < h ≤ 31, (((-(h - 30)) * 108) * π / 180), (-108 * π / 180)], D, Plane[P, D, C]) → W_2
  124. Segment(V_2, W_2) → l_5
  125. Rotate(S_1, If[31 < h ≤ 32, (((-(h - 31)) * 108) * π / 180), (-108 * π / 180)], T, Plane[J, T, R]) → Z_2
  126. Rotate(T_1, If[31 < h ≤ 32, (((-(h - 31)) * 108) * π / 180), (-108 * π / 180)], T, Plane[J, T, R]) → A_3
  127. Segment(Z_2, A_3) → m_5
  128. Rotate(L_2, If[31 < h ≤ 32, (((-(h - 31)) * 108) * π / 180), (-108 * π / 180)], I, Plane[S, I, H]) → B_3
  129. Rotate(M_2, If[31 < h ≤ 32, (((-(h - 31)) * 108) * π / 180), (-108 * π / 180)], I, Plane[S, I, H]) → C_3
  130. Segment(B_3, C_3) → n_5
  131. Rotate(H_2, If[31 < h ≤ 32, (((-(h - 31)) * 108) * π / 180), (-108 * π / 180)], P, Plane[D, P, G]) → D_3
  132. Rotate(I_2, If[31 < h ≤ 32, (((-(h - 31)) * 108) * π / 180), (-108 * π / 180)], P, Plane[D, P, G]) → E_3
  133. Segment(D_3, E_3) → p_5
  134. Rotate(D_2, If[31 < h ≤ 32, (((-(h - 31)) * 108) * π / 180), (-108 * π / 180)], E, Plane[O, E, F]) → F_3
  135. Rotate(E_2, If[31 < h ≤ 32, (((-(h - 31)) * 108) * π / 180), (-108 * π / 180)], E, Plane[O, E, F]) → G_3
  136. Segment(F_3, G_3) → q_5
  137. Rotate(A_2, If[31 < h ≤ 32, (((-(h - 31)) * 108) * π / 180), (-108 * π / 180)], N, Plane[L, N, Q]) → H_3
  138. Rotate(B_2, If[31 < h ≤ 32, (((-(h - 31)) * 108) * π / 180), (-108 * π / 180)], N, Plane[L, N, Q]) → I_3
  139. Segment(H_3, I_3) → r_5
  140. Rotate(R_2, If[32 < h ≤ 33, (((-(h - 32)) * 108) * π / 180), (-108 * π / 180)], A, Plane[L, A, B]) → J_3
  141. Rotate(S_2, If[32 < h ≤ 33, (((h - 32) * 108) * π / 180), (108 * π / 180)], A, Plane[L, A, B]) → K_3
  142. Segment(J_3, K_3) → s_5
  143. Rotate(P_2, If[32 < h ≤ 33, (((-(h - 32)) * 108) * π / 180), (-108 * π / 180)], K, Plane[K, A, J]) → L_3
  144. Rotate(Q_2, If[32 < h ≤ 33, (((-(h - 32)) * 108) * π / 180), (-108 * π / 180)], K, Plane[K, A, J]) → M_3
  145. Segment(L_3, M_3) → t_5
  146. Rotate(N_2, If[32 < h ≤ 33, (((-(h - 32)) * 108) * π / 180), (-108 * π / 180)], M, Plane[K, S, M]) → N_3
  147. Rotate(O_2, If[32 < h ≤ 33, (((-(h - 32)) * 108) * π / 180), (-108 * π / 180)], M, Plane[K, S, M]) → O_3
  148. Segment(N_3, O_3) → a_5
  149. Rotate(V_2, If[32 < h ≤ 33, (((h - 32) * 108) * π / 180), (108 * π / 180)], C, Plane[C, D, M]) → P_3
  150. Rotate(W_2, If[32 < h ≤ 33, (((-(h - 32)) * 108) * π / 180), (-108 * π / 180)], C, Plane[C, D, M]) → Q_3
  151. Segment(P_3, Q_3) → b_5
  152. Rotate(T_2, If[32 < h ≤ 33, (((-(h - 32)) * 108) * π / 180), (-108 * π / 180)], B, Plane[O, B, C]) → R_3
  153. Rotate(U_2, If[32 < h ≤ 33, (((-(h - 32)) * 108) * π / 180), (-108 * π / 180)], B, Plane[O, B, C]) → S_3
  154. Segment(R_3, S_3) → c_5
  155. Rotate(D_3, If[33 < h ≤ 34, (((-(h - 33)) * 108) * π / 180), (-108 * π / 180)], G, Plane[P, G, F]) → T_3
  156. Rotate(E_3, If[33 < h ≤ 34, (((-(h - 33)) * 108) * π / 180), (-108 * π / 180)], G, Plane[P, G, F]) → U_3
  157. Segment(T_3, U_3) → d_5
  158. Rotate(F_3, If[33 < h ≤ 34, (((-(h - 33)) * 108) * π / 180), (-108 * π / 180)], F, Plane[E, Q, F]) → V_3
  159. Rotate(G_3, If[33 < h ≤ 34, (((h - 33) * 108) * π / 180), (108 * π / 180)], F, Plane[E, Q, F]) → W_3
  160. Segment(V_3, W_3) → e_5
  161. Rotate(H_3, If[33 < h ≤ 34, (((-(h - 33)) * 108) * π / 180), (-108 * π / 180)], Q, Plane[N, Q, R]) → Z_3
  162. Rotate(I_3, If[33 < h ≤ 34, (((-(h - 33)) * 108) * π / 180), (-108 * π / 180)], Q, Plane[N, Q, R]) → A_4
  163. Segment(Z_3, A_4) → f_6
  164. Rotate(Z_2, If[33 < h ≤ 34, (((-(h - 33)) * 108) * π / 180), (-108 * π / 180)], R, Plane[H, T, R]) → B_4
  165. Rotate(A_3, If[33 < h ≤ 34, (((-(h - 33)) * 108) * π / 180), (-108 * π / 180)], R, Plane[H, T, R]) → C_4
  166. Segment(B_4, C_4) → g_6
  167. Rotate(B_3, If[33 < h ≤ 34, (((h - 33) * 108) * π / 180), (108 * π / 180)], H, Plane[H, I, G]) → D_4
  168. Rotate(C_3, If[33 < h ≤ 34, (((h - 33) * 108) * π / 180), (108 * π / 180)], H, Plane[H, I, G]) → E_4
  169. Segment(D_4, E_4) → h_6

AI Drawing Prompt Reference

Draw a regular dodecahedron using a 30-60-90 triangle. Start by drawing a line segment UV, then construct a line j perpendicular to it, rotate point V to form V', calculate angle α, draw ray k and find its intersection with j to get point W, calculate angle β, construct line segments UV and UW, perform scaling transformations to get line segments U' and V'1, continue constructing the dodecahedron's faces, including triangles UVA1 and UVW, and finally form a regular dodecahedron.
The prompt above was compiled from the original drawing commands and is for reference only.