立方体上的交互式铺砌

立方体上的交互式铺砌
几何画板及绘图内容加载中,请稍等……
2020-11-03 17:39
① 本范例演示在立方体表面进行交互式铺砌(paving),通过拖动滑块或点选,观察立方体各面被多边形网格覆盖的动态变化。② 核心数学概念包括立体几何中的立方体结构、几何变换(平移、旋转、镜像、相似变换)以及序列生成,涉及点、线、面之间的位置关系与对称性。③ 作图要点:从构造摘要可见,使用了Circle、Line、Intersect、Polygon、Vector、Point、Segment、Midpoint、Mirror、Translate、Join、Rotate、Sequence、Cube等GeoGebra命令,并定义了多个对象(如A、B、C、poly1、poly2等),通过序列和变换在立方体六个面上生成铺砌图案,并利用滑块(如n、u、v)控制铺砌的密度或方向。④ 适合中学高年级或大学低年级的立体几何与几何变换教学,也可用于数学可视化探索,帮助学生直观理解三维空间中的对称与镶嵌。

GeoGebra 命令及参数

  1. Circle(A, Zoom) → c
  2. Line(A, xAxis) → b
  3. Intersect(c, b) → B, C
  4. Line(A, yAxis) → d
  5. Intersect(c, d) → D, E
  6. Line(B, yAxis) → e
  7. Line(C, d) → f
  8. Line(D, b) → g
  9. Line(E, b) → h
  10. Intersect(g, e) → F
  11. Intersect(f, g) → G
  12. Intersect(h, f) → H
  13. Intersect(e, h) → I
  14. Polygon(F, G, H, I) → poly1, f_1, g_1, h_1, i
  15. Vector(I, H) → u
  16. Vector(I, F) → v
  17. Point(i) → J
  18. Point(f_1) → K
  19. Segment(I, G) → j
  20. Point(j) → L
  21. Segment(D, B) → k
  22. Segment(F, A) → l
  23. Intersect(k, l) → M
  24. Midpoint(D, M) → N
  25. Midpoint(M, B) → O
  26. Polygon(F, N, K, L, J, O) → poly2, f_2, n_1, k_1, l_1, j_1, o
  27. Mirror(F, A) → F'_1
  28. Mirror(O, A) → O'_1
  29. Mirror(F, j) → F'_2
  30. Mirror(N, j) → N'_1
  31. Mirror(K, j) → K'_1
  32. Mirror(L, j) → L'_1
  33. Mirror(J, j) → J'_1
  34. Mirror(O, j) → O'_2
  35. Polygon(F'_2, N'_1, K'_1, L'_1, J'_1, O'_2) → poly2'_1, f', n', k', l', j', o'
  36. Vector(A, P) → w
  37. Translate(F, w) → F'_3
  38. Translate(N, w) → N'
  39. Translate(K, w) → K'
  40. Translate(L, w) → L'
  41. Translate(J, w) → J'
  42. Translate(O, w) → O'
  43. Polygon(F'_3, N', K', L', J', O') → poly2', f'_1, n'_1, k'_1, l'_1, j'_1, o'_1
  44. Translate(F'_2, w) → Q
  45. Translate(N'_1, w) → R
  46. Translate(K'_1, w) → S
  47. Translate(L'_1, w) → T
  48. Translate(J'_1, w) → U
  49. Translate(O'_2, w) → V
  50. Polygon(Q, R, S, T, U, V) → poly3, q, r, s, t, u_1, v_1
  51. Translate(F, w) → F'
  52. Translate(G, w) → G'
  53. Translate(H, w) → H'
  54. Translate(I, w) → I'
  55. Polygon(F', G', H', I') → poly1', f'_2, g', h', i'
  56. Mirror(V, g') → V'_1
  57. Mirror(Q, g') → Q'_1
  58. Mirror(R, g') → R'_1
  59. Mirror(S, g') → S'_1
  60. Mirror(T, g') → T'_1
  61. Mirror(U, g') → U'_1
  62. Mirror(V, g') → V'_2
  63. Polygon(Q'_1, R'_1, S'_1, T'_1, U'_1, V'_2) → poly3'_1, q', r', s', t', u', v'
  64. Mirror(F'_3, f'_2) → W
  65. Mirror(N', f'_2) → N''_1
  66. Mirror(K', f'_2) → K''_1
  67. Mirror(L', f'_2) → L''_1
  68. Mirror(J', f'_2) → J''_1
  69. Mirror(O', f'_2) → O''_1
  70. Polygon(W, N''_1, K''_1, L''_1, J''_1, O''_1) → poly2''_1, w_1, n'', k'', l'', j'', o''
  71. Mirror(F'_3, g') → Z
  72. Mirror(N', g') → N''
  73. Mirror(K', g') → K''
  74. Mirror(L', g') → L''
  75. Mirror(J', g') → J''
  76. Mirror(O', g') → O''
  77. Polygon(Z, N'', K'', L'', J'', O'') → poly2'', z, n''_1, k''_1, l''_1, j''_1, o''_1
  78. Mirror(Q'_1, f'_2) → Q''
  79. Mirror(R'_1, f'_2) → R''
  80. Mirror(S'_1, f'_2) → S''
  81. Mirror(T'_1, f'_2) → T''
  82. Mirror(U'_1, f'_2) → U''
  83. Mirror(V'_2, f'_2) → V''
  84. Polygon(Q'', R'', S'', T'', U'', V'') → poly3'', q'', r'', s'', t'', u'', v''
  85. Mirror(Q, f'_2) → Q'
  86. Mirror(R, f'_2) → R'
  87. Mirror(S, f'_2) → S'
  88. Mirror(T, f'_2) → T'
  89. Mirror(U, f'_2) → U'
  90. Mirror(V, f'_2) → V'
  91. Polygon(Q', R', S', T', U', V') → poly3', q'_1, r'_1, s'_1, t'_1, u'_1, v'_1
  92. Mirror(Z, f'_2) → Z'
  93. Mirror(N'', f'_2) → N'''
  94. Mirror(K'', f'_2) → K'''
  95. Mirror(L'', f'_2) → L'''
  96. Mirror(J'', f'_2) → J'''
  97. Mirror(O'', f'_2) → O'''
  98. Polygon(Z', N''', K''', L''', J''', O''') → poly2''', z', n''', k''', l''', j''', o'''
  99. Midpoint(C_1, A_1) → D_1
  100. Point(xAxis) → F_1
  101. Line(E_1, xAxis) → m
  102. Join(Sequence[Sequence[Polygon[Translate[Q, Vector[(s * u) + (t * v)]], Translate[R, Vector[(s * u) + (t * v)]], Translate[S, Vector[(s * u) + (t * v)]], Translate[T, Vector[(s * u) + (t * v)]], Translate[U, Vector[(s * u) + (t * v)]], Translate[V, Vector[(s * u) + (t * v)]]], s, 0, n, 2], t, 0, n, 2]) → liste1
  103. Line(D_1, E_1) → p
  104. Line(A_1, B_1) → a
  105. Rotate(liste1, 90°, a) → liste1'
  106. Sequence(Rotate[liste1', i, p], i, 0, (2 * π), (2 * π / 4)) → l1
  107. Join(Sequence[Sequence[Polygon[Translate[Q'_1, Vector[(s * u) + (t * v)]], Translate[R'_1, Vector[(s * u) + (t * v)]], Translate[S'_1, Vector[(s * u) + (t * v)]], Translate[T'_1, Vector[(s * u) + (t * v)]], Translate[U'_1, Vector[(s * u) + (t * v)]], Translate[V'_2, Vector[(s * u) + (t * v)]]], s, 0, n, 2], t, 0, n, 2]) → liste2
  108. Rotate(liste2, 90°, a) → liste2'
  109. Sequence(Rotate[liste2', i, p], i, 0, (2 * π), (2 * π / 4)) → l2
  110. Join(Sequence[Sequence[Polygon[Translate[F'_3, Vector[(s * u) + (t * v)]], Translate[N', Vector[(s * u) + (t * v)]], Translate[K', Vector[(s * u) + (t * v)]], Translate[L', Vector[(s * u) + (t * v)]], Translate[J', Vector[(s * u) + (t * v)]], Translate[O', Vector[(s * u) + (t * v)]]], s, 0, n, 2], t, 0, n, 2]) → liste3
  111. Rotate(liste3, 90°, a) → liste3'
  112. Join(Sequence[Sequence[Polygon[Translate[W, Vector[(s * u) + (t * v)]], Translate[N''_1, Vector[(s * u) + (t * v)]], Translate[K''_1, Vector[(s * u) + (t * v)]], Translate[L''_1, Vector[(s * u) + (t * v)]], Translate[J''_1, Vector[(s * u) + (t * v)]], Translate[O''_1, Vector[(s * u) + (t * v)]]], s, 0, n, 2], t, 0, n, 2]) → liste4
  113. Rotate(liste4, 90°, a) → liste4'
  114. Sequence(Rotate[liste4', i, p], i, 0, (2 * π), (2 * π / 4)) → l4
  115. Join(Sequence[Sequence[Polygon[Translate[Z, Vector[(s * u) + (t * v)]], Translate[N'', Vector[(s * u) + (t * v)]], Translate[K'', Vector[(s * u) + (t * v)]], Translate[L'', Vector[(s * u) + (t * v)]], Translate[J'', Vector[(s * u) + (t * v)]], Translate[O'', Vector[(s * u) + (t * v)]]], s, 0, n, 2], t, 0, n, 2]) → liste5
  116. Rotate(liste5, 90°, a) → liste5'
  117. Sequence(Rotate[liste5', i, p], i, 0, (2 * π), (2 * π / 4)) → l5
  118. Join(Sequence[Sequence[Polygon[Translate[Z', Vector[(s * u) + (t * v)]], Translate[N''', Vector[(s * u) + (t * v)]], Translate[K''', Vector[(s * u) + (t * v)]], Translate[L''', Vector[(s * u) + (t * v)]], Translate[J''', Vector[(s * u) + (t * v)]], Translate[O''', Vector[(s * u) + (t * v)]]], s, 0, n, 2], t, 0, n, 2]) → liste6
  119. Rotate(liste6, 90°, a) → liste6'
  120. Sequence(Rotate[liste6', i, p], i, 0, (2 * π), (2 * π / 4)) → l6
  121. Join(Sequence[Sequence[Polygon[Translate[Q'', Vector[(s * u) + (t * v)]], Translate[R'', Vector[(s * u) + (t * v)]], Translate[S'', Vector[(s * u) + (t * v)]], Translate[T'', Vector[(s * u) + (t * v)]], Translate[U'', Vector[(s * u) + (t * v)]], Translate[V'', Vector[(s * u) + (t * v)]]], s, 0, n, 2], t, 0, n, 2]) → liste7
  122. Rotate(liste7, 90°, a) → liste7'
  123. Sequence(Rotate[liste7', i, p], i, 0, (2 * π), (2 * π / 4)) → l7
  124. Join(Sequence[Sequence[Polygon[Translate[Q', Vector[(s * u) + (t * v)]], Translate[R', Vector[(s * u) + (t * v)]], Translate[S', Vector[(s * u) + (t * v)]], Translate[T', Vector[(s * u) + (t * v)]], Translate[U', Vector[(s * u) + (t * v)]], Translate[V', Vector[(s * u) + (t * v)]]], s, 0, n, 2], t, 0, n, 2]) → liste8
  125. Rotate(liste8, 90°, a) → liste8'
  126. Sequence(Rotate[liste8', i, p], i, 0, (2 * π), (2 * π / 4)) → l8
  127. Cube(A_1, B_1, zAxis) → a_1, G_1, face4, face5, face6, arête2, arête1, arête4, arête6, arête3, arête8, arête10, H_1, arête9, arête5, arête11, arête7, arête12, I_1, J_1, K_1, L_1, face1, face3, face2
  128. Rotate(liste1, 180°, m) → l1b
  129. Rotate(liste2, 180°, m) → l2b
  130. Rotate(liste3, 180°, m) → l3b
  131. Rotate(liste4, 180°, m) → l4b
  132. Rotate(liste5, 180°, m) → l5b
  133. Rotate(liste6, 180°, m) → l6b
  134. Rotate(liste7, 180°, m) → l7b
  135. Rotate(liste8, 180°, m) → l8b
  136. Sequence(Rotate[liste3', i, p], i, 0, (2 * π), (2 * π / 4)) → l3

AI 绘图提示语参考

绘制一个立方体表面上的交互式铺砌图案。先画一个圆,其水平与垂直直径与坐标轴相交,形成四个交点,并由此构造一个外接正方形。在正方形内部,通过连接对角点与中点,划分出多个多边形区域。随后,利用对称与平移操作,将其中一个多边形复制到相邻位置,形成重复的铺砌单元。整个图形由两个滑块控制:一个调节铺砌单元的密度,另一个控制其旋转角度,从而动态展示不同对称性与变换效果。
以上提示语为根据原始绘图命令整理而来,仅供参考。