Tessellation by Translation: Replicating Polygons with Vectors
Loading the math board and drawing, please wait…
① This example demonstrates how to create a plane-filling tessellation by repeatedly translating a base polygon along two different vector directions. ② The core mathematical concepts are translation and vectors, showing how these transformations generate periodic tiling patterns; it also touches on polygons, rotation, step functions, and arithmetic operations. ③ Construction highlights: using GeoGebra commands such as Polygon to create the base polygon poly1, defining points A, B, C, D, constructing translation vectors u and v with Vector, and applying Translate to copy the polygon along u and v, producing copies like stroke1 and stroke2; AttachCopyToView keeps the view aligned. ④ Suitable for middle/high school geometry or college graphics courses, this example helps students intuitively understand translation transformations, vector operations, and the construction of plane tessellations, and can also serve as material for mathematical art or exploratory activities.
GeoGebra Commands & Parameters
Polygon(A, B, 4) → poly1, a, b, c, d, C, DAttachCopyToView(PolyLine[(2.32, -3.66), (2.2600000000000002, -3.68), (2.2, -3.72), (2.16, -3.7800000000000002), (2.14, -3.84), (2.1, -3.92), (2.1, -4), (2.1, -4.08), (2.08, -4.14), (2.08, -4.22), (2, -4.24), (1.92, -4.24), (1.84, -4.24), (1.76, -4.24), (1.7, -4.28), (1.62, -4.3), (1.54, -4.32), (1.48, -4.34), (1.42, -4.36), (1.36, -4.42), (1.3, -4.5), (1.24, -4.5600000000000005), (1.2, -4.62), (1.18, -4.68), (1.16, -4.74), (1.08, -4.74), (1, -4.74), (0.9400000000000001, -4.78), (0.9, -4.84), (0.86, -4.9), (0.8, -4.92), (0.78, -4.98), (0.76, -5.04), (0.76, -4.96), (0.76, -4.88), (0.76, -4.8), (0.72, -4.86), (0.7000000000000001, -4.92), (0.68, -4.98), (0.64, -4.92), (0.64, -4.84), (0.64, -4.74), (0.68, -4.68), (0.74, -4.62), (0.8, -4.58), (0.86, -4.5600000000000005), (0.9400000000000001, -4.5600000000000005), (0.96, -4.5), (0.98, -4.42), (1, -4.36), (1.02, -4.3), (1.06, -4.24), (1.12, -4.22), (1.18, -4.16), (1.24, -4.14), (1.3, -4.1), (1.36, -4.0600000000000005), (1.42, -4.04), (1.48, -3.98), (1.54, -3.94), (1.6, -3.9), (1.54, -3.88), (1.46, -3.88), (1.3800000000000001, -3.88), (1.3, -3.88), (1.22, -3.88), (1.1400000000000001, -3.86), (1.08, -3.84), (1.08, -3.7600000000000002), (1.08, -3.68), (1.02, -3.62), (1.02, -3.54), (1.02, -3.46), (1.02, -3.38), (1.02, -3.2800000000000002), (1.04, -3.2), (0.98, -3.2600000000000002), (0.92, -3.3000000000000003), (0.84, -3.3000000000000003), (0.76, -3.3000000000000003), (0.72, -3.24), (0.72, -3.16), (0.72, -3.06), (0.68, -3), (0.68, -2.9), (0.62, -2.88), (0.56, -2.94), (0.5, -2.96), (0.42, -2.96), (0.36, -2.98), (0.28, -2.96), (0.26, -2.9), (0.22, -2.84), (0.22, -2.7600000000000002), (0.16, -2.7800000000000002), (0.1, -2.8000000000000003), (0.04, -2.82), (-0.04, -2.82), (-0.06, -2.7600000000000002), (-0.08, -2.7), (-0.1, -2.64), (-0.12, -2.58), (-0.16, -2.64), (-0.22, -2.68), (-0.28, -2.72), (-0.34, -2.74), (-0.42, -2.74), (-0.46, -2.68), (-0.48, -2.62), (-0.5, -2.56), (-0.52, -2.5), (-0.54, -2.56), (-0.58, -2.62), (-0.64, -2.68), (-0.7000000000000001, -2.74), (-0.78, -2.74), (-0.8200000000000001, -2.68), (-0.86, -2.62), (-0.88, -2.68), (-0.92, -2.74), (-0.9400000000000001, -2.8000000000000003), (-0.9400000000000001, -2.88), (-0.96, -2.94), (-0.98, -3), (-1.02, -3.06), (-1.08, -3.12), (-1.1, -3.18), (-1.12, -3.24), (-1.18, -3.2800000000000002), (-1.22, -3.34), (-1.28, -3.38), (-1.32, -3.44), (-1.36, -3.5), (-1.42, -3.54), (-1.48, -3.58), (-1.48, -3.66), (-1.4000000000000001, -3.66), (-1.32, -3.66), (-1.26, -3.68), true], 1, (-4.3, -7.96), (23.38, 6.3), (0, 713), (1384, 0)) → stroke1Point(a) → EPoint(c) → FVector(E, F) → uTranslate(stroke1, u) → stroke1'AttachCopyToView(PolyLine[(-1.28, -3.6), (-1.3, -3.68), (-1.34, -3.74), (-1.4000000000000001, -3.7600000000000002), (-1.46, -3.7800000000000002), (-1.54, -3.7800000000000002), (-1.6, -3.72), (-1.62, -3.66), (-1.6400000000000001, -3.72), (-1.6400000000000001, -3.8000000000000003), (-1.7, -3.84), (-1.74, -3.7800000000000002), (-1.76, -3.72), (-1.76, -3.64), (-1.76, -3.56), (-1.76, -3.48), (-1.72, -3.4), (-1.7, -3.34), (-1.6400000000000001, -3.3200000000000003), (-1.56, -3.3200000000000003), (-1.54, -3.2600000000000002), (-1.52, -3.2), (-1.5, -3.14), (-1.48, -3.08), (-1.46, -3.02), (-1.44, -2.96), (-1.42, -2.9), (-1.3800000000000001, -2.84), (-1.36, -2.7800000000000002), (-1.34, -2.72), (-1.28, -2.66), (-1.22, -2.62), (-1.16, -2.56), (-1.12, -2.5), (-1.08, -2.44), (-1.02, -2.38), (-0.96, -2.32), (-0.92, -2.2600000000000002), (-0.88, -2.2), (-0.8200000000000001, -2.18), (-0.76, -2.14), (-0.7000000000000001, -2.1), (-0.68, -2.04), (-0.64, -1.98), (-0.62, -1.92), (-0.6, -1.86), (-0.58, -1.8), (-0.56, -1.74), (-0.56, -1.6600000000000001), (-0.62, -1.6), (-0.68, -1.56), (-0.74, -1.5), (-0.84, -1.5), (-0.92, -1.5), (-1, -1.5), (-1.08, -1.5), (-1.1400000000000001, -1.54), (-1.2, -1.6), (-1.26, -1.6600000000000001), (-1.28, -1.72), (-1.3, -1.78), (-1.36, -1.82), (-1.42, -1.86), (-1.46, -1.92), (-1.48, -1.98), (-1.48, -2.06), (-1.5, -2.12), (-1.48, -2.18), (-1.42, -2.2), (-1.36, -2.22), (-1.36, -2.14), (-1.36, -2.06), (-1.36, -1.98), (-1.3, -1.94), (-1.22, -1.94), (-1.22, -2.02), (-1.2, -2.08), (-1.1400000000000001, -2.04), (-1.12, -1.96), (-1.1, -1.9000000000000001), (-1.06, -1.96), (-1.06, -2.04), (-1.06, -2.12), (-1.08, -2.2), (-1.12, -2.2600000000000002), (-1.18, -2.2800000000000002), (-1.24, -2.32), (-1.3, -2.34), (-1.36, -2.36), (-1.42, -2.38), (-1.5, -2.38), (-1.56, -2.4), (-1.6400000000000001, -2.4), (-1.6600000000000001, -2.34), (-1.68, -2.2600000000000002), (-1.7, -2.2), (-1.72, -2.12), (-1.72, -2.04), (-1.72, -1.96), (-1.72, -1.8800000000000001), (-1.72, -1.8), (-1.6600000000000001, -1.76), (-1.62, -1.7), (-1.56, -1.6600000000000001), (-1.5, -1.6), (-1.46, -1.54), (-1.44, -1.48), (-1.42, -1.42), (-1.3800000000000001, -1.36), (-1.36, -1.3), (-1.3, -1.24), (-1.24, -1.2), (-1.18, -1.18), (-1.1, -1.18), (-1.04, -1.1400000000000001), (-0.98, -1.12), (-0.9, -1.12), (-0.8200000000000001, -1.12), (-0.76, -1.1), (-0.7000000000000001, -1.06), (-0.66, -1), (-0.62, -0.9400000000000001), (-0.56, -0.9), (-0.5, -0.88), (-0.42, -0.84), (-0.36, -0.78), (-0.32, -0.7000000000000001), (-0.26, -0.64), (-0.22, -0.58), (-0.18, -0.52), (-0.12, -0.48), (-0.06, -0.42), (0, -0.36), (0.06, -0.32), (0.1, -0.26), (0.12, -0.16), (0.14, -0.06), (0.18, 0), (0.24, 0.06), (0.18, 0.1), (0.12, 0.12), (0.06, 0.14), (0, 0.18), (-0.02, 0.24), (-0.08, 0.26), (-0.16, 0.26), (-0.24, 0.26), (-0.3, 0.28), (-0.32, 0.34), (-0.38, 0.38), (-0.42, 0.32), (-0.46, 0.26), (-0.52, 0.22), (-0.58, 0.18), (-0.64, 0.14), (-0.7000000000000001, 0.12), (-0.76, 0.08), (-0.8200000000000001, 0.02), (-0.9, -0.02), (-0.9400000000000001, -0.08), (-1.02, -0.08), (-1.08, -0.1), (-1.16, -0.1), true], 1, (-4.3, -7.96), (23.38, 6.3), (0, 713), (1384, 0)) → stroke2Point(d) → GPoint(b) → HVector(G, H) → vTranslate(stroke2, v) → stroke2'
AI Drawing Prompt Reference
Draw a plane-filling tessellation by repeatedly translating a base polygon along two different vector directions. Start by drawing a quadrilateral, then define two points and create two vectors based on these points. Translate the quadrilateral using the first vector to get the first copy, and then translate the first copy using the second vector to get the second copy. Finally, arrange these two copies side by side to form a periodic tiling pattern.
The prompt above was compiled from the original drawing commands and is for reference only.