Two-Tile Translation with Vectors

Two-Tile Translation with Vectors
Loading the math board and drawing, please wait…
2021-01-12 02:39
This GeoGebra example demonstrates how two “tiles” can be repeated across the plane using translations. It highlights the phenomenon of pattern formation via rigid motion: translating one polygonal tile by a displacement vector produces congruent copies that align to form a structured tiling. Key concepts include geometric translation (Translation), vector-based transformation (Vector), constructing shapes from polygon vertices (Polygon), and organizing repeated objects with Sequence. Construction uses Polygon to define the base tiles (poly1 and poly2), Vector to specify the translation direction and magnitude (e.g., v), PointIn to manage membership/placement conditions, and Translate to map original points to their translated counterparts (points with primes such as G', H', I', J', K', L', etc.). Sequence is employed to generate multiple translated copies systematically. Suitable for middle/high school geometry, teaching transformations, and visualization-oriented math projects.

GeoGebra Commands & Parameters

  1. Polygon(A, B, 4) → poly1, f, g, h, i, C, D
  2. Vector(A, D) → v
  3. PointIn(Polygon[A + v, B + v, B - v, A - v]) → G
  4. PointIn(Polygon[A + v, B + v, B - v, A - v]) → H
  5. PointIn(Polygon[A + v, B + v, B - v, A - v]) → I
  6. PointIn(Polygon[D + v, C + v, C - v, D - v]) → J
  7. PointIn(Polygon[D + v, C + v, C - v, D - v]) → K
  8. PointIn(Polygon[D + v, C + v, C - v, D - v]) → L
  9. PointIn(Polygon[A + v, B + v, B - v, A - v]) → Q
  10. Vector(A, B) → u
  11. Translate(G, Vector[u + v]) → G'
  12. Translate(H, Vector[u + v]) → H'
  13. Translate(I, Vector[u + v]) → I'
  14. Translate(J, Vector[u - v]) → J'
  15. Translate(K, Vector[u - v]) → K'
  16. Translate(L, Vector[u - v]) → L'
  17. Translate(Q, Vector[u + v]) → Q'
  18. Translate(Q', Vector[(-v) + u]) → Q''_1
  19. PointIn(Polygon[A + u, D + u, D - u, A - u]) → M
  20. Translate(M, Vector[(2 * u)]) → M'
  21. PointIn(Polygon[A + u, D + u, D - u, A - u]) → N
  22. Translate(N, Vector[(2 * u)]) → N'
  23. PointIn(Polygon[B + u, C + u, C - u, B - u]) → O
  24. PointIn(Polygon[B + u, C + u, C - u, B - u]) → P
  25. PointIn(Polygon[B + u, C + u, C - u, B - u]) → R
  26. Translate(R, Vector[v - u]) → R'
  27. Translate(R', Vector[u - v]) → R''
  28. Translate(R'', Vector[u + v]) → R'''
  29. Polygon(C, B, 4) → poly2, j, k, l, m, E, F
  30. Polygon(O, R, H', G', Q', P, J', K', L', Q''_1, M', N', R''', I') → poly4, e, a_1, b_1, c_1, d_1, e_1, f_1, m_1, n_1, p_1, q_1, r_1, s_1, t_1
  31. Polygon(Q, G, J, R', N, M, H, I, R, O, P, Q', L, K) → poly3, n, h_1, i_1, j_1, k_1, l_1, p, s, t, a, b, c, d, g_1
  32. Translate(A, Vector[(2 * u)]) → A'
  33. Translate(G, Vector[(2 * u)]) → G'_1
  34. Translate(H, Vector[(2 * u)]) → H'_1
  35. Translate(I, Vector[(2 * u)]) → I'_1
  36. Translate(B, Vector[(2 * u)]) → B'
  37. Translate(O, Vector[(2 * u)]) → O'
  38. Translate(P, Vector[(2 * u)]) → P'
  39. Translate(C, Vector[(2 * u)]) → C'
  40. Translate(L, Vector[(2 * u)]) → L'_1
  41. Translate(K, Vector[(2 * u)]) → K'_1
  42. Translate(J, Vector[(2 * u)]) → J'_1
  43. Translate(D, Vector[(2 * u)]) → D'
  44. Translate(N, Vector[(2 * u)]) → N'_1
  45. Translate(M, Vector[(2 * u)]) → M'_1
  46. Translate(A, Vector[(-2 * u)]) → A'_1
  47. Translate(G, Vector[(-2 * u)]) → G'_2
  48. Translate(H, Vector[(-2 * u)]) → H'_2
  49. Translate(I, Vector[(-2 * u)]) → I'_2
  50. Translate(B, Vector[(-2 * u)]) → B'_1
  51. Translate(O, Vector[(-2 * u)]) → O'_1
  52. Translate(P, Vector[(-2 * u)]) → P'_1
  53. Translate(C, Vector[(-2 * u)]) → C'_1
  54. Translate(L, Vector[(-2 * u)]) → L'_2
  55. Translate(K, Vector[(-2 * u)]) → K'_2
  56. Translate(J, Vector[(-2 * u)]) → J'_2
  57. Translate(D, Vector[(-2 * u)]) → D'_1
  58. Translate(N, Vector[(-2 * u)]) → N'_2
  59. Translate(M, Vector[(-2 * u)]) → M'_2
  60. Translate(O, Vector[(-2 * u)]) → O'_2
  61. Translate(B, Vector[(-2 * u)]) → B'_2
  62. Translate(J', Vector[(-2 * u)]) → J''
  63. Translate(K', Vector[(-2 * u)]) → K''
  64. Translate(L', Vector[(-2 * u)]) → L''
  65. Translate(E, Vector[(-2 * u)]) → E'
  66. Translate(M', Vector[(-2 * u)]) → M''
  67. Translate(N', Vector[(-2 * u)]) → N''
  68. Translate(F, Vector[(-2 * u)]) → F'
  69. Translate(I', Vector[(-2 * u)]) → I''
  70. Translate(H', Vector[(-2 * u)]) → H''
  71. Translate(G', Vector[(-2 * u)]) → G''
  72. Translate(C, Vector[(-2 * u)]) → C'_2
  73. Translate(P, Vector[(-2 * u)]) → P'_2
  74. Translate(C, Vector[u - v]) → C'_3
  75. Translate(J', Vector[(-u) - v]) → J''_1
  76. Translate(K', Vector[(-u) - v]) → K''_1
  77. Translate(L', Vector[(-u) - v]) → L''_1
  78. Translate(E, Vector[(-u) - v]) → E'_1
  79. Translate(M', Vector[(-u) - v]) → M''_1
  80. Translate(N', Vector[(-u) - v]) → N''_1
  81. Translate(F, Vector[(-u) - v]) → F'_1
  82. Translate(I', Vector[(-u) - v]) → I''_1
  83. Translate(H', Vector[(-u) - v]) → H''_1
  84. Translate(G', Vector[(-u) - v]) → G''_1
  85. Translate(Q', Vector[(-u) - v]) → Q''
  86. Sequence(Sequence[Polygon[Translate[Q, 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[R, 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[Q', 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[R', 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) → l1
  87. Sequence(Sequence[Polygon[Translate[O, Vector[(i * (u + v)) + (j * (u - v))]], Translate[R, 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[Q''_1, 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[R''', 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[Q', Vector[(i * (u + v)) + (j * (u - v))]], Translate[P, Vector[(i * (u + v)) + (j * (u - v))]]], i, (-q), q], j, (-q), q) → l2

AI Drawing Prompt Reference

Draw two quadrilaterals and use a vector to translate one of them in a specified direction, generating another quadrilateral at the translated position. Repeat the translation and combine these quadrilaterals to form a regular geometric pattern. First define the two quadrilaterals, then represent the translation direction and distance with a vector. Generate new points on the quadrilaterals based on the vector, connect these points to form new quadrilaterals, and finally create multiple copies through translation operations, combining all quadrilaterals to show the pattern formation process under translation.
The prompt above was compiled from the original drawing commands and is for reference only.