放射性球:折纸模型的动态动画

放射性球:折纸模型的动态动画
几何画板及绘图内容加载中,请稍等……
2020-07-17 00:36
所属专题 Action Modular Origami
该范例演示了一个由纸张折叠而成的“放射性球”模型的三维动态动画,模型源自《Action Modular Origami》一书。核心数学概念包括球体、正二十面体、四面体、平面与圆的相交、相似变换、旋转、平移、缩放以及微分方程(用于描述动态过程)。作图要点:使用GeoGebra命令如Point、Intersect、Tetrahedron、Plane、Circle、Center、Midpoint、Sphere、IntersectPath、Line、Rotate、Polygon、Icosahedron、OrthogonalLine、Sequence、TrianglePointsFrequency2、Flatten、CircumcircleArc、Translate、Dilate、Mirror等,构建了多个面、边、顶点以及辅助圆和线段,并通过滑块或序列实现动画。适合高中及以上学段,用于立体几何、变换几何和折纸数学的教学,也可作为数学建模与动态演示的参考。

GeoGebra 命令及参数

  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 绘图提示语参考

绘制一个动态的放射性球体折纸模型。先构建一个正四面体,以其底面为基准生成外接圆和球心,再以球心为球心、顶点为半径作球。在球与四面体一个面的交线上取点,通过旋转生成对称点,连接形成三角形面。以该三角形为底面构造二十面体,并找出其内部关键交点,连接成多个多边形面。最后添加辅助平面和旋转轴,通过旋转和镜像生成完整的三维折纸结构,并设置动画滑块控制旋转角度,展示折叠过程。
以上提示语为根据原始绘图命令整理而来,仅供参考。