Square Packing via Translation and Polygon Construction
Loading the math board and drawing, please wait…
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
Polygon(E, F, B, A) → P, e, f, b, aPolygon(J, G, F, I) → Q, j, g, f_1, iPolygon(L, K, E, G) → R, l, k, e_1, g_1Polygon(I, H, C, B) → S, i_1, h, c, b_1Polygon(N, M, D, C) → T, n, m, d, c_1Polygon(L, U, O, J) → V, l_1, u, o, j_1Polygon(W, Y, H, O) → Z, w, y, h_1, o_1Polygon(U, A_1, B_1, W) → P_1, u_1, a_1, b_2, w_1Polygon(B_1, Y, C_1, D_1) → Q_1, b_3, y_1, c_2, d_1Polygon(E_1, G_1, F_1, K) → R_1, e_2, g_2, f_2, k_1Polygon(G_1, H_1, I_1, J_1) → S_1, g_3, h_2, i_2, j_2Polygon(H_1, K_1, L_1, M_1) → T_1, h_3, k_2, l_2, m_1Polygon(M_1, N_1, O_1, I_1) → U_1, m_2, n_1, o_2, i_3Polygon(V_1, W_1, N_1, L_1) → Y_1, v_1, w_2, n_2, l_3Polygon(Z_1, A_2, M, V_1) → P_2, z_1, a_2, m_3, v_2Polygon(B_2, C_1, N, A_2) → Q_2, b_4, c_3, n_3, a_3Polygon(J_1, C_2, D_2, F_1) → R_2, j_3, c_4, d_2, f_3Polygon(A_1, D_2, E_2, D_1) → S_2, a_4, d_3, e_3, d_4Polygon(C_2, F_2, G_2, E_2) → T_2, c_5, f_4, g_4, e_4Polygon(H_2, Z_1, B_2, G_2) → U_2, h_4, z_2, b_5, g_5Polygon(H_2, F_2, O_1, W_1) → V_2, h_5, f_5, o_3, w_3Vector(I_2, J_2) → vVector(K_2, L_2) → zVector(O_2, W_2) → rTranslate(E_1, Vector[(p * v)]) → E_1'Translate(G_1, Vector[(p * v)]) → G_1'Translate(F_1, Vector[(p * v)]) → F_1'Translate(K, Vector[(p * v)]) → K'Polygon(E_1', G_1', F_1', K') → R_1', e_1', g_1', f_1', k'Translate(L, Vector[(p * z)]) → L'Translate(K, Vector[(p * z)]) → K'_1Translate(E, Vector[(p * z)]) → E'Translate(G, Vector[(p * z)]) → G'Polygon(L', K'_1, E', G') → R', l', k'_1, e', g'Vector(K_2, N_2) → qVector(K_2, M_2) → sVector(K_2, B_3) → tTranslate(E, Vector[(p * q)]) → E'_1Translate(F, Vector[(p * q)]) → F'Translate(B, Vector[(p * q)]) → B'Translate(A, Vector[(p * q)]) → A'Polygon(E'_1, F', B', A') → P', e'_1, f', b', a'Translate(J, Vector[(p * r)]) → J'Translate(G, Vector[(p * r)]) → G'_1Translate(F, Vector[(p * r)]) → F'_1Translate(I, Vector[(p * r)]) → I'Polygon(J', G'_1, F'_1, I') → Q', j', g'_1, f'_1, i'Translate(I, Vector[(p * t)]) → I'_1Translate(H, Vector[(p * t)]) → H'Translate(C, Vector[(p * t)]) → C'Translate(B, Vector[(p * t)]) → B'_1Polygon(I'_1, H', C', B'_1) → S', i'_1, h', c', b'_1Translate(L, Vector[(p * s)]) → L'_1Translate(U, Vector[(p * s)]) → U'Translate(O, Vector[(p * s)]) → O'Translate(J, Vector[(p * s)]) → J'_1Polygon(L'_1, U', O', J'_1) → V', l'_1, u', o', j'_1Vector(K_1, Y_2) → p_1Translate(U, Vector[(p * p_1)]) → U'_1Translate(A_1, Vector[(p * p_1)]) → A_1'Translate(B_1, Vector[(p * p_1)]) → B_1'Translate(W, Vector[(p * p_1)]) → W'Polygon(U'_1, A_1', B_1', W') → P_1', u'_1, a_1', b_1', w'Vector(K_1, Z_2) → q_1Translate(G_1, Vector[(p * q_1)]) → G_3Translate(H_1, Vector[(p * q_1)]) → H_1'Translate(I_1, Vector[(p * q_1)]) → I_1'Translate(J_1, Vector[(p * q_1)]) → J_1'Polygon(G_3, H_1', I_1', J_1') → S_1', g_6, h_1', i_1', j_1'Vector(A, A_3) → r_1Translate(J_1, Vector[(p * r_1)]) → J_3Translate(C_2, Vector[(p * r_1)]) → C_2'Translate(D_2, Vector[(p * r_1)]) → D_2'Translate(F_1, Vector[(p * r_1)]) → F_3Polygon(J_3, C_2', D_2', F_3) → R_2', j_4, c_2', d_2', f_6Vector(K_1, C_3) → s_1Translate(W, Vector[(p * s_1)]) → W'_1Translate(Y, Vector[(p * s_1)]) → Y'Translate(H, Vector[(p * s_1)]) → H'_1Translate(O, Vector[(p * s_1)]) → O'_1Polygon(W'_1, Y', H'_1, O'_1) → Z', w'_1, y', h'_1, o'_1Vector(K_1, D_3) → t_1Translate(B_1, Vector[(p * t_1)]) → B_4Translate(Y, Vector[(p * t_1)]) → Y'_1Translate(C_1, Vector[(p * t_1)]) → C_1'Translate(D_1, Vector[(p * t_1)]) → D_1'Polygon(B_4, Y'_1, C_1', D_1') → Q_1', b_6, y'_1, c_1', d_1'Vector(D, E_3) → u_2Translate(C_2, Vector[(p * u_2)]) → C_4Translate(F_2, Vector[(p * u_2)]) → F_2'Translate(G_2, Vector[(p * u_2)]) → G_2'Translate(E_2, Vector[(p * u_2)]) → E_2'Polygon(C_4, F_2', G_2', E_2') → T_2', c_6, f_2', g_2', e_2'Vector(D, H_3) → p_2Translate(A_1, Vector[(p * p_2)]) → A_4Translate(D_2, Vector[(p * p_2)]) → D_4Translate(E_2, Vector[(p * p_2)]) → E_4Translate(D_1, Vector[(p * p_2)]) → D_5Polygon(A_4, D_4, E_4, D_5) → S_2', a_5, d_5, e_5, d_6Vector(D, I_3) → q_2Vector(D, K_3) → r_2Vector(D, L_3) → s_2Vector(D, M_3) → t_2Vector(D, N_3) → u_3Vector(D, O_3) → v_3Vector(D, P_3) → z_3Translate(H_1, Vector[(p * q_2)]) → H_4Translate(K_1, Vector[(p * q_2)]) → K_1'Translate(L_1, Vector[(p * q_2)]) → L_1'Translate(M_1, Vector[(p * q_2)]) → M_1'Polygon(H_4, K_1', L_1', M_1') → T_1', h_6, k_1', l_1', m_1'Translate(M_1, Vector[(p * r_2)]) → M_4Translate(N_1, Vector[(p * r_2)]) → N_1'Translate(O_1, Vector[(p * r_2)]) → O_1'Translate(I_1, Vector[(p * r_2)]) → I_4Polygon(M_4, N_1', O_1', I_4) → U_1', m_4, n_1', o_1', i_4Translate(H_2, Vector[(p * s_2)]) → H_2'Translate(F_2, Vector[(p * s_2)]) → F_4Translate(O_1, Vector[(p * s_2)]) → O_4Translate(W_1, Vector[(p * s_2)]) → W_1'Polygon(H_2', F_4, O_4, W_1') → V_2', h_2', f_7, o_4, w_1'Translate(H_2, Vector[(p * t_2)]) → H_5Translate(Z_1, Vector[(p * t_2)]) → Z_1'Translate(B_2, Vector[(p * t_2)]) → B_2'Translate(G_2, Vector[(p * t_2)]) → G_4Polygon(H_5, Z_1', B_2', G_4) → U_2', h_7, z_1', b_2', g_7Translate(V_1, Vector[(p * u_3)]) → V_1'Translate(W_1, Vector[(p * u_3)]) → W_3Translate(N_1, Vector[(p * u_3)]) → N_4Translate(L_1, Vector[(p * u_3)]) → L_4Polygon(V_1', W_3, N_4, L_4) → Y_1', v_1', w_4, n_4, l_4Translate(N, Vector[(p * z_3)]) → N'Translate(M, Vector[(p * z_3)]) → M'Translate(D, Vector[(p * z_3)]) → D'Translate(C, Vector[(p * z_3)]) → C'_1Polygon(N', M', D', C'_1) → T', n', m', d', c'_1Vector(D, Q_3) → k_3Translate(Z_1, Vector[(p * k_3)]) → Z_3Translate(A_2, Vector[(p * k_3)]) → A_2'Translate(M, Vector[(p * k_3)]) → M'_1Translate(V_1, Vector[(p * k_3)]) → V_3Polygon(Z_3, A_2', M'_1, V_3) → P_2', z_4, a_2', m'_1, v_4Translate(B_2, Vector[(p * v_3)]) → B_5Translate(C_1, Vector[(p * v_3)]) → C_5Translate(N, Vector[(p * v_3)]) → N'_1Translate(A_2, Vector[(p * v_3)]) → A_5Polygon(B_5, C_5, N'_1, A_5) → Q_2', b_7, c_7, n'_1, a_6Polygon(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.