双块旋转镶嵌:两类等价瓦片的对称铺设
几何画板及绘图内容加载中,请稍等……
该范例演示如何用两种“瓦片”通过旋转与平移在平面上形成循环镶嵌图案,并展示旋转拼接下的角度与边界的一致性。核心数学概念包括旋转对称、全等(同余)关系、向量几何与几何构造中的点的生成,以及在拼接过程中保持形状不变的变换逻辑。作图要点:利用 GeoGebra 的 Polygon 创建两类多边形瓦片(如 poly1、poly2),用 Vector 与 PointIn 确定与参数相关的点位置与落点集合;通过 Rotate 和 Translate 对已有瓦片进行旋转与平移,配合 Sequence 生成迭代/序列步骤,从而得到一系列重复但相互匹配的拼接对象(如 A、B、C、D 及其衍生点 u、v、j、k、l、m 等);同时保留与图形几何约束相关的辅助对象(如 f、g、h、i 等)以实现稳定的拼接效果。适合中学高年级到大学的几何变换与作图课程,用于课堂演示、竞赛备课或GeoGebra建模练习,帮助学生直观理解旋转镶嵌与同余结构。
GeoGebra 命令及参数
Polygon(A, B, 4) → poly1, f, g, h, i, C, DVector(B, C) → uPointIn(Polygon[A + u, A - u, B - u, B + u]) → GRotate(G, 180°, A) → G''PointIn(Polygon[A + u, A - u, B - u, B + u]) → HPointIn(Polygon[A + u, A - u, B - u, B + u]) → IPointIn(Polygon[C + u, C - u, D - u, D + u]) → PPointIn(Polygon[C + u, C - u, D - u, D + u]) → QPointIn(Polygon[C + u, C - u, D - u, D + u]) → RPointIn(Circle[B, f]) → SPointIn(Circle[D, f]) → TVector(B, A) → vPointIn(Polygon[B + v, B - v, C - v, C + v]) → JPointIn(Polygon[B + v, B - v, C - v, C + v]) → KPointIn(Polygon[B + v, B - v, C - v, C + v]) → LRotate(L, 180°, C) → L''PointIn(Polygon[A + v, A - v, D - v, D + v]) → MPointIn(Polygon[A + v, A - v, D - v, D + v]) → NPointIn(Polygon[A + v, A - v, D - v, D + v]) → OPolygon(B, A, 4) → poly2, j, k, l, m, E, FRotate(L, 180°, B) → L'Rotate(K, 180°, B) → K'Rotate(J, 180°, B) → J'Rotate(M, 180°, A) → M'Rotate(N, 180°, A) → N'Rotate(O, 180°, A) → O'Translate(P, Vector[(-2 * u)]) → P'Translate(Q, Vector[(-2 * u)]) → Q'Translate(R, Vector[(-2 * u)]) → R'Rotate(S, 180°, B) → S'Polygon(S, J, N, M, G'', G, H, I, K, L, L'', R, Q, P, T, O) → poly3, n, d, e, f_1, g_1, h_1, i_1, j_1, p, q, r, s, t, a, b, cRotate(T, 180°, A) → T'Translate(T, Vector[(-2 * u)]) → T'_1Polygon(T', T'_1, I, H, G, M', N', O', P', Q', R', L', K', J', S', S) → poly4, t', s_1, i_2, h_2, g_2, m', n', o', t'_1, p', q', r', l', k', j', s'Rotate(T', 180°, B) → T''Rotate(T'_1, 180°, B) → URotate(P', 180°, B) → P''Rotate(Q', 180°, B) → Q''Rotate(R', 180°, B) → R''Rotate(L', 180°, B) → L''_2Rotate(K', 180°, B) → K''Rotate(J', 180°, B) → J''Rotate(S', 180°, B) → S''Rotate(S, 180°, B) → S'_1Rotate(I, 180°, B) → I'Rotate(H, 180°, B) → H'Rotate(G, 180°, B) → G'Rotate(M', 180°, B) → M''Rotate(N', 180°, B) → N''Rotate(O', 180°, B) → O''Polygon(T'', U, I', H', G', M'', N'', O'', P'', Q'', R'', L''_2, K'', J'', S'', S'_1) → poly4', t'', s'_1, i', h', g', m'', n'', o'', u_1, p'', q'', r'', l'', k'', j'', s''Rotate(T', 180°, A) → T''_1Rotate(G, 180°, A) → G'_1Rotate(S, 180°, B) → S'_2Rotate(J, 180°, B) → J'_1Rotate(K, 180°, B) → K'_1Rotate(L, 180°, B) → L'_1Rotate(L'', 180°, B) → L'''_1Rotate(R, 180°, B) → R'_1Rotate(Q, 180°, B) → Q'_1Rotate(P, 180°, B) → P'_3Rotate(T, 180°, B) → T'_4Rotate(O, 180°, B) → O'_3Rotate(N, 180°, B) → N'_3Rotate(M, 180°, B) → M'_3Rotate(G'', 180°, B) → G'''Rotate(G, 180°, B) → G'_4Rotate(H, 180°, B) → H'_1Rotate(I, 180°, B) → I'_1Polygon(S'_2, J'_1, N'_3, M'_3, G''', G'_4, H'_1, I'_1, K'_1, L'_1, L'''_1, R'_1, Q'_1, P'_3, T'_4, O'_3) → poly3', s'_2, o'_3, n'_3, m'_3, g''', g'_4, h'_1, i'_1, j'_1, k'_1, l'_1, l'''_1, r'_1, q'_1, p'_3, t'_4Sequence(Sequence[Polygon[Translate[S, Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[J, Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[K, Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[L, Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[L'', Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[R, Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[Q, Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[P, Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[T, Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[O, Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[N, Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[M, Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[G'', Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[G, Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[H, Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[I, Vector[((i * 2) * u) + ((j * 2) * v)]]], i, (-w), w], j, (-w), w) → l1Sequence(Sequence[Polygon[Translate[S'_2, Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[J'_1, Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[K'_1, Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[L'_1, Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[L'''_1, Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[R'_1, Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[Q'_1, Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[P'_3, Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[T'_4, Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[O'_3, Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[N'_3, Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[M'_3, Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[G''', Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[G'_4, Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[H'_1, Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[I'_1, Vector[((i * 2) * u) + ((j * 2) * v)]]], i, (-w), w], j, (-w), w) → l2Sequence(Sequence[Polygon[Translate[T'', Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[U, Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[P'', Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[Q'', Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[R'', Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[L''_2, Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[K'', Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[J'', Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[S'', Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[S'_1, Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[I', Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[H', Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[G', Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[M'', Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[N'', Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[O'', Vector[((i * 2) * u) + ((j * 2) * v)]]], i, (-w), w], j, (-w), w) → l3Sequence(Sequence[Polygon[Translate[T', Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[T'_1, Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[P', Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[Q', Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[R', Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[L', Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[K', Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[J', Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[S', Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[S, Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[I, Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[H, Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[G, Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[M', Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[N', Vector[((i * 2) * u) + ((j * 2) * v)]], Translate[O', Vector[((i * 2) * u) + ((j * 2) * v)]]], i, (-w), w], j, (-w), w) → l4
AI 绘图提示语参考
绘制一个由两种全等四边形瓷砖构成的平面密铺图案。先构造两个相邻的正方形作为基础瓷砖,其中一个旋转180度后与另一个匹配。通过平移和旋转复制这些瓷砖,使它们沿水平和斜向方向交错排列,形成连续且边角对齐的重复图案。在瓷砖内部及边界上选取若干关键点,并围绕顶点进行对称旋转,生成匹配的边线点集。最终用这些点围合出两个互补的复杂多边形区域,它们共同无缝覆盖平面,展示旋转与平移组合下的对称密铺效果。
以上提示语为根据原始绘图命令整理而来,仅供参考。