双块平移的镶嵌:研究平移与质心几何

双块平移的镶嵌:研究平移与质心几何
几何画板及绘图内容加载中,请稍等……
2021-01-12 02:11
该范例演示如何用“两块拼块”的平移生成周期性的镶嵌效果,并观察几何形状在重复平移下如何保持形状与方向。核心数学概念包括:平移变换(translation)、向量与坐标几何表达、相似/等距变换的一致性,以及在构造中对关键点(可含质心或重心思想)进行跟踪。作图要点:通过 GeoGebra 的 Polygon 生成基础多边形片 poly1;用 Vector 构造平移位移向量,并用 Translate 将多边形按向量平移得到 poly2、poly3 等重复块;借助 PointIn 进行点与区域/多边形的判定;再结合 Sequence 自动生成系列平移实例与标注点(如 A、B、C、D、E、F 以及后续派生点)。从对象看,示例同时组织了多个子图形与对应的平移后版本,体现平移镶嵌的结构化构造。适合中学到大学预备阶段的几何变换教学、数学建模入门与课堂演示。

GeoGebra 命令及参数

  1. Polygon(A, B, 4) → poly1, f, g, h, i, C, D
  2. Polygon(C, B, 4) → poly2, j, k, l, m, E, F
  3. Vector(A, B) → u
  4. Vector(A, D) → v
  5. PointIn(Polygon[A + v, B + v, B - v, A - v]) → G
  6. PointIn(Polygon[A + v, B + v, B - v, A - v]) → H
  7. PointIn(Polygon[A + v, B + v, B - v, A - v]) → I
  8. Translate(G, Vector[u + v]) → G'
  9. Translate(H, Vector[u + v]) → H'
  10. Translate(I, Vector[u + v]) → I'
  11. PointIn(Polygon[D + v, C + v, C - v, D - v]) → J
  12. PointIn(Polygon[D + v, C + v, C - v, D - v]) → K
  13. PointIn(Polygon[D + v, C + v, C - v, D - v]) → L
  14. Translate(J, Vector[u - v]) → J'
  15. Translate(K, Vector[u - v]) → K'
  16. Translate(L, Vector[u - v]) → L'
  17. PointIn(Polygon[A + u, D + u, D - u, A - u]) → M
  18. PointIn(Polygon[A + u, D + u, D - u, A - u]) → N
  19. Translate(M, Vector[(2 * u)]) → M'
  20. Translate(N, Vector[(2 * u)]) → N'
  21. PointIn(Polygon[B + u, C + u, C - u, B - u]) → O
  22. PointIn(Polygon[B + u, C + u, C - u, B - u]) → P
  23. Polygon(A, G, J, D, N, M, H, I, B, O, P, C, L, K) → poly3, a, k_1, j_1, d, n, m_1, g_1, h_1, i_1, b, o, p, c, l_1
  24. Polygon(O, B, H', G', C, P, J', K', L', E, M', N', F, I') → poly4, o_1, i', h', g', c_1, p_1, b_1, j', k', l', e, m', n', f_1
  25. Translate(A, Vector[(2 * u)]) → A'
  26. Translate(G, Vector[(2 * u)]) → G'_1
  27. Translate(H, Vector[(2 * u)]) → H'_1
  28. Translate(I, Vector[(2 * u)]) → I'_1
  29. Translate(B, Vector[(2 * u)]) → B'
  30. Translate(O, Vector[(2 * u)]) → O'
  31. Translate(P, Vector[(2 * u)]) → P'
  32. Translate(C, Vector[(2 * u)]) → C'
  33. Translate(L, Vector[(2 * u)]) → L'_1
  34. Translate(K, Vector[(2 * u)]) → K'_1
  35. Translate(J, Vector[(2 * u)]) → J'_1
  36. Translate(D, Vector[(2 * u)]) → D'
  37. Translate(N, Vector[(2 * u)]) → N'_1
  38. Translate(M, Vector[(2 * u)]) → M'_1
  39. Translate(A, Vector[(-2 * u)]) → A'_1
  40. Translate(G, Vector[(-2 * u)]) → G'_2
  41. Translate(H, Vector[(-2 * u)]) → H'_2
  42. Translate(I, Vector[(-2 * u)]) → I'_2
  43. Translate(B, Vector[(-2 * u)]) → B'_1
  44. Translate(O, Vector[(-2 * u)]) → O'_1
  45. Translate(P, Vector[(-2 * u)]) → P'_1
  46. Translate(C, Vector[(-2 * u)]) → C'_1
  47. Translate(L, Vector[(-2 * u)]) → L'_2
  48. Translate(K, Vector[(-2 * u)]) → K'_2
  49. Translate(J, Vector[(-2 * u)]) → J'_2
  50. Translate(D, Vector[(-2 * u)]) → D'_1
  51. Translate(N, Vector[(-2 * u)]) → N'_2
  52. Translate(M, Vector[(-2 * u)]) → M'_2
  53. Translate(O, Vector[(-2 * u)]) → O'_2
  54. Translate(B, Vector[(-2 * u)]) → B'_2
  55. Translate(J', Vector[(-2 * u)]) → J''
  56. Translate(K', Vector[(-2 * u)]) → K''
  57. Translate(L', Vector[(-2 * u)]) → L''
  58. Translate(E, Vector[(-2 * u)]) → E'
  59. Translate(M', Vector[(-2 * u)]) → M''
  60. Translate(N', Vector[(-2 * u)]) → N''
  61. Translate(F, Vector[(-2 * u)]) → F'
  62. Translate(I', Vector[(-2 * u)]) → I''
  63. Translate(H', Vector[(-2 * u)]) → H''
  64. Translate(G', Vector[(-2 * u)]) → G''
  65. Translate(C, Vector[(-2 * u)]) → C'_2
  66. Translate(P, Vector[(-2 * u)]) → P'_2
  67. Sequence(Sequence[Polygon[Translate[O, Vector[(i * (u + v)) + (j * (u - v))]], Translate[B, Vector[(i * (u + v)) + (j * (u - v))]], Translate[J', Vector[(i * (u + v)) + (j * (u - v))]], Translate[K', Vector[(i * (u + v)) + (j * (u - v))]], Translate[L', Vector[(i * (u + v)) + (j * (u - v))]], Translate[E, Vector[(i * (u + v)) + (j * (u - v))]], Translate[M', Vector[(i * (u + v)) + (j * (u - v))]], Translate[N', Vector[(i * (u + v)) + (j * (u - v))]], Translate[F, Vector[(i * (u + v)) + (j * (u - v))]], Translate[I', Vector[(i * (u + v)) + (j * (u - v))]], Translate[H', Vector[(i * (u + v)) + (j * (u - v))]], Translate[G', Vector[(i * (u + v)) + (j * (u - v))]], Translate[C, Vector[(i * (u + v)) + (j * (u - v))]], Translate[P, Vector[(i * (u + v)) + (j * (u - v))]]], i, (-q), q], j, (-q), q) → l3
  68. Sequence(Sequence[Polygon[Translate[A, Vector[(i * (u + v)) + (j * (u - v))]], Translate[G, Vector[(i * (u + v)) + (j * (u - v))]], Translate[H, Vector[(i * (u + v)) + (j * (u - v))]], Translate[I, Vector[(i * (u + v)) + (j * (u - v))]], Translate[B, Vector[(i * (u + v)) + (j * (u - v))]], Translate[O, Vector[(i * (u + v)) + (j * (u - v))]], Translate[P, Vector[(i * (u + v)) + (j * (u - v))]], Translate[C, Vector[(i * (u + v)) + (j * (u - v))]], Translate[L, Vector[(i * (u + v)) + (j * (u - v))]], Translate[K, Vector[(i * (u + v)) + (j * (u - v))]], Translate[J, Vector[(i * (u + v)) + (j * (u - v))]], Translate[D, Vector[(i * (u + v)) + (j * (u - v))]], Translate[N, Vector[(i * (u + v)) + (j * (u - v))]], Translate[M, Vector[(i * (u + v)) + (j * (u - v))]]], i, (-q), q], j, (-q), q) → l4

AI 绘图提示语参考

绘制一个由两个正方形拼合而成的多边形作为基础单元,其中一个正方形位于另一个上方,共享一条边。用两个向量分别表示水平与垂直方向的平移。将基础单元沿这两个向量的组合方向反复平移,形成周期性镶嵌图案。在平移后的每个单元内,选取若干内部点,并沿特定向量平移这些点,以标记对应位置。最后,将基础单元及其平移副本的顶点连接,形成覆盖平面的多边形网格,展示平移对称性。
以上提示语为根据原始绘图命令整理而来,仅供参考。