丝带滑块:折纸模型的动态动画

丝带滑块:折纸模型的动态动画
几何画板及绘图内容加载中,请稍等……
2020-07-16 04:27
所属专题 Action Modular Origami
① 本范例演示了一个源自《Action Modular Origami》一书的折纸模型,通过GeoGebra滑块控制其折叠过程,形成动态的丝带状结构。② 核心数学概念包括三维向量、仿射变换(平移、旋转、镜像)、多边形构造以及参数化动画,涉及指数函数与条件概率作为背景标签,但主要聚焦于几何变换与序列生成。③ 作图要点:利用Dilate(缩放)、Intersect(求交)、Polygon(多边形)、Vector(向量)、Translate(平移)、Midpoint(中点)、Sequence(序列)、OrthogonalLine(垂线)、Mirror(镜像)、Rotate(旋转)、Line(直线)等命令,构建了ribbonCut、topCut、poly1、poly2等对象,并通过滑块n、rot、frac等参数驱动折叠动画。④ 适合中学高年级至大学低年级的数学或几何课程,用于直观理解三维空间中的变换与参数化建模,也可作为折纸数学或STEAM教育的演示素材。

GeoGebra 命令及参数

  1. Dilate(C, ribbonCut, B) → C'_1
  2. Intersect(xAxis, yAxis) → A
  3. Polygon(A, B, C) → poly1, c, a, b
  4. Dilate(C, topCut, K) → C'
  5. Vector(A, B) → v
  6. Translate(A, u) → D
  7. Polygon(A, D, nSides) → poly2, f, F, G, H, I, J, g, h, i, j, k, l, m, E
  8. Midpoint(D, H) → OO
  9. Sequence(Polygon[Rotate[A, (n * rot), OO], Rotate[B, (n * rot), OO], Rotate[C, (n * rot), OO]], n, 0, nSides, 1) → list1
  10. OrthogonalLine(K, a) → n
  11. Intersect(n, b) → L
  12. Mirror(K, c) → K'
  13. Rotate(L, 180°, A) → L'
  14. OrthogonalLine(L', n) → p
  15. Line(B, A) → q
  16. Intersect(p, q) → M
  17. Polygon(K', L', M, B) → base, k', l', m_1, b_1
  18. Polygon(A, L, K, B) → ribbon, a_1, l_1, k_1, b_2
  19. OrthogonalLine(N, a) → r
  20. Intersect(r, b) → O
  21. Polygon(K, L, O, N) → top, k_2, l_2, o, n_1
  22. Sequence(Polygon[Rotate[K', (n * rot), OO], Rotate[L', (n * rot), OO], Rotate[M, (n * rot), OO], Rotate[B, (n * rot), OO]], n, 0, nSides, 1) → list2
  23. Sequence(Polygon[Rotate[A, (n * rot), OO], Rotate[L, (n * rot), OO], Rotate[K, (n * rot), OO], Rotate[B, (n * rot), OO]], n, 0, nSides, 1) → list3
  24. Rotate(K', rot, OO) → K''
  25. Rotate(L', rot, OO) → L''
  26. Rotate(M, rot, OO) → M'
  27. Rotate(B, rot, OO) → B'
  28. Polygon(K'', L'', M', B') → base', k'', l'', m', b'
  29. Rotate(A, rot, OO) → A'
  30. Rotate(L, rot, OO) → L'_1
  31. Rotate(K, rot, OO) → K'_1
  32. Rotate(B, rot, OO) → B'_1
  33. Polygon(A', L'_1, K'_1, B'_1) → ribbon', a', l'_1, k'_1, b'_1
  34. Rotate(K, rot, OO) → K'_2
  35. Rotate(L, rot, OO) → L'_2
  36. Rotate(O, rot, OO) → O'
  37. Rotate(N, rot, OO) → N'
  38. Polygon(K'_2, L'_2, O', N') → top', k'_2, l'_2, o', n'
  39. Polygon(B, D, M', L'', A, L, K) → ribbonCut_1, b_3, d, m'_1, l''_1, a_2, l_3, k_3
  40. Intersect(k', k'') → P
  41. Polygon(P, L', M, L'') → baseCut, p_1, l'_3, m_2, l''_2
  42. Intersect(b, a_1) → Q
  43. Intersect(m', d) → R
  44. Intersect(b, a_1) → S
  45. Intersect(m', d) → T
  46. Intersect(m', d) → U
  47. Intersect(b, l_2) → V
  48. Intersect(m', d) → W
  49. Intersect(b, l_2) → Z
  50. Intersect(b, m') → A_1
  51. Polygon(B, D, A_1, L, C'_1) → ribbonLong, b_4, d_1, a_3, l_4, c'_1
  52. Vector(OO, OOO) → w
  53. Translate(Sequence[Polygon[Rotate[B, (n * rot), OO], Rotate[D, (n * rot), OO], Rotate[A_1, (n * rot), OO], Rotate[L, (n * rot), OO], Rotate[C'_1, (n * rot), OO]], n, 0, nSides, 1], w) → listRibbonLong
  54. Translate(Sequence[Polygon[Rotate[P, (n * rot), OO], Rotate[L', (n * rot), OO], Rotate[M, (n * rot), OO], Rotate[L'', (n * rot), OO]], n, 0, nSides, 2], w) → listBaseCut
  55. Translate(Sequence[Polygon[Rotate[B, (n * rot), OO], Rotate[D, (n * rot), OO], Rotate[M', (n * rot), OO], Rotate[L'', (n * rot), OO], Rotate[A, (n * rot), OO], Rotate[L, (n * rot), OO], Rotate[K, (n * rot), OO]], n, 0, nSides, 2], w) → listRibbonCut
  56. Translate(Sequence[Polygon[Rotate[K, (n * rot), OO], Rotate[L, (n * rot), OO], Rotate[O, (n * rot), OO], Rotate[N, (n * rot), OO]], n, 0, nSides, 2], w) → listTop
  57. Translate(Sequence[Polygon[Rotate[P, (n * rot), OO], Rotate[L', (n * rot), OO], Rotate[M, (n * rot), OO], Rotate[L'', (n * rot), OO]], n, 1, nSides, 2], w) → listBaseCut2
  58. Translate(Sequence[Polygon[Rotate[B, (n * rot), OO], Rotate[D, (n * rot), OO], Rotate[M', (n * rot), OO], Rotate[L'', (n * rot), OO], Rotate[A, (n * rot), OO], Rotate[L, (n * rot), OO], Rotate[K, (n * rot), OO]], n, 1, nSides, 2], w) → listRibbonCut2
  59. Translate(Sequence[Polygon[Rotate[K, (n * rot), OO], Rotate[L, (n * rot), OO], Rotate[O, (n * rot), OO], Rotate[N, (n * rot), OO]], n, 1, nSides, 2], w) → listTop2

AI 绘图提示语参考

绘制一个动态折纸模型,通过滑块控制,展示一个类似缎带的结构。首先建立一个初始的三角形,然后通过旋转、平移和镜像等变换生成一系列多边形,最后利用滑块 n 控制这些多边形的旋转角度,形成动态的折纸动画。
以上提示语为根据原始绘图命令整理而来,仅供参考。