Radioactive Ball: Animated Origami Model

Radioactive Ball: Animated Origami Model
Loading the math board and drawing, please wait…
2020-07-17 00:36
In collections Action Modular Origami
This example demonstrates a dynamic 3D animation of a 'Radioactive Ball' folded from paper, based on the book 'Action Modular Origami'. The core mathematical concepts involve spheres, icosahedra, tetrahedra, intersections of planes and circles, similarity transformations, rotations, translations, scaling, and differential equations for the dynamic behavior. Construction highlights: using GeoGebra commands such as Point, Intersect, Tetrahedron, Plane, Circle, Center, Midpoint, Sphere, IntersectPath, Line, Rotate, Polygon, Icosahedron, OrthogonalLine, Sequence, TrianglePointsFrequency2, Flatten, CircumcircleArc, Translate, Dilate, and Mirror, the model builds multiple faces, edges, vertices, auxiliary circles, and segments, with animation driven by sliders or sequences. Suitable for high school and above, this example is ideal for teaching solid geometry, transformation geometry, and origami mathematics, as well as for mathematical modeling and dynamic visualization.

GeoGebra Commands & Parameters

  1. Point(xAxis) → B
  2. Intersect(yAxis, xAxis) → A
  3. Point(Circle[Midpoint[A, B], (Distance[A, B] * sqrt(3) / 2), Segment[A, B]]) → C
  4. Tetrahedron(A, B, C) → a, D, edgeCD, edgeBD, faceABC, faceACD, faceABD, faceBCD, edgeAC, edgeAB, edgeBC, edgeAD
  5. Plane(C, D, A) → j
  6. Circle(A, B, C) → c
  7. Center(c) → E
  8. Midpoint(D, E) → F
  9. Midpoint(F, E) → OO
  10. Sphere(OO, B) → b
  11. IntersectPath(j, b) → q
  12. Line(C, OO) → l
  13. Rotate(q, 240°, l) → q'_1
  14. Intersect(q, q'_1, 2) → L
  15. Point(l) → K
  16. Plane(K, L, A) → m
  17. IntersectPath(m, b) → r
  18. Point(r) → M
  19. Rotate(M, 240°, l) → M'_1
  20. Midpoint(M, M'_1) → J_1
  21. Rotate(M, 120°, l) → M'
  22. Polygon(M, M', M'_1) → poly1, m'_1, m_1, m'
  23. Icosahedron(M'_1, M', M) → c_1, A_1, face1, face2, face8, face7, face6, face9, face10, face3, face4, face5, B_1, face13, face14, face19, face16, face18, face20, face17, face15, face12, face11, C_1, edge1, edge5, edgeMM', edge7, edge3, edge8, edge18, edge6, edge12, edge9, D_1, edge11, edge13, edge10, edge15, edge2, edge4, edge16, edge19, edge17, edge24, E_1, edge25, edge26, edge29, edge20, edge27, edge23, edge28, edge22, edge21, edge14, F_1, G_1, H_1, I_1
  24. Midpoint(F_1, C_1) → N_1
  25. Line(M, N_1) → f_2
  26. Midpoint(F_1, M) → M_1
  27. Line(C_1, M_1) → g_2
  28. Intersect(f_2, g_2) → O_1
  29. Midpoint(C_1, M'_1) → K_1
  30. Line(M, K_1) → d_1
  31. Line(C_1, J_1) → e_1
  32. Intersect(d_1, e_1) → L_1
  33. Line(M'_1, L_1) → j_3
  34. Intersect(edge3, j_3) → C_2
  35. Polygon(O_1, C_2, M) → poly6, m_3, o_2, c_3
  36. Polygon(M, C_2, M'_1) → poly2, s_1, t_1, b_1
  37. Plane(MM, xOyPlane) → o_1
  38. Line(E, D) → f
  39. Intersect(f, o_1) → B_2
  40. Intersect(l, poly1) → G
  41. Rotate(MM, (-(60°)), G, poly1) → MM'_2
  42. Plane(OO, D, M) → u
  43. OrthogonalLine(M, f, u) → k_1
  44. Intersect(f, k_1) → V
  45. Rotate(MM, 240°, l) → MM'_1
  46. Rotate(MM, 120°, l) → MM'
  47. Polygon(MM, MM', MM'_1) → poly11, mm'_1, mm, mm'
  48. Rotate(MM, 60°, G, poly1) → MM'_5
  49. Polygon(MM, MM'_5, 6, poly11) → poly33, d_2, A_2, e_2, f_3, g_3, h_3, i_3, V_1, W_1, Z_1
  50. Rotate(M, 60°, G, poly1) → M'_5
  51. Polygon(B_2, MM'_2, MM) → poly4, l_1, p_1, q_1
  52. Polygon(M, M'_5, 6, poly1) → poly3, t, S, f_1, g_1, h_1, i_1, j_1, P, Q, R
  53. Midpoint(B_1, E_1) → T_1
  54. Line(T_1, M') → a_2
  55. Line(F_1, A_1) → p_2
  56. Line(C_1, E_1) → n_2
  57. OrthogonalLine(O_1, face5) → j_2
  58. Midpoint(M', E_1) → Q_1
  59. Line(Q_1, B_1) → b_2
  60. Intersect(b_2, a_2) → U_1
  61. OrthogonalLine(U_1, face10) → c_2
  62. Polygon(M, L_1, C_1) → poly5, k_2, l_2, m_2
  63. Sequence(Rotate[{poly1, poly2, poly6}, (n * 120°), l], n, 0, 2, 1) → listIcosFace1
  64. Rotate(listIcosFace1, 1200°, c_2) → listIcosFace4
  65. Rotate(listIcosFace1, 240°, j_2) → listIcosFace3
  66. Rotate(listIcosFace3, (-(144°)), n_2) → listIcosFace1''
  67. Rotate(listIcosFace1'', (-(((3 * 72))°)), p_2) → listIcosFace2
  68. Line(Q_1, A_1) → r_2
  69. Midpoint(E_1, A_1) → P_1
  70. Line(P_1, M') → s_2
  71. Intersect(r_2, s_2) → S_1
  72. OrthogonalLine(S_1, face9) → t_2
  73. Rotate(listIcosFace1, 120°, t_2) → listIcosFace1'_3
  74. Rotate(M, 120°, f) → M'_4
  75. Point(f) → O
  76. Plane(B, OO, D) → e
  77. Plane(A, OO, B) → d
  78. IntersectPath(e, d) → i
  79. Rotate(B, 60°, A) → B'
  80. Plane(A, B, B') → o
  81. TrianglePointsFrequency2(A, B, n, o) → listPointsFlat
  82. Sequence(Sequence[ProjectPointOnSphere[Element[Element[listPointsFlat, i], j], O, b], j, 1, Length[Element[listPointsFlat, i]]], i, 1, n + 1) → listPoints
  83. Sequence(Sequence[Polygon[Element[Element[listPoints, j], i], Element[Element[listPoints, j], i + 1], Element[Element[listPoints, j + 1], i]], i, 1, n - j + 1], j, 1, n) → listPolyUpProj
  84. Sequence(Sequence[Polygon[Element[Element[listPoints, j], i], Element[Element[listPoints, j], i + 1], Element[Element[listPoints, j - 1], i + 1]], i, 1, n - j + 1], j, 2, n) → listPolyDownProj
  85. Flatten({listPolyUpProj, listPolyDownProj}) → listPolyProj
  86. Rotate(listFace, 240°, f) → listFace''
  87. Rotate(listFace'', 120°, l) → listFace'''
  88. Rotate(listFace, 120°, i) → listFace'
  89. Rotate(listFace', 240°, f) → listFace''_1
  90. CircumcircleArc(L, M, A) → arc1
  91. Rotate(arc1, 240°, l) → arc3
  92. Rotate(arc1, 120°, l) → arc2
  93. Intersect(zAxis, c) → H,
  94. Plane(D, OO, A) → g
  95. Intersect(edgeBD, c) → I,
  96. IntersectPath(g, b) → h
  97. IntersectPath(e, b) → k
  98. IntersectPath(d, b) → p
  99. Intersect(h, p, 1) → J
  100. Rotate(q, 120°, l) → q'
  101. Midpoint(A, L) → N
  102. Translate({listFace''_1, listFace', listFace'', listFace'''}, Vector[A, A]) → listPoly1
  103. Line(N, OO) → n_1
  104. Dilate(Rotate[listPoly1, (-(90°)), n_1], dil, OO) → listPoly1'
  105. Plane(OO, xOyPlane) → s
  106. Rotate(M, (-(60°)), G, poly1) → M'_3
  107. Intersect(f, arc1) → T,
  108. Sequence(Rotate[{poly33, poly4}, (n * 120°), l], n, 0, 2, 1) → listTruncOctaFace1
  109. Intersect(arc1, arc3, 2) → U
  110. Sequence(Rotate[listTruncOctaFace1, (n * 120°), i], n, 0, 2, 1) → listTruncOctaFace11
  111. Rotate(listTruncOctaFace1, 240°, f) → listTruncOctaFace3
  112. Translate({listTruncOctaFace11, listTruncOctaFace3}, Vector[A, A]) → listTruncOcta1
  113. Dilate(Rotate[listTruncOcta1, (-(90°)), n_1], dil, OO) → listTruncOcta1'
  114. Plane(C_1, E_1, B_1) → v
  115. Mirror(listIcosFace1, v) → listIcosFace1'
  116. Line(OO, N) → r_1
  117. Intersect(i, f) → W
  118. Point(listIcosFace1) → Z
  119. Translate({listIcosFace4, listIcosFace1, listIcosFace2, listIcosFace3}, Vector[A, A]) → listIcos1
  120. Plane(B_1, D_1, A_1) → w
  121. Mirror(listIcosFace1, w) → listIcosFace1'_1
  122. Plane(S, OO, R) → a_1
  123. OrthogonalLine(O_1, k_1, space) → h_2
  124. Line(O_1, OO) → i_2
  125. Line(I_1, M') → q_2
  126. Rotate(listIcosFace2, (-(144°)), n_2) → list1
  127. Intersect(edge11, s_2) → R_1
  128. Mirror(listIcosFace1, w) → listIcosFace1'_5
  129. Rotate(MM, 60°, G, poly1) → M'_2
  130. Rotate(MM, 120°, G, poly1) → MM'_3
  131. Line(K_1, OO) → k_3
  132. Line(G, OO) → l_3
  133. Midpoint(A_1, M'_1) → D_2
  134. Midpoint(A_1, D_1) → E_2
  135. Line(D_2, D_1) → n_3
  136. Line(E_2, M'_1) → p_3
  137. Intersect(n_3, p_3) → F_2
  138. OrthogonalLine(F_2, face7) → q_3
  139. Plane(C_1, M'_1, E_1) → u_1
  140. Mirror(listIcosFace1, u_1) → listIcosFace11
  141. Rotate(listIcosFace11, 240°, j_2) → listIcosFace31
  142. Rotate(listIcosFace11, 120°, c_2) → listIcosFace41
  143. Dilate({Sequence[Rotate[listIcosFace11, (n * 120°), l_3], n, 0, 2, 1], listIcosFace41}, dil, OO) → listIcos2

AI Drawing Prompt Reference

Create a dynamic 3D origami model of a radioactive ball. Start with a regular tetrahedron, then construct its circumcircle and center. Use the center as the sphere center and a vertex as radius to draw a sphere. Intersect the sphere with a face plane to get a circle, pick a point on it, and rotate it by 120 and 240 degrees around an axis to form a triangle. Build an icosahedron on this triangle, then find internal intersection points by connecting midpoints and lines. Use these points to form additional polygons, and add auxiliary planes and rotation axes. Animate the model with sliders to show the folding motion.
The prompt above was compiled from the original drawing commands and is for reference only.