Square Packing via Translation and Polygon Construction

Square Packing via Translation and Polygon Construction
Loading the math board and drawing, please wait…
2023-03-13 17:59
In collections geometriadinamica.es
This example demonstrates how to “pack” or assemble square (or square-composed) regions in the plane by building their boundary geometry and controlling how adjacent pieces meet or overlap. The key mathematics includes geometric construction, polygonal properties of squares, vector-based translation (transformations), and the relationship between corresponding vertices/edges that determines the intersection and boundary alignment. In construction, GeoGebra’s Polygon is used to create polygonal shapes from vertices, Vector defines the displacement needed to move one piece to another position, and Translate performs the actual translation of constructed objects. The model references many vertex points (e.g., A, B, C, …) and auxiliary points/vectors (e.g., e, f, b, a, j, g, etc.) to place multiple packed units consistently. Suitable for middle school through early university geometry and transformation lessons, it supports instruction on using vectors for translation and on constructing complex packed figures from simple polygon building blocks.

GeoGebra Commands & Parameters

  1. Polygon(E, F, B, A) → P, e, f, b, a
  2. Polygon(J, G, F, I) → Q, j, g, f_1, i
  3. Polygon(L, K, E, G) → R, l, k, e_1, g_1
  4. Polygon(I, H, C, B) → S, i_1, h, c, b_1
  5. Polygon(N, M, D, C) → T, n, m, d, c_1
  6. Polygon(L, U, O, J) → V, l_1, u, o, j_1
  7. Polygon(W, Y, H, O) → Z, w, y, h_1, o_1
  8. Polygon(U, A_1, B_1, W) → P_1, u_1, a_1, b_2, w_1
  9. Polygon(B_1, Y, C_1, D_1) → Q_1, b_3, y_1, c_2, d_1
  10. Polygon(E_1, G_1, F_1, K) → R_1, e_2, g_2, f_2, k_1
  11. Polygon(G_1, H_1, I_1, J_1) → S_1, g_3, h_2, i_2, j_2
  12. Polygon(H_1, K_1, L_1, M_1) → T_1, h_3, k_2, l_2, m_1
  13. Polygon(M_1, N_1, O_1, I_1) → U_1, m_2, n_1, o_2, i_3
  14. Polygon(V_1, W_1, N_1, L_1) → Y_1, v_1, w_2, n_2, l_3
  15. Polygon(Z_1, A_2, M, V_1) → P_2, z_1, a_2, m_3, v_2
  16. Polygon(B_2, C_1, N, A_2) → Q_2, b_4, c_3, n_3, a_3
  17. Polygon(J_1, C_2, D_2, F_1) → R_2, j_3, c_4, d_2, f_3
  18. Polygon(A_1, D_2, E_2, D_1) → S_2, a_4, d_3, e_3, d_4
  19. Polygon(C_2, F_2, G_2, E_2) → T_2, c_5, f_4, g_4, e_4
  20. Polygon(H_2, Z_1, B_2, G_2) → U_2, h_4, z_2, b_5, g_5
  21. Polygon(H_2, F_2, O_1, W_1) → V_2, h_5, f_5, o_3, w_3
  22. Vector(I_2, J_2) → v
  23. Vector(K_2, L_2) → z
  24. Vector(O_2, W_2) → r
  25. Translate(E_1, Vector[(p * v)]) → E_1'
  26. Translate(G_1, Vector[(p * v)]) → G_1'
  27. Translate(F_1, Vector[(p * v)]) → F_1'
  28. Translate(K, Vector[(p * v)]) → K'
  29. Polygon(E_1', G_1', F_1', K') → R_1', e_1', g_1', f_1', k'
  30. Translate(L, Vector[(p * z)]) → L'
  31. Translate(K, Vector[(p * z)]) → K'_1
  32. Translate(E, Vector[(p * z)]) → E'
  33. Translate(G, Vector[(p * z)]) → G'
  34. Polygon(L', K'_1, E', G') → R', l', k'_1, e', g'
  35. Vector(K_2, N_2) → q
  36. Vector(K_2, M_2) → s
  37. Vector(K_2, B_3) → t
  38. Translate(E, Vector[(p * q)]) → E'_1
  39. Translate(F, Vector[(p * q)]) → F'
  40. Translate(B, Vector[(p * q)]) → B'
  41. Translate(A, Vector[(p * q)]) → A'
  42. Polygon(E'_1, F', B', A') → P', e'_1, f', b', a'
  43. Translate(J, Vector[(p * r)]) → J'
  44. Translate(G, Vector[(p * r)]) → G'_1
  45. Translate(F, Vector[(p * r)]) → F'_1
  46. Translate(I, Vector[(p * r)]) → I'
  47. Polygon(J', G'_1, F'_1, I') → Q', j', g'_1, f'_1, i'
  48. Translate(I, Vector[(p * t)]) → I'_1
  49. Translate(H, Vector[(p * t)]) → H'
  50. Translate(C, Vector[(p * t)]) → C'
  51. Translate(B, Vector[(p * t)]) → B'_1
  52. Polygon(I'_1, H', C', B'_1) → S', i'_1, h', c', b'_1
  53. Translate(L, Vector[(p * s)]) → L'_1
  54. Translate(U, Vector[(p * s)]) → U'
  55. Translate(O, Vector[(p * s)]) → O'
  56. Translate(J, Vector[(p * s)]) → J'_1
  57. Polygon(L'_1, U', O', J'_1) → V', l'_1, u', o', j'_1
  58. Vector(K_1, Y_2) → p_1
  59. Translate(U, Vector[(p * p_1)]) → U'_1
  60. Translate(A_1, Vector[(p * p_1)]) → A_1'
  61. Translate(B_1, Vector[(p * p_1)]) → B_1'
  62. Translate(W, Vector[(p * p_1)]) → W'
  63. Polygon(U'_1, A_1', B_1', W') → P_1', u'_1, a_1', b_1', w'
  64. Vector(K_1, Z_2) → q_1
  65. Translate(G_1, Vector[(p * q_1)]) → G_3
  66. Translate(H_1, Vector[(p * q_1)]) → H_1'
  67. Translate(I_1, Vector[(p * q_1)]) → I_1'
  68. Translate(J_1, Vector[(p * q_1)]) → J_1'
  69. Polygon(G_3, H_1', I_1', J_1') → S_1', g_6, h_1', i_1', j_1'
  70. Vector(A, A_3) → r_1
  71. Translate(J_1, Vector[(p * r_1)]) → J_3
  72. Translate(C_2, Vector[(p * r_1)]) → C_2'
  73. Translate(D_2, Vector[(p * r_1)]) → D_2'
  74. Translate(F_1, Vector[(p * r_1)]) → F_3
  75. Polygon(J_3, C_2', D_2', F_3) → R_2', j_4, c_2', d_2', f_6
  76. Vector(K_1, C_3) → s_1
  77. Translate(W, Vector[(p * s_1)]) → W'_1
  78. Translate(Y, Vector[(p * s_1)]) → Y'
  79. Translate(H, Vector[(p * s_1)]) → H'_1
  80. Translate(O, Vector[(p * s_1)]) → O'_1
  81. Polygon(W'_1, Y', H'_1, O'_1) → Z', w'_1, y', h'_1, o'_1
  82. Vector(K_1, D_3) → t_1
  83. Translate(B_1, Vector[(p * t_1)]) → B_4
  84. Translate(Y, Vector[(p * t_1)]) → Y'_1
  85. Translate(C_1, Vector[(p * t_1)]) → C_1'
  86. Translate(D_1, Vector[(p * t_1)]) → D_1'
  87. Polygon(B_4, Y'_1, C_1', D_1') → Q_1', b_6, y'_1, c_1', d_1'
  88. Vector(D, E_3) → u_2
  89. Translate(C_2, Vector[(p * u_2)]) → C_4
  90. Translate(F_2, Vector[(p * u_2)]) → F_2'
  91. Translate(G_2, Vector[(p * u_2)]) → G_2'
  92. Translate(E_2, Vector[(p * u_2)]) → E_2'
  93. Polygon(C_4, F_2', G_2', E_2') → T_2', c_6, f_2', g_2', e_2'
  94. Vector(D, H_3) → p_2
  95. Translate(A_1, Vector[(p * p_2)]) → A_4
  96. Translate(D_2, Vector[(p * p_2)]) → D_4
  97. Translate(E_2, Vector[(p * p_2)]) → E_4
  98. Translate(D_1, Vector[(p * p_2)]) → D_5
  99. Polygon(A_4, D_4, E_4, D_5) → S_2', a_5, d_5, e_5, d_6
  100. Vector(D, I_3) → q_2
  101. Vector(D, K_3) → r_2
  102. Vector(D, L_3) → s_2
  103. Vector(D, M_3) → t_2
  104. Vector(D, N_3) → u_3
  105. Vector(D, O_3) → v_3
  106. Vector(D, P_3) → z_3
  107. Translate(H_1, Vector[(p * q_2)]) → H_4
  108. Translate(K_1, Vector[(p * q_2)]) → K_1'
  109. Translate(L_1, Vector[(p * q_2)]) → L_1'
  110. Translate(M_1, Vector[(p * q_2)]) → M_1'
  111. Polygon(H_4, K_1', L_1', M_1') → T_1', h_6, k_1', l_1', m_1'
  112. Translate(M_1, Vector[(p * r_2)]) → M_4
  113. Translate(N_1, Vector[(p * r_2)]) → N_1'
  114. Translate(O_1, Vector[(p * r_2)]) → O_1'
  115. Translate(I_1, Vector[(p * r_2)]) → I_4
  116. Polygon(M_4, N_1', O_1', I_4) → U_1', m_4, n_1', o_1', i_4
  117. Translate(H_2, Vector[(p * s_2)]) → H_2'
  118. Translate(F_2, Vector[(p * s_2)]) → F_4
  119. Translate(O_1, Vector[(p * s_2)]) → O_4
  120. Translate(W_1, Vector[(p * s_2)]) → W_1'
  121. Polygon(H_2', F_4, O_4, W_1') → V_2', h_2', f_7, o_4, w_1'
  122. Translate(H_2, Vector[(p * t_2)]) → H_5
  123. Translate(Z_1, Vector[(p * t_2)]) → Z_1'
  124. Translate(B_2, Vector[(p * t_2)]) → B_2'
  125. Translate(G_2, Vector[(p * t_2)]) → G_4
  126. Polygon(H_5, Z_1', B_2', G_4) → U_2', h_7, z_1', b_2', g_7
  127. Translate(V_1, Vector[(p * u_3)]) → V_1'
  128. Translate(W_1, Vector[(p * u_3)]) → W_3
  129. Translate(N_1, Vector[(p * u_3)]) → N_4
  130. Translate(L_1, Vector[(p * u_3)]) → L_4
  131. Polygon(V_1', W_3, N_4, L_4) → Y_1', v_1', w_4, n_4, l_4
  132. Translate(N, Vector[(p * z_3)]) → N'
  133. Translate(M, Vector[(p * z_3)]) → M'
  134. Translate(D, Vector[(p * z_3)]) → D'
  135. Translate(C, Vector[(p * z_3)]) → C'_1
  136. Polygon(N', M', D', C'_1) → T', n', m', d', c'_1
  137. Vector(D, Q_3) → k_3
  138. Translate(Z_1, Vector[(p * k_3)]) → Z_3
  139. Translate(A_2, Vector[(p * k_3)]) → A_2'
  140. Translate(M, Vector[(p * k_3)]) → M'_1
  141. Translate(V_1, Vector[(p * k_3)]) → V_3
  142. Polygon(Z_3, A_2', M'_1, V_3) → P_2', z_4, a_2', m'_1, v_4
  143. Translate(B_2, Vector[(p * v_3)]) → B_5
  144. Translate(C_1, Vector[(p * v_3)]) → C_5
  145. Translate(N, Vector[(p * v_3)]) → N'_1
  146. Translate(A_2, Vector[(p * v_3)]) → A_5
  147. Polygon(B_5, C_5, N'_1, A_5) → Q_2', b_7, c_7, n'_1, a_6
  148. Polygon(A, E_1, K_1, D) → R_3, a_7, e_6, k_4, d_7

AI Drawing Prompt Reference

Draw a pattern composed of multiple squares using translation and polygon construction. Start by creating several squares, then use translation with vectors to build a larger pattern. Ensure adjacent squares align correctly by defining the translation direction with vectors. Gradually build multiple layers of squares to form a complex design.
The prompt above was compiled from the original drawing commands and is for reference only.