Dynamic Formation of a Regular Dodecahedron
Loading the math board and drawing, please wait…
In collections
GeoGebra 3D & AR: PreCalc & Calculus Resources
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
Line(U, V) → iOrthogonalLine(V, i) → jRotate(V, π / 3, U) → V'Angle(V, U, V') → αRay(U, V') → kIntersect(j, k) → WAngle(W, V, U) → βSegment(U, V) → mDilate(U, If[0 < h ≤ 1, 1 - h, 0], V) → U'Segment(U, U') → nDilate(V, If[1 < h ≤ 2, 2 - h, 0], W) → V'_1Segment(V, V'_1) → pMidpoint(U, W) → ZDilate(W, If[2 < h ≤ 3, 3 - h, 0], Z) → W'Segment(W, W') → qDilate(Z, If[3 < h ≤ 4, 4 - h, 0], U) → Z'Segment(Z, Z') → rOrthogonalLine(W, q) → sCircle(W, a) → tIntersect(t, s, 1) → A_1Segment(U, A_1) → f_1Circle(A_1, a) → c_1Intersect(c_1, f_1, 1) → B_1Rotate(U, If[4 < h ≤ 5, ((h - 4) * π / 3), π / 3], U) → U'_1Rotate(U', If[4 < h ≤ 5, ((h - 4) * π / 3), π / 3], U) → U''Segment(U'_1, U'') → n'Rotate(U'_1, If[5 < h ≤ 6, ((h - 5) * π), π], Z) → C_1Rotate(U'', If[5 < h ≤ 6, ((h - 5) * π), π], Z) → U'''Segment(C_1, U''') → n''Rotate(C_1, If[6 < h ≤ 7, (((h - 6) * 3) * π / 2), (3 * π / 2)], W) → D_1Rotate(U''', If[6 < h ≤ 7, (((h - 6) * 3) * π / 2), (3 * π / 2)], W) → E_1Segment(D_1, E_1) → n'''Angle(A_1, W, Z) → γDilate(A_1, If[7 < h ≤ 8, 8 - h, 0], B_1) → F_1Dilate(B_1, If[8 < h ≤ 9, 9 - h, 0], U) → G_1Segment(A_1, F_1) → g_1Segment(B_1, G_1) → h_1Angle(U, A_1, W) → δRotate(D_1, If[9 < h ≤ 10, ((-(h - 9)) * δ), (-δ)], A_1) → H_1Rotate(E_1, If[9 < h ≤ 10, ((-(h - 9)) * δ), (-δ)], A_1) → I_1Segment(H_1, I_1) → i_1Polygon(U, V, W) → t1, w, u, vPolygon(U, W, A_1) → t2, a_1, u_1, w_1Line((0, 0, 0), (1, 0, 0)) → j_1Line((0, 0, 0), (0, 1, 0)) → k_1Line((0, 0, 0), (0, 0, 1)) → l_1Dilate(V, If[15 < h ≤ 16, 16 - h, 0], U) → V'_2Vector(V, V'_2) → v_1Translate(V, v_1) → V'_3Translate(V'_1, v_1) → J_1Segment(V'_3, J_1) → p'Rotate(V'_3, If[16 < h ≤ 17, ((-(h - 16)) * π / 2), ((-π)) / 2], U) → K_1Rotate(J_1, If[16 < h ≤ 17, ((-(h - 16)) * π / 2), ((-π)) / 2], U) → L_1Segment(K_1, L_1) → p''Dilate(U, If[17 < h ≤ 18, 18 - h, 0], L_1) → U'_2Sphere(U, U'_2) → oAngle(L_1, U, I) → εRotate(K_1, If[18 < h ≤ 19, ((h - 18) * ε), ε], U) → M_1Rotate(L_1, If[18 < h ≤ 19, ((h - 18) * ε), ε], U, d) → N_1Segment(M_1, N_1) → p'''Dilate(U, If[19 < h ≤ 20, 20 - h, 0], I) → U'_3Vector(U, U'_3) → b_1Translate(B_1, b_1) → O_1Translate(G_1, b_1) → P_1Segment(O_1, P_1) → m_1Angle(O_1, I, J) → ζRotate(O_1, If[20 < h ≤ 21, ((h - 20) * ζ), ζ], I, Plane[J, I, O_1]) → Q_1Rotate(P_1, If[20 < h ≤ 21, ((h - 20) * ζ), ζ], I, Plane[U, I, O_1]) → R_1Segment(Q_1, R_1) → n_1Rotate(Q_1, If[21 < h ≤ 22, (((h - 21) * 108) * π / 180), (108 * π / 180)], J, Plane[J, I, T]) → S_1Rotate(R_1, If[21 < h ≤ 22, (((h - 21) * 108) * π / 180), (108 * π / 180)], J, Plane[J, I, T]) → T_1Segment(S_1, T_1) → p_1Rotate(S_1, If[22 < h ≤ 23, (((-(h - 22)) * 108) * π / 180), (-108 * π / 180)], T, Plane[J, T, L]) → U_1Rotate(T_1, If[22 < h ≤ 23, (((-(h - 22)) * 108) * π / 180), (-108 * π / 180)], T, Plane[J, T, L]) → V_1Segment(U_1, V_1) → q_1Rotate(T_1, If[23 < h ≤ 24, (((h - 23) * 108) * π / 180), (108 * π / 180)], L, Plane[L, T, N]) → Z_1Rotate(U_1, If[23 < h ≤ 24, (((h - 23) * 108) * π / 180), (108 * π / 180)], L, Plane[L, T, N]) → A_2Rotate(V_1, If[23 < h ≤ 24, (((h - 23) * 108) * π / 180), (108 * π / 180)], L, Plane[L, T, N]) → B_2Segment(A_2, B_2) → s_1Rotate(A_2, If[24 < h ≤ 25, (((h - 24) * 108) * π / 180), (108 * π / 180)], N, Plane[L, O, N]) → W_1Rotate(B_2, If[24 < h ≤ 25, (((h - 24) * 108) * π / 180), (108 * π / 180)], N, Plane[L, O, N]) → C_2Segment(W_1, C_2) → r_1Rotate(W_1, If[25 < h ≤ 26, (((h - 25) * 108) * π / 180), (108 * π / 180)], O, Plane[B, O, N]) → D_2Rotate(C_2, If[25 < h ≤ 26, (((h - 25) * 108) * π / 180), (108 * π / 180)], O, Plane[E, O, N]) → E_2Segment(D_2, E_2) → t_1Polygon(R, Q, N, L, T) → poly1, r_2, q_2, n_2, l_2, t_2Polygon(R, T, J, I, H) → poly2, r_3, t_3, j_2, i_2, h_2Polygon(F, Q, R, H, G) → poly3, f_2, q_3, r_4, h_3, g_2Polygon(F, E, O, N, Q) → poly4, f_3, e_1, o_1, n_3, q_4Polygon(S, M, K, J, I) → poly5, s_2, m_2, k_2, j_3, i_3Polygon(T, L, A, K, J) → poly6, t_4, l_3, a_2, k_3, j_4Polygon(N, O, B, A, L) → poly7, n_4, o_2, b_2, a_3, l_4Polygon(A, B, C, M, K) → poly8, a_4, b_3, c_2, m_3, k_4Polygon(B, C, D, E, O) → poly9, b_4, c_3, d_1, e_2, o_3Polygon(D, P, G, F, E) → poly10, d_2, p_2, g_3, f_4, e_3Polygon(D, C, M, S, P) → poly11, d_3, c_4, m_4, s_3, p_3Polygon(G, H, I, S, P) → poly12, g_4, h_4, i_4, s_4, p_4Rotate(D_2, If[26 < h ≤ 27, (((-(h - 26)) * 108) * π / 180), (-108 * π / 180)], E, Plane[O, E, D]) → F_2Rotate(E_2, If[26 < h ≤ 27, (((-(h - 26)) * 108) * π / 180), (-108 * π / 180)], E, Plane[O, E, D]) → G_2Segment(F_2, G_2) → d_4Rotate(F_2, If[27 < h ≤ 28, (((-(h - 27)) * 108) * π / 180), (-108 * π / 180)], D, Plane[P, E, D]) → H_2Rotate(G_2, If[27 < h ≤ 28, (((-(h - 27)) * 108) * π / 180), (-108 * π / 180)], D, Plane[P, E, D]) → I_2Segment(H_2, I_2) → e_4Rotate(H_2, If[28 < h ≤ 29, (((h - 28) * 108) * π / 180), (108 * π / 180)], P, Plane[S, P, D]) → J_2Rotate(I_2, If[28 < h ≤ 29, (((h - 28) * 108) * π / 180), (108 * π / 180)], P, Plane[S, P, D]) → K_2Segment(J_2, K_2) → f_5Rotate(J_2, If[29 < h ≤ 30, (((h - 29) * 108) * π / 180), (108 * π / 180)], S, Plane[S, P, I]) → L_2Rotate(K_2, If[29 < h ≤ 30, (((h - 29) * 108) * π / 180), (108 * π / 180)], S, Plane[S, P, I]) → M_2Segment(L_2, M_2) → g_5Rotate(L_2, If[30 < h ≤ 31, (((-(h - 30)) * 108) * π / 180), (-108 * π / 180)], S, Plane[S, M, I]) → N_2Rotate(M_2, If[30 < h ≤ 31, (((-(h - 30)) * 108) * π / 180), (-108 * π / 180)], S, Plane[S, M, I]) → O_2Segment(N_2, O_2) → h_5Rotate(S_1, If[30 < h ≤ 31, (((-(h - 30)) * 108) * π / 180), (-108 * π / 180)], J, Plane[T, J, K]) → P_2Rotate(T_1, If[30 < h ≤ 31, (((-(h - 30)) * 108) * π / 180), (-108 * π / 180)], J, Plane[T, J, K]) → Q_2Segment(P_2, Q_2) → i_5Rotate(A_2, If[30 < h ≤ 31, (((-(h - 30)) * 108) * π / 180), (-108 * π / 180)], L, Plane[N, L, A]) → R_2Rotate(B_2, If[30 < h ≤ 31, (((-(h - 30)) * 108) * π / 180), (-108 * π / 180)], L, Plane[N, L, A]) → S_2Segment(R_2, S_2) → j_5Rotate(D_2, If[30 < h ≤ 31, (((-(h - 30)) * 108) * π / 180), (-108 * π / 180)], O, Plane[E, O, B]) → T_2Rotate(E_2, If[30 < h ≤ 31, (((-(h - 30)) * 108) * π / 180), (-108 * π / 180)], O, Plane[E, O, B]) → U_2Segment(T_2, U_2) → k_5Rotate(H_2, If[30 < h ≤ 31, (((-(h - 30)) * 108) * π / 180), (-108 * π / 180)], D, Plane[P, D, C]) → V_2Rotate(I_2, If[30 < h ≤ 31, (((-(h - 30)) * 108) * π / 180), (-108 * π / 180)], D, Plane[P, D, C]) → W_2Segment(V_2, W_2) → l_5Rotate(S_1, If[31 < h ≤ 32, (((-(h - 31)) * 108) * π / 180), (-108 * π / 180)], T, Plane[J, T, R]) → Z_2Rotate(T_1, If[31 < h ≤ 32, (((-(h - 31)) * 108) * π / 180), (-108 * π / 180)], T, Plane[J, T, R]) → A_3Segment(Z_2, A_3) → m_5Rotate(L_2, If[31 < h ≤ 32, (((-(h - 31)) * 108) * π / 180), (-108 * π / 180)], I, Plane[S, I, H]) → B_3Rotate(M_2, If[31 < h ≤ 32, (((-(h - 31)) * 108) * π / 180), (-108 * π / 180)], I, Plane[S, I, H]) → C_3Segment(B_3, C_3) → n_5Rotate(H_2, If[31 < h ≤ 32, (((-(h - 31)) * 108) * π / 180), (-108 * π / 180)], P, Plane[D, P, G]) → D_3Rotate(I_2, If[31 < h ≤ 32, (((-(h - 31)) * 108) * π / 180), (-108 * π / 180)], P, Plane[D, P, G]) → E_3Segment(D_3, E_3) → p_5Rotate(D_2, If[31 < h ≤ 32, (((-(h - 31)) * 108) * π / 180), (-108 * π / 180)], E, Plane[O, E, F]) → F_3Rotate(E_2, If[31 < h ≤ 32, (((-(h - 31)) * 108) * π / 180), (-108 * π / 180)], E, Plane[O, E, F]) → G_3Segment(F_3, G_3) → q_5Rotate(A_2, If[31 < h ≤ 32, (((-(h - 31)) * 108) * π / 180), (-108 * π / 180)], N, Plane[L, N, Q]) → H_3Rotate(B_2, If[31 < h ≤ 32, (((-(h - 31)) * 108) * π / 180), (-108 * π / 180)], N, Plane[L, N, Q]) → I_3Segment(H_3, I_3) → r_5Rotate(R_2, If[32 < h ≤ 33, (((-(h - 32)) * 108) * π / 180), (-108 * π / 180)], A, Plane[L, A, B]) → J_3Rotate(S_2, If[32 < h ≤ 33, (((h - 32) * 108) * π / 180), (108 * π / 180)], A, Plane[L, A, B]) → K_3Segment(J_3, K_3) → s_5Rotate(P_2, If[32 < h ≤ 33, (((-(h - 32)) * 108) * π / 180), (-108 * π / 180)], K, Plane[K, A, J]) → L_3Rotate(Q_2, If[32 < h ≤ 33, (((-(h - 32)) * 108) * π / 180), (-108 * π / 180)], K, Plane[K, A, J]) → M_3Segment(L_3, M_3) → t_5Rotate(N_2, If[32 < h ≤ 33, (((-(h - 32)) * 108) * π / 180), (-108 * π / 180)], M, Plane[K, S, M]) → N_3Rotate(O_2, If[32 < h ≤ 33, (((-(h - 32)) * 108) * π / 180), (-108 * π / 180)], M, Plane[K, S, M]) → O_3Segment(N_3, O_3) → a_5Rotate(V_2, If[32 < h ≤ 33, (((h - 32) * 108) * π / 180), (108 * π / 180)], C, Plane[C, D, M]) → P_3Rotate(W_2, If[32 < h ≤ 33, (((-(h - 32)) * 108) * π / 180), (-108 * π / 180)], C, Plane[C, D, M]) → Q_3Segment(P_3, Q_3) → b_5Rotate(T_2, If[32 < h ≤ 33, (((-(h - 32)) * 108) * π / 180), (-108 * π / 180)], B, Plane[O, B, C]) → R_3Rotate(U_2, If[32 < h ≤ 33, (((-(h - 32)) * 108) * π / 180), (-108 * π / 180)], B, Plane[O, B, C]) → S_3Segment(R_3, S_3) → c_5Rotate(D_3, If[33 < h ≤ 34, (((-(h - 33)) * 108) * π / 180), (-108 * π / 180)], G, Plane[P, G, F]) → T_3Rotate(E_3, If[33 < h ≤ 34, (((-(h - 33)) * 108) * π / 180), (-108 * π / 180)], G, Plane[P, G, F]) → U_3Segment(T_3, U_3) → d_5Rotate(F_3, If[33 < h ≤ 34, (((-(h - 33)) * 108) * π / 180), (-108 * π / 180)], F, Plane[E, Q, F]) → V_3Rotate(G_3, If[33 < h ≤ 34, (((h - 33) * 108) * π / 180), (108 * π / 180)], F, Plane[E, Q, F]) → W_3Segment(V_3, W_3) → e_5Rotate(H_3, If[33 < h ≤ 34, (((-(h - 33)) * 108) * π / 180), (-108 * π / 180)], Q, Plane[N, Q, R]) → Z_3Rotate(I_3, If[33 < h ≤ 34, (((-(h - 33)) * 108) * π / 180), (-108 * π / 180)], Q, Plane[N, Q, R]) → A_4Segment(Z_3, A_4) → f_6Rotate(Z_2, If[33 < h ≤ 34, (((-(h - 33)) * 108) * π / 180), (-108 * π / 180)], R, Plane[H, T, R]) → B_4Rotate(A_3, If[33 < h ≤ 34, (((-(h - 33)) * 108) * π / 180), (-108 * π / 180)], R, Plane[H, T, R]) → C_4Segment(B_4, C_4) → g_6Rotate(B_3, If[33 < h ≤ 34, (((h - 33) * 108) * π / 180), (108 * π / 180)], H, Plane[H, I, G]) → D_4Rotate(C_3, If[33 < h ≤ 34, (((h - 33) * 108) * π / 180), (108 * π / 180)], H, Plane[H, I, G]) → E_4Segment(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.