纸艺折纸立方体变形动画

纸艺折纸立方体变形动画
几何画板及绘图内容加载中,请稍等……
2020-07-17 00:41
本示例演示了来自《Action Modular Origami》一书的纸艺折纸立方体变形动画。核心数学概念包括几何变换和立体几何。通过使用GeoGebra命令如Rotate、Translate和Mirror,展示了立方体的折叠和变形过程。适合用于初中及以上学生进行几何作图和立体几何学习。

GeoGebra 命令及参数

  1. Intersect(zAxis, xOyPlane) → A
  2. Point(xAxis) → B
  3. Point(Circle[B, Distance[A, B], Segment[A, B]]) → C
  4. Line(B, C) → q
  5. If(bControl ≟ bConstClock, ang5a, ang5s) → ang5
  6. Rotate(A, ang5, q) → A'_1
  7. If(bControl ≟ bConstClock, ang1a, ang1s) → ang1
  8. 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
  9. Line(C, E) → f
  10. Polygon(A, D, H) → poly1, h, a_1, d
  11. Sequence(Rotate[{poly1, faceABCD}, (n * 120°), f], n, 0, 2, 1) → listPoly00
  12. Rotate(A, ang1, edgeBC) → A'
  13. Plane((0, shiftDistance2, 0), (1, shiftDistance2, 0), (0, shiftDistance2, 1)) → yz
  14. OrthogonalLine(A', edgeAE, yz) → g
  15. Intersect(g, edgeAE) → J
  16. If(bControl ≟ bConstClock, ang2a, ang2s) → ang2
  17. Translate(Rotate[listPoly00, ang1, edgeBC], u) → listPoly01
  18. Rotate(B, ang2, edgeCD) → B'
  19. Plane(B, C, G) → c
  20. OrthogonalLine(B', edgeBF, c) → i
  21. Intersect(i, edgeBF) → K
  22. Vector(B', K) → v
  23. Vector(B, K) → w
  24. Translate(Translate[Rotate[listPoly01, ang2, edgeCD], v], w) → listPoly02
  25. If(bControl ≟ bConstClock, ang3a, ang3s) → ang3
  26. If(bControl ≟ bConstClock, ang4a, ang4s) → ang4
  27. Rotate(listPoly02, ang3, edgeFG) → listPoly03
  28. Rotate(B, ang4, edgeCD) → F'_2
  29. Rotate(E, ang3, edgeFG) → L
  30. Line(F, L) → t
  31. Plane(B, A, E) → k
  32. OrthogonalLine(E, t, k) → g_1
  33. OrthogonalLine(A'_1, g_1, k) → s
  34. Intersect(s, g_1) → Q
  35. Vector(A, Q) → v_1
  36. Vector(A'_1, Q) → u_1
  37. Line(B, F) → l
  38. OrthogonalLine(F'_2, l, c) → m
  39. Intersect(l, m) → M
  40. Vector(F'_2, M) → n
  41. Translate(Rotate[listPoly03, ang4, edgeCD], n) → listPoly04
  42. Translate(Translate[Rotate[listPoly04, ang5, q], u_1], v_1) → listPoly05
  43. OrthogonalLine(L, k) → f_1
  44. OrthogonalLine(B, edgeBF, k) → r
  45. Intersect(yAxis, zAxis) → I
  46. Vector(C, B') → e
  47. Translate(F, v) → F'
  48. Translate(F, e) → F'_1
  49. Plane((shiftDistance, 0, 0), (shiftDistance, 1, 0), (shiftDistance, 0, 1)) → xy
  50. Mirror(listPoly05, xy) → listPoly05'
  51. Mirror(listPoly05', k) → listPoly05''
  52. Mirror(listPoly05, k) → listPoly05'_1
  53. Vector(A, B) → p
  54. Translate(B, p) → B'_1
  55. Point(listPoly05'_1) → N
  56. Point(listPoly05'_1) → O
  57. OrthogonalLine(A'_1, r, k) → h_1
  58. Intersect(g_1, edgeAE) → P
  59. If(clock < 3, (-shiftAngle) + 0*°, If[clock ≥ 3 ∧ clock < 4, 180° + shiftAngle, (-shiftAngle) + (180° * (1 - smoothramp(clock - 5)))]) → ang6a
  60. If(bControl ≟ bConstClock, ang6a, ang6s) → ang6
  61. Intersect(h_1, r) → R
  62. Translate(Rotate[G, ang1, edgeBC], u) → G_1
  63. Translate(Translate[Rotate[G_1, ang2, edgeCD], v], w) → G_2
  64. Rotate(G_2, ang3, edgeFG) → G_3
  65. Translate(Rotate[G_3, ang4, edgeCD], n) → G_4
  66. Translate(Translate[Rotate[G_4, ang5, q], u_1], v_1) → G_5
  67. Translate(Rotate[H, ang1, edgeBC], u) → H_1
  68. Translate(Translate[Rotate[H_1, ang2, edgeCD], v], w) → H_2
  69. Rotate(H_2, ang3, edgeFG) → H_3
  70. Translate(Rotate[H_3, ang4, edgeCD], n) → H_4
  71. Translate(Translate[Rotate[H_4, ang5, q], u_1], v_1) → H_5
  72. Line(G_5, H_5) → i_1
  73. Translate(Rotate[D, ang1, edgeBC], u) → D_1
  74. Translate(Translate[Rotate[D_1, ang2, edgeCD], v], w) → D_2
  75. Rotate(D_2, ang3, edgeFG) → D_3
  76. Translate(Rotate[D_3, ang4, edgeCD], n) → D_4
  77. Translate(Translate[Rotate[D_4, ang5, q], u_1], v_1) → D_5
  78. Translate(Rotate[C, ang1, edgeBC], u) → C_1
  79. Translate(Translate[Rotate[C_1, ang2, edgeCD], v], w) → C_2
  80. Rotate(C_2, ang3, edgeFG) → C_3
  81. Translate(Rotate[C_3, ang4, edgeCD], n) → C_4
  82. Translate(Translate[Rotate[C_4, ang5, q], u_1], v_1) → C_5
  83. Plane(C_5, D_5, G_5) → o
  84. Rotate(Mirror[listPoly05, o], (-ang6_1), i_1) → listPoly06
  85. Mirror(listPoly06, yz) → listPoly06'
  86. Mirror(listPoly06, xy) → listPoly06'_1
  87. Mirror(listPoly06', xy) → listPoly06''
  88. Mirror(listPoly03, k) → listPoly03'
  89. Mirror(listPoly03, xy) → listPoly03'_1
  90. Mirror(listPoly03'_1, k) → listPoly03'_2
  91. Rotate(listPoly02, (-(90°)), edgeEH) → listPoly12
  92. Mirror(listPoly12, yz) → listPoly12'
  93. Mirror(listPoly12, xy) → listPoly12'_1
  94. Mirror(listPoly12', xy) → listPoly12''
  95. Point(xAxis) → T
  96. Line(S, T) → j_1
  97. Line(U, V) → k_1
  98. If(clock ≥ 2 ∧ clock < 3, true, false) → bSet1

AI 绘图提示语参考

绘制一个可动态折叠的立方八面体模型动画。先建立三维坐标系,在坐标轴上取点构造一个立方体,并标记其顶点、棱和面。以一条棱为轴旋转立方体的一部分,形成可开合的面板;再以相邻棱为轴依次旋转其他面板,同时通过平移和镜像操作模拟折叠过程。最终呈现一个由多个三角形和四边形面组成的多面体,在旋转和平移中展示几何变换。
以上提示语为根据原始绘图命令整理而来,仅供参考。