Two-Tile Translation Tessellation: Vector Translation of Polygons

Two-Tile Translation Tessellation: Vector Translation of Polygons
Loading the math board and drawing, please wait…
2021-01-12 02:11
This example demonstrates how a two-tile tessellation can be produced by repeating a polygonal tile via translation, revealing the periodic structure formed by repeated geometric shifts. It centers on translation (a rigid motion), using vectors to represent displacement, and the invariance properties of shape under similarity/rigid transformation (consistent orientation and congruence). The construction uses GeoGebra tools and objects including: Polygon to define the base tile (poly1), Vector to specify the translation displacement, Translate to generate translated copies (poly2, poly3), and PointIn to test whether points lie in a region associated with the polygon. A Sequence command is used to create a systematic set of repeated instances and corresponding points (e.g., base vertices like A, B, C, D and their translated counterparts such as G', H', I' and further labeled points). The activity is well-suited for middle/high school geometry through early university geometry-visualization, especially for lessons on transformations and tessellations.

GeoGebra Commands & Parameters

  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 Drawing Prompt Reference

Draw a base tile composed of two squares sharing a side, forming an L-shaped polygon. Define two vectors: one horizontal and one vertical. Repeatedly translate this tile by combinations of these vectors to create a periodic tessellation. Within each translated tile, select several interior points and translate them by specific vectors to mark corresponding positions. Finally, connect the vertices of the base tile and its translated copies to form a polygonal mesh that covers the plane, demonstrating translational symmetry.
The prompt above was compiled from the original drawing commands and is for reference only.