Petrie–Coxeter 蜂巢折纸动画

Petrie–Coxeter 蜂巢折纸动画
几何画板及绘图内容加载中,请稍等……
2020-07-17 00:40
所属专题 Action Modular Origami
该范例演示了由纸张折叠而成的 Petrie–Coxeter 蜂巢结构的三维动画模型,展示了正多面体在三维空间中的周期性排列。核心数学概念涉及立体几何中的多面体、对称性、平移与旋转,以及空间镶嵌(tessellation)。作图要点包括:使用 GeoGebra 的 Point、Circle、Line、OrthogonalLine、Intersect 等命令构建基础几何元素,通过 Rotate、Polygon、Vector、Translate 实现旋转和平移操作,利用 Plane、Sphere、IntersectConic、OrthogonalPlane 构造三维空间中的平面与曲面,并借助 Angle、Slider 等控制动画参数。该范例适合高中及以上学段的学生或数学爱好者,用于理解多面体镶嵌、空间对称性以及参数化动画的构造方法。

GeoGebra 命令及参数

  1. Point(yAxis) → OOO
  2. Circle(OOO, Z) → c_2
  3. Line(OOO, Z) → i_2
  4. OrthogonalLine(OOO, i_2) → j_2
  5. Intersect(c_2, j_2, 2) → B_1
  6. Rotate(B_1, 120°, OOO) → C_1
  7. Rotate(B_1, (-(120°)), OOO) → D_1
  8. Polygon(C_1, D_1, B_1) → poly10, b_2, c_3, d_2
  9. PointIn(poly10) → E_1
  10. OrthogonalLine(E_1, d_2) → m_2
  11. Intersect(m_2, d_2) → I_1
  12. Segment(E_1, I_1) → p_2
  13. Intersect(b_2, j_2) → J_1
  14. Segment(B_1, J_1) → r_2
  15. OrthogonalLine(E_1, b_2) → k_2
  16. Intersect(k_2, poly10) → F_1, G_1
  17. Segment(E_1, F_1) → n_2
  18. OrthogonalLine(E_1, c_3) → l_2
  19. Intersect(l_2, c_3) → H_1
  20. Segment(E_1, H_1) → q_2
  21. If(control ≟ constSlider, β_1, If[control ≟ constTriad, β_2, β_3]) → β
  22. If(control ≟ constSlider, α_1, If[control ≟ constTriad, α_2, α_3]) → α
  23. Rotate(B, α, A) → B'
  24. Vector(A, B') → v
  25. Vector(A, B) → u
  26. Translate(B', u) → B''
  27. Vector(A, B'') → w_1
  28. Translate(A, w_1) → A'
  29. Polygon(A, B, B'', B') → poly1, a_1, b_1, b'', b'
  30. OrthogonalLine(B', poly1) → g
  31. Point(g) → D
  32. Plane(A, B', D) → d
  33. Polygon(B', A, 4, d) → poly2, h, i, j, k, G, H
  34. Translate(G, u) → G'
  35. Translate(G', v) → G''_2
  36. Plane(G, G', A) → e
  37. Polygon(A, G, 4, e) → poly3, l, m, n, p, I, J
  38. Line(J, A') → q
  39. Rotate(G', β, q) → G''
  40. Vector(J, G'') → w
  41. Translate(A', w) → A''
  42. Translate(A'', u) → A'''
  43. Line(A''', A'') → m_1
  44. Translate(G', w) → G''_1
  45. Translate(G'', u) → G'''
  46. Plane(G'', G''', G''_1) → o
  47. Polygon(G'', G''', 4, o) → poly5, s, t, f_1, g_1, K, L
  48. Translate(L, v) → L'
  49. Vector(L', G''_1) → v_2
  50. If(control ≟ constSlider, γ_1, If[control ≟ constTriad, γ_2, γ_3]) → γ
  51. Rotate(L', γ, m_1) → L''_1
  52. Vector(G'', L''_1) → v_1
  53. Translate(K, d_1) → K'
  54. Translate(G''_1, d_1) → Q
  55. Plane(L', Q, K') → n_1
  56. Polygon(L', Q, 4, n_1) → poly8, p_1, q_1, r_1, s_1, S, T
  57. Vector(T, L') → u_2
  58. Rotate(L', (-β), r_1) → L''_2
  59. Translate(L''_2, u_2) → K_1
  60. Plane(G''_2, L', K_1) → o_2
  61. Polygon(G''_2, L', 4, o_2) → poly13, h_3, i_3, j_3, k_3, N_1, O_1
  62. Translate(poly13, v_2) → poly6
  63. Translate(N_1, v_2) → R_1
  64. Line(G''_1, R_1) → t_1
  65. Translate(poly2, u) → poly2'
  66. Rotate(poly2', β, q) → poly2''
  67. Vector(A, G) → r
  68. Plane(R_1, N_1, O_1) → w_2
  69. Polygon(R_1, N_1, 4, w_2) → poly15, m_3, n_3, p_3, q_3, P_1, Q_1
  70. Vector(Q_1, G') → u_3
  71. Translate(poly13, v_2) → poly13'
  72. Line(G', G''_1) → h_1
  73. Circle(A, B, xOyPlane) → c
  74. Point(zAxis) → C
  75. Plane(A, B'', C) → a
  76. Intersect(yAxis, zAxis) → F
  77. Plane(A, B, C) → b
  78. OrthogonalLine(A, b) → f
  79. Intersect(g, c, 1) → E
  80. Translate(poly3, v) → poly3'
  81. Translate(poly2', w) → poly2''_1
  82. Translate(poly2'', r) → poly2'''
  83. Translate(poly2''_1, u) → poly4
  84. Translate(poly5, v) → poly5'
  85. Translate(poly6, v) → poly6'
  86. Polygon(R_1, N_1, 4, w_2) → poly7, i_1, j_1, k_1, l_1, N, O
  87. Translate(poly2'', u_3) → poly2'''_1
  88. Vector(Q_1, B) → u_1
  89. Translate(poly6, u_1) → poly6'_1
  90. Translate(poly6', u_1) → poly6''
  91. Translate({poly2, poly2', poly2''_1, poly4, poly6, poly6', poly6'', poly6'_1}, Vector[A, A]) → listPoly1
  92. Translate({poly2'', poly2''', poly2'''_1, poly3, poly3', poly5, poly5', poly7}, Vector[A, A]) → listPoly2
  93. Point(c) → P
  94. Rotate(poly5', γ, m_1) → poly5''
  95. Translate(poly8, Vector[(-r)]) → poly8'
  96. Intersect(c_2, i_2, 2) → A_1
  97. Rotate(poly8, (-β), r_1) → poly8'_1
  98. Translate(poly8'_1, u_2) → poly11
  99. Line(G', G''_1) → l_3
  100. Translate(poly2'', u_3) → poly2'''_2
  101. Translate({poly2, poly2', poly2''_1, poly4}, Vector[A, A]) → listPoly311_1
  102. Translate({poly2'', poly2''', poly3, poly3', poly5, poly5'}, Vector[A, A]) → listPoly311_2
  103. Translate({poly2, poly2', poly2''_1, poly4, poly13, poly6, poly6'', poly6'_1}, Vector[A, A]) → listPoly331_1
  104. Translate({poly2'', poly2''', poly2'''_1, poly3, poly3', poly5, poly5', poly7}, Vector[A, A]) → listPoly331_2
  105. Point(listPoly331_1) → M
  106. Rotate(poly6, δ, t_1) → poly6'_2
  107. Line(G''_1, K) → c_1
  108. Rotate(poly5, ε, c_1) → poly5'_1
  109. Rotate(G''', ε, c_1) → R
  110. Rotate(Q_1, δ, t_1) → U
  111. Rotate(G', δ, t_1) → G''_3
  112. Rotate(G'', ε, c_1) → G'''_1
  113. Sphere(R_1, G') → e_1
  114. Sphere(K, G'') → o_1
  115. IntersectConic(e_1, o_1) → e_2
  116. OrthogonalLine(G''_1, t_1, space) → f_2
  117. OrthogonalPlane(G''_1, t_1) → a_2
  118. Intersect(a_2, e_2) → V, L_1
  119. Angle(G', G''_1, L_1) → ζ
  120. Rotate(poly6, ζ, t_1) → poly6'_3
  121. Plane(G''_1, G'', L_1) → g_2
  122. Angle(L_1, L, G'') → η
  123. Line(L, K) → h_2
  124. Rotate(poly5, (-η), h_2) → poly5'_2
  125. Vector(L', L_1) → s_2
  126. Translate(listPoly1, s_2) → listPoly1'
  127. Translate(listPoly2, s_2) → listPoly2'
  128. Translate(poly5'_2, Vector[(-r)]) → poly9
  129. Translate(poly6'_3, Vector[(-w)]) → poly12
  130. Translate(poly5'_2, Vector[(-w)]) → poly16
  131. Translate(poly16, u_2) → poly16'
  132. Translate(poly16', Vector[(-r)]) → poly16''
  133. Translate(Translate[poly6'_3, u_3], Vector[(-r)]) → poly17
  134. Translate(Translate[poly12, u_3], Vector[(-r)]) → poly18
  135. Translate(poly6'_3, Vector[(-u_2)]) → poly19
  136. Translate(poly17, Vector[(-u_2)]) → poly17'
  137. Translate(poly5'_2, Vector[(-u_3)]) → poly20
  138. Translate(poly16', Vector[(-u_3)]) → poly16''_1
  139. Translate(poly12, w) → poly12'
  140. Translate(poly9, u_3) → poly9'
  141. Translate(poly16'', u_3) → poly16'''
  142. Translate(poly12, u_2) → poly12'_1
  143. Translate(poly18, u_2) → poly18'

AI 绘图提示语参考

绘制一个三维动画折纸模型,展示Petrie–Coxeter蜂巢结构。首先在竖直轴上取一点作为中心,画一个圆和一条过中心的竖直线,再作其垂线,与圆交于一点,将该点绕中心旋转120度和负120度得到另外两点,连接三点构成一个等边三角形。在三角形内取一点,作该点到各边的垂线,并标记垂足。随后构建一个由四个顶点组成的平行四边形,并以其为基面,通过平移和旋转生成多个相邻的平行四边形,形成空间周期性排列。用滑块控制旋转角度和模式,使整个结构动态折叠展开,体现多面体在空间中的对称镶嵌。
以上提示语为根据原始绘图命令整理而来,仅供参考。