纸艺模型动态演示

纸艺模型动态演示
几何画板及绘图内容加载中,请稍等……
2020-07-17 00:29
①本范例演示从《Action Modular Origami》书中折纸模型「Fluxicube」的动态折叠过程;②涉及核心数学概念包括向量、几何变换、立体几何与参数动画;③构造中运用了If、Vector、Point、Translate、Line、Cube、Rotate、Plane、Angle、OrthogonalLine、Intersect、PointIn、Polygon、Circle、Center、Mirror、Midpoint、Segment、Dilate等GeoGebra命令与对象;④适合高中及以上学生及数学爱好者学习空间几何与动态几何变换。

GeoGebra 命令及参数

  1. If(clock0 ≥ 1 ∧ clock0 < 2 ∨ clock0 ≥ 3 ∧ clock0 < 5, 1 - fractionalPart(clock0), fractionalPart(clock0)) → clock
  2. If(clock ≤ 1, 1, If[clock > 1 ∧ clock ≤ 2, 1 - (clock - 1) / 2, If[clock > 2 ∧ clock ≤ 3, 0.5, 0.5]]) → clock3_1
  3. Vector((cos((180° * clock3_1)), 0, 0)) → vShift
  4. If(clock ≤ 1, clock, 1) → clock1_1
  5. Vector((0, 0, clock1_1)) → vLift
  6. If(clock ≤ 1, 0, If[clock > 1 ∧ clock ≤ 3, (clock - 1) / 2, 1]) → clock3
  7. If(clock ≤ 1, 90° + (30° * (1 - clock)^(0.29)), 120°) → γ
  8. Point(yAxis) → A
  9. Translate(A, vLift) → A'
  10. Point(Circle[B, Distance[A, B], Segment[A, B]]) → C
  11. Translate(C, vShift) → C'
  12. Line(C', ZZZ) → g_1
  13. Cube(A, B, C) → a, D, faceCDHG, faceEFGH, edgeAD, edgeAB, edgeBC, edgeCD, edgeAE, edgeDH, edgeEH, edgeEF, E, edgeBF, edgeFG, edgeCG, edgeGH, F, G, H, faceABCD, faceADHE, faceABFE, faceBCGF
  14. Line(A, D) → g
  15. Rotate(Translate[C, vLift], (-α), g) → C''
  16. Line(C, D) → f
  17. Plane(C, G, H) → b
  18. Translate(Rotate[Mirror[F, b], asin(clock1_1), f], vLift) → J
  19. Translate(Rotate[Mirror[B, b], asin(clock1_1), f], vLift) → K
  20. Line(K, J) → h
  21. Translate(Rotate[Mirror[A, b], asin(clock1_1), f], vLift) → M
  22. Angle(A, M, A') → δ
  23. Rotate(M, (-γ), h) → M'
  24. Line(K, M) → r
  25. Rotate(M', (-δ), r) → M''
  26. OrthogonalLine(M'', xOyPlane) → h_1
  27. Plane(M'', b) → o
  28. Intersect(g_1, o) → W
  29. OrthogonalLine(W, h_1, o) → i_1
  30. Intersect(h_1, i_1) → A_1
  31. Angle(M'', W, A_1, o) → η
  32. Rotate(Rotate[Rotate[Translate[F, vLift], (-α), g], (-δ), r], η, g_1) → Z_1
  33. Rotate(Rotate[Rotate[Translate[B, vLift], (-α), g], (-δ), r], η, g_1) → N_1
  34. Line(Z_1, N_1) → b_1
  35. Rotate(Rotate[C'', (-δ), r], η, g_1) → K_1
  36. Plane(K_1, xOyPlane) → a_1
  37. PointIn(a_1) → I_2
  38. Intersect(b_1, a_1) → C_2
  39. Polygon(K_1, C_2, 3, a_1) → poly5, l_2, m_2, n_2, E_2
  40. Polygon(K_1, E_2, 3, a_1) → poly6, p_2, q_2, r_2, F_2
  41. Circle(K_1, F_2, E_2) → c_2
  42. Center(c_2) → G_2
  43. Rotate(Translate[D, vLift], (-α), g) → D''
  44. Rotate(Rotate[D'', (-δ), r], η, g_1) → L_1
  45. OrthogonalLine(L_1, xOyPlane) → t_1
  46. Intersect(t_1, xOyPlane) → B_2
  47. Circle(F_1, H_1, G_1) → e_1
  48. Point(e_1) → A_2
  49. Rotate(Rotate[Rotate[Translate[A, vLift], (-α), g], (-δ), r], η, g_1) → M_1
  50. OrthogonalLine(K_1, xOyPlane) → n_1
  51. Intersect(n_1, xOyPlane) → P_1
  52. OrthogonalLine(N_1, xOyPlane) → m_1
  53. Intersect(m_1, xOyPlane) → O_1
  54. Vector(O_1, P_1) → u_1
  55. Translate(P_1, u_1) → R_1
  56. Polygon(R_1, O_1, 3, xOyPlane) → poly3, p_1, q_1, r_1, S_1
  57. Circle(R_1, O_1, S_1) → s_1
  58. Center(s_1) → T_1
  59. Translate(Rotate[Mirror[H, b], asin(clock1_1), f], vLift) → L
  60. Rotate(L, (-γ) - 90°, h) → L'_1
  61. Translate(Rotate[Mirror[E, b], asin(clock1_1), f], vLift) → E'''
  62. Rotate(E''', (-γ), h) → N
  63. Vector(N, P) → u
  64. Translate(L'_1, u) → Q
  65. Vector(N, L'_1) → v
  66. Translate(K, v) → K'
  67. OrthogonalLine(K', xOyPlane) → j_1
  68. Intersect(j_1, xOyPlane) → B_1
  69. Translate(F, vLift) → F'
  70. Translate(B, vLift) → B'
  71. Plane(F', B', Q) → i
  72. Mirror(C'', i) → C'''
  73. OrthogonalLine(C''', xOyPlane) → k_1
  74. Intersect(k_1, xOyPlane) → C_1
  75. Circle(B_1, C, C_1) → d_1
  76. Center(d_1) → OOO
  77. Rotate(OOO, η, g_1) → OOO'
  78. OrthogonalLine(OOO', xOyPlane) → l_1
  79. Intersect(l_1, xOyPlane) → E_1
  80. If(clock < 3, 0, clock - 3) → clock4
  81. Vector((0, 0, (2 * clock4))) → vLift4
  82. Translate({faceABCD, faceABFE, faceADHE, faceBCGF, faceCDHG, faceEFGH}, Vector[(0, 0, 0)]) → listCube1
  83. Mirror(listCube1, b) → listCube2'
  84. Translate(Rotate[listCube2', asin(clock1_1), f], vLift) → listCube2''
  85. Translate(listCube1, vLift) → listCube1'_1
  86. Translate(g, vLift) → g'
  87. Rotate(g', (-α), g) → g''
  88. Translate(f, vLift) → f'
  89. Rotate(f', (-α), g) → f''
  90. Translate(f'', vLift4) → f'''
  91. If(x(C'') > x(D''), x(C''), x(D'')) → xMax
  92. Plane(E, A, H) → c
  93. Midpoint(E, H) → I
  94. Plane(I, b) → d
  95. Translate(D, vLift) → D'
  96. Translate(E, vLift) → E'
  97. Translate(G, vLift) → G'
  98. Translate(H, vLift) → H'
  99. Translate(I, vLift) → I'
  100. Plane(E''', J, K) → e
  101. Mirror(listCube2'', e) → listCube2'''
  102. Rotate(listCube2''', (-γ), h) → listCube3
  103. Translate(Rotate[Mirror[G, b], asin(clock1_1), f], vLift) → O
  104. Translate(J, v) → J'
  105. Mirror(listCube1'_1, i) → list1
  106. Mirror(listCube2'', i) → listCube2'''_1
  107. Mirror(listCube3, i) → listCube3'
  108. Plane(A', M, M') → j
  109. Plane(Q, M', N) → k
  110. Vector(ZZZ) → vShift4
  111. Translate(j, vShift4) → j'
  112. OrthogonalLine(A', j) → l
  113. OrthogonalLine(D'', j) → m
  114. Intersect(m, j) → R
  115. Intersect(l, xOyPlane) → S
  116. Intersect(m, xOyPlane) → T
  117. OrthogonalLine(M', xOyPlane) → n
  118. Intersect(n, xOyPlane) → U
  119. Segment(M', S) → p
  120. Segment(A', M) → q
  121. Rotate({list1, listCube1'_1, listCube2'', listCube2'''_1, listCube3, listCube3'}, (-δ), r) → listAllCubes
  122. Polygon(K, B, 3, xOyPlane) → poly1, s, t, f_1, V
  123. Angle(A', V, A) → ε
  124. Angle(C', Q, C'') → ζ
  125. Intersect(h_1, xAxis) → Z
  126. Rotate(listAllCubes, η, g_1) → listAllCubes'
  127. Circle(J, V, B) → c_1
  128. Vector(B_2, A_2) → w
  129. Intersect(l_1, xOyPlane) → D_1
  130. Polygon(F_1, G_1, H_1) → poly2, h_2, f_2, g_2
  131. Center(e_1) → I_1
  132. Rotate(poly2, 180°, A) → poly2'
  133. Rotate(Rotate[A, (-δ), r], η, g_1) → J_1
  134. Dilate(N_1, 2, K_1) → Q_1
  135. Rotate(Rotate[Rotate[Translate[E, vLift], (-α), g], (-δ), r], η, g_1) → U_1
  136. Rotate(Rotate[Rotate[Translate[H, vLift], (-α), g], (-δ), r], η, g_1) → V_1
  137. Rotate(Rotate[Rotate[Translate[G, vLift], (-α), g], (-δ), r], η, g_1) → W_1
  138. Polygon(K_1, N_1, 3, a_1) → poly4, i_2, j_2, k_2, D_2
  139. OrthogonalLine(M_1, xOyPlane) → s_2
  140. Intersect(s_2, a_1) → H_2
  141. Vector(G_2, I_2) → v_1
  142. Translate(listAllCubes', v_1) → pos3
  143. OrthogonalLine(I_2, xOyPlane) → t_2
  144. Rotate(pos3, 180°, t_2) → pos1
  145. Plane(W_1, xOyPlane) → o_1
  146. OrthogonalLine(W_1, o_1) → a_2
  147. Intersect(a_2, xOyPlane) → J_2
  148. Midpoint(W_1, J_2) → K_2
  149. Plane(K_2, xOyPlane) → w_1
  150. Rotate(Mirror[pos1, w_1], 180°, t_2) → pos2
  151. Rotate(Mirror[pos3, w_1], 180°, t_2) → pos4

AI 绘图提示语参考

绘制一个动态折叠的模块化折纸立方体动画。初始为一个立方体,其顶点随动画时间逐步抬升和水平移动,形成折叠过程。立方体的一个面被镜像并旋转,产生翻折的三角形面板,同时有辅助线、平面和圆用于定位。最终呈现多个旋转后的多边形面与圆,展示空间几何变换与参数动画效果。
以上提示语为根据原始绘图命令整理而来,仅供参考。