Rotating Octagram Ring Animation

Rotating Octagram Ring Animation
Loading the math board and drawing, please wait…
2020-07-17 00:23
In collections Action Modular Origami
This example demonstrates the rotation animation of an octagram ring model folded from paper, as described in the book 'Action Modular Origami'. It involves core mathematical concepts like polygon construction, geometric transformations (rotation, translation), and vector operations. The construction utilizes GeoGebra commands and objects such as Intersect, PolyLine, If, Plane, Line, Midpoint, Rotate, Vector, Dilate, Circle, OrthogonalLine, Polygon, AngularBisector, Point, Translate, LineBisector, Mirror, and Distance. It is suitable for high school students and above to learn geometric constructions, transformations, and parametric modeling, as well as for mathematical teaching demonstrations.

GeoGebra Commands & Parameters

  1. Intersect(yAxis, zAxis) → K
  2. PolyLine(C_2, E_3, O_3, F_3, H_3, I_3, J_3, K_3, L_3, M_3, N_3) → j_3
  3. Intersect(g_3, j_3) → offsetCurve
  4. If(clock0 < 2.75, clock0, 2.75 - (clock0 - 2.75)) → clockuse
  5. If(clock < 1 ∨ clock > 3, 0°, (-((((clock - 1) * 90))°))) → β
  6. If(clock < 1 ∨ clock > 3, 0°, ((((clock - 1) * 90)) / 2)°) → γ
  7. Plane(E, F, C) → a
  8. Line(E, C) → p
  9. Midpoint(C, D) → H
  10. Intersect(xAxis, yAxis) → A
  11. Rotate(C, If[α ≥ 0°, (-α), (-2 * α)], A, a) → C'
  12. Vector((0, 0, (-z(C')))) → vShift
  13. Dilate(C, 0.5^(0.5), A) → C'_1
  14. Midpoint(C'_1, A) → O
  15. Circle(O, C'_1, a) → r
  16. OrthogonalLine(O, p, a) → q
  17. Intersect(q, r) → P, Q
  18. Polygon(C'_1, Q, A) → poly5, a_2, c'_1, q_1
  19. AngularBisector(p, c'_1) → s, t
  20. Intersect(a_2, t) → R
  21. OrthogonalLine(A, xOyPlane) → l
  22. OrthogonalLine(R, l, a) → f_1
  23. Intersect(f_1, l) → S
  24. Polygon(R, S, 4, a) → poly6, g_1, h_1, i_1, j_1, T, U
  25. Rotate(K, (-β), T, a) → K'
  26. Polygon(R, S, T) → poly7, t_1, r_1, s_1
  27. AngularBisector(s_1, r_1) → l_1, m_1
  28. Intersect(f_1, m_1) → W
  29. Rotate(W, (-β), T, a) → W'
  30. Line(W', K') → b_1
  31. Rotate(R, If[clock < 2, (-γ), 45° - (2 * γ)], T, a) → R'
  32. OrthogonalLine(R', b_1, a) → p_1
  33. Intersect(b_1, p_1) → A_1
  34. Line(R', T) → f_2
  35. Point(zAxis) → C_1
  36. Midpoint(E, B) → J
  37. Plane(H, C_1, J) → o
  38. Rotate(S, If[clock < 2, (-β), 45° + ((-β)) / 2], T, o) → S'_1
  39. Polygon(S', T, R') → poly8, r', s', t_2
  40. Plane(R', T, S') → u
  41. Line(T, S'_1) → g_2
  42. AngularBisector(f_2, g_2) → h_2, i_2
  43. Intersect(i_2, t_2) → D_1
  44. Line(D_1, f_2) → j_2
  45. Intersect(g_2, j_2) → E_1
  46. OrthogonalLine(E_1, g_2, u) → k_2
  47. Intersect(k_2, f_2) → F_1
  48. OrthogonalLine(F_1, a) → k_3
  49. Point(k_3) → P_3
  50. Dilate(F_1, offsetCurveValue, P_3) → Q_3
  51. Polygon(R', Q_3, S') → poly16, q_3, r_3, s_3
  52. Polygon(T, Q_3, S') → poly15, a_3, b_3, c_3
  53. PolyLine(Q_2, R_2, C_3, D_3, S_2, T_2, U_2, V_2, W_2, Z_2, A_3, B_3) → i_3
  54. PolyLine(D_2, E_2, N_2, O_2, P_2, F_2, G_2, H_2, I_2, J_2, K_2, L_2, M_2) → h_3
  55. PolyLine(O_1, P_1, A_2, B_2, Q_1, R_1, S_1, T_1, U_1, V_1, W_1, Z_1) → f_3
  56. Intersect(g_3, i_3) → offsetZ
  57. Intersect(g_3, h_3) → offsetY
  58. Intersect(g_3, f_3) → offsetX
  59. Vector((offsetXX, offsetYY, offsetZZ)) → vOffset
  60. Polygon(R', F_1, 4, a) → poly10, n_2, p_2, q_2, r_2, I_1, J_1
  61. Translate(Polygon[R', Q_3, E_1], vOffset) → poly12
  62. OrthogonalLine(R', s', a) → m_2
  63. LineBisector(J_1, T, a) → c_1
  64. Mirror(R', c_1) → R''
  65. OrthogonalLine(R'', m_2, a) → d_1
  66. Intersect(m_2, d_1) → N_1
  67. Translate(Polygon[J_1, Q_3, R'], vOffset) → poly11
  68. Polygon(J_1, F_1, N_1) → poly14, s_2, b_2, e_2
  69. Circle(R', J_1, a) → d_2
  70. Intersect(m_2, d_2) → K_1, L_1
  71. Translate(Polygon[R', N_1, E_1], vOffset) → poly9
  72. OrthogonalLine(R', j_2, u) → l_2
  73. Intersect(j_2, l_2) → H_1
  74. Intersect(k_2, l_2) → G_1
  75. Intersect(s_1, p) → Z
  76. Rotate(Z, (-β), T, a) → Z'
  77. Line(Z', K') → n_1
  78. Intersect(p_1, n_1) → B_1
  79. Midpoint(C, B) → G
  80. Plane(A, G, F) → g
  81. Rotate(G, If[α < 0°, α, (2 * α)], A, g) → G'
  82. Polygon(A, G', C') → poly2, c', a_1, g'
  83. Point(g') → L
  84. Polygon(L, C', G') → poly3, i, j, k
  85. Midpoint(D, E) → I
  86. Circle(A, C, a) → f
  87. Circle(A, G, g) → h
  88. Translate(Sequence[Rotate[{poly3, Mirror[poly3, a]}, (n * 90°), zAxis], n, 0, 3, 1], vShift) → pos0r
  89. Translate(pos0r, vOffset) → list1'
  90. Rotate(list1', 45°, l) → list1''
  91. Rotate(poly3, 45°, l) → poly3'
  92. Plane(G', xOyPlane) → m
  93. Intersect(l, m) → M
  94. Midpoint(A, M) → N
  95. Plane(N, xOyPlane) → n
  96. Mirror(pos0r, n) → list1'_1
  97. Dilate(C', sqrt(2) - 1, L) → L'_1
  98. Dilate(G', sqrt(0.5), A) → L'
  99. Dilate(G', sqrt(2), A) → G''
  100. Polygon(L', L'_1, G'') → poly4, g'', l', l'_1
  101. Translate(poly4, vOffset) → poly4'
  102. Translate(Sequence[Rotate[{poly4', Mirror[poly4', a]}, (n * 90°), zAxis], n, 0, 3, 1], vShift) → pos0b
  103. Rotate(Q, γ, K, a) → Q'
  104. Rotate(C'_1, γ, K, a) → V
  105. Distance(R', S') → distanceR'S'
  106. Distance(G'', L'_1) → distanceG''L'1
  107. Circle(T, R, a) → e_1
  108. Circle(T, S'_1, o) → c_2
  109. If(clock < 1 ∨ clock > 3, 0°, (-((((clock - 1) * 90))°))) → β_3
  110. If(clock < 1 ∨ clock > 4, 0°, ((((clock - 3) * 90)) / 2)°) → γ_3
  111. Point(zAxis) → M_1
  112. Translate(Sequence[Rotate[{poly9, poly12, poly11, Mirror[{poly9, poly11, poly12}, a]}, (n * 90°), zAxis], n, 0, 3, 1], Vector[(0 * vShift)]) → pos2r
  113. Translate(Sequence[Rotate[{poly15, poly16, Mirror[{poly15, poly16}, a]}, (n * 90°), zAxis], n, 0, 3, 1], Vector[(0 * vShift)]) → pos2b
  114. Plane(M_1, xOyPlane) → v
  115. Rotate(Mirror[pos2b, v], 45°, l) → pos3b
  116. Rotate(Mirror[pos2r, v], 45°, l) → pos3r
  117. Vector((0, 0, If[clock0 ≥ 2.75, fall - (((clock0 - 3.5) * z(T) / 2) * 3.5) + If[clock0 ≥ 2.75, ((clock0 - 2.75) * z(T) / 1.75), 0], (-fall) - z(T)] / 2)) → vFall
  118. Translate(pos2r, vFall) → pos2r'
  119. Translate(pos2b, vFall) → pos2b'
  120. Translate(pos3b, vFall) → pos3b'
  121. Translate(pos3r, vFall) → pos3r'
  122. Dilate(S', 2, T) → S''
  123. Rotate(S'', (-(90°)), l) → S'''
  124. Polygon(S'', T, S''') → poly13, s''', s'', t_3
  125. Line(J_1, F_1) → k_1
  126. Intersect(k_2, f_2) → F_0
  127. Point(zAxis) → G_3

AI Drawing Prompt Reference

Create an octagram ring animation by first constructing an octagon, then rotating and scaling it to form a ring structure. Next, use rotations, translations, and reflections to build multiple polygons, ultimately creating a complex rotating animation effect.
The prompt above was compiled from the original drawing commands and is for reference only.