Turtle Tiles: Escher-Style Tessellation Construction
Loading the math board and drawing, please wait…
This example demonstrates how to construct an Escher-style tessellation of turtle-shaped tiles, inspired by Christopher Danielson's tiling turtles, using polygon rotations, reflections, and translations. The core mathematical concepts include plane tessellation, polygon transformations (rotation, reflection, translation), symmetry, and seamless geometric tiling. Construction highlights: based on the construction summary, the GeoGebra commands used include Polygon to create base polygons, PointIn to select interior points, Rotate and Mirror for transformations, and Line and PolyLine to assist boundary construction. Multiple objects (such as B, A, poly1, f, g, h, i, etc.) are iteratively combined to form the turtle outline and its repeating pattern. This example is suitable for middle school geometry lessons, mathematical art exploration, or teacher demonstrations, helping students intuitively understand the role of transformations in tessellation design and sparking interest in geometric aesthetics.
GeoGebra Commands & Parameters
Polygon(A, B, 4) → poly1, f, g, h, i, C, DPolygon(C, D, A, B) → poly2, j, k, l, mPointIn(poly2) → GPointIn(poly2) → HPointIn(poly2) → IPointIn(poly2) → JPointIn(poly2) → FPointIn(poly2) → EPolygon(A, B, C, J, I, H, G, F, E) → poly3, a, b, c, j_1, i_1, h_1, g_1, f_1, eRotate(A, 270°, C) → A'Rotate(B, 270°, C) → B'Rotate(C, 270°, C) → C'Rotate(J, 270°, C) → J'Rotate(I, 270°, C) → I'Rotate(H, 270°, C) → H'Rotate(G, 270°, C) → G'Rotate(F, 270°, C) → F'Rotate(E, 270°, C) → E'Polygon(A', B', C', J', I', H', G', F', E') → poly3', a', b', c', j', i', h', g', f', e'Line(A, B') → nMirror(E', n) → E''Mirror(F', n) → F''Mirror(G', n) → G''Mirror(H', n) → H''Mirror(I', n) → I''Mirror(J', n) → J''Mirror(C, n) → C'_1Mirror(J, n) → J'_1Mirror(I, n) → I'_1Mirror(H, n) → H'_1Mirror(G, n) → G'_1Mirror(F, n) → F'_1Mirror(E, n) → E'_1Polygon(A, E, H', G', F', E', A', E'', F'', G'', H'', I'', F, J'', C'_1, J'_1, I'_1, H'_1, G'_1, F'_1, E'_1, G, H, I, J, C, J', I') → poly4, a_1, i'_1, h'_1, g'_1, f'_1, e'_1, a'_1, e'', f'', g'', h'', e_1, i'', j'', c'_1, j'_2, i'_2, h'_2, g'_2, f'_2, e'_2, f_2, g_2, h_2, i_2, j_2, c_1, j'_1Rotate(A, 90°, C) → A'_1Rotate(E, 90°, C) → E'_2Rotate(F, 90°, C) → F'_2Rotate(G, 90°, C) → G'_2Rotate(H, 90°, C) → H'_2Rotate(I, 90°, C) → I'_2Rotate(J, 90°, C) → J'_2Rotate(C, 90°, C) → C'_2Rotate(J', 90°, C) → J''_1Rotate(I', 90°, C) → I''_1Rotate(H', 90°, C) → H''_1Rotate(G', 90°, C) → G''_1Rotate(F', 90°, C) → F''_1Rotate(E', 90°, C) → E''_1Rotate(A', 90°, C) → A''Rotate(E'', 90°, C) → E'''Rotate(F'', 90°, C) → F'''Rotate(G'', 90°, C) → G'''Rotate(H'', 90°, C) → H'''Rotate(I'', 90°, C) → I'''Rotate(J'', 90°, C) → J'''Rotate(C'_1, 90°, C) → KRotate(J'_1, 90°, C) → MRotate(I'_1, 90°, C) → NRotate(H'_1, 90°, C) → ORotate(G'_1, 90°, C) → PRotate(F'_1, 90°, C) → QRotate(E'_1, 90°, C) → RPolygon(A'_1, E'_2, H''_1, G''_1, F''_1, E''_1, A'', E''', F''', G''', H''', I''', F'_2, J''', K, M, N, O, P, Q, R, G'_2, H'_2, I'_2, J'_2, C'_2, J''_1, I''_1) → poly4', a'_2, i''_1, h''_1, g''_1, f''_1, e''_1, a'', e''', f''', g''', h''', e'_3, i''', j''', k_1, m_1, n_1, o, p, q, r, f'_3, g'_3, h'_3, i'_3, j'_3, c'_2, j''_1Rotate(A'_1, 90°, C) → SRotate(E'_2, 90°, C) → TRotate(F'_2, 90°, C) → URotate(G'_2, 90°, C) → VRotate(H'_2, 90°, C) → WRotate(I'_2, 90°, C) → ZRotate(J'_2, 90°, C) → A_1Rotate(C'_2, 90°, C) → B_1Rotate(J''_1, 90°, C) → C_1Rotate(I''_1, 90°, C) → D_1Rotate(H''_1, 90°, C) → E_1Rotate(G''_1, 90°, C) → F_1Rotate(F''_1, 90°, C) → G_1Rotate(E''_1, 90°, C) → H_1Rotate(A'', 90°, C) → A'''Rotate(E''', 90°, C) → I_1Rotate(F''', 90°, C) → J_1Rotate(G''', 90°, C) → K_1Rotate(H''', 90°, C) → L_1Rotate(I''', 90°, C) → M_1Rotate(J''', 90°, C) → N_1Rotate(K, 90°, C) → K'Rotate(M, 90°, C) → M'Rotate(N, 90°, C) → N'Rotate(O, 90°, C) → O'Rotate(P, 90°, C) → P'Rotate(Q, 90°, C) → Q'Rotate(R, 90°, C) → R'Polygon(S, T, E_1, F_1, G_1, H_1, A''', I_1, J_1, K_1, L_1, M_1, U, N_1, K', M', N', O', P', Q', R', V, W, Z, A_1, B_1, C_1, D_1) → poly4'', s, d_1, e_2, f_3, g_3, h_3, a''', i_3, j_3, k_2, l_1, t, m_2, n_2, k', m', n', o', p', q', r', u, v, w, z_1, a_2, b_1, c_2Rotate(S, 90°, C) → S'Rotate(T, 90°, C) → T'Rotate(U, 90°, C) → U'Rotate(V, 90°, C) → V'Rotate(W, 90°, C) → W'Rotate(Z, 90°, C) → Z'Rotate(A_1, 90°, C) → O_1Rotate(B_1, 90°, C) → P_1Rotate(C_1, 90°, C) → Q_1Rotate(D_1, 90°, C) → R_1Rotate(E_1, 90°, C) → S_1Rotate(F_1, 90°, C) → T_1Rotate(G_1, 90°, C) → U_1Rotate(H_1, 90°, C) → V_1Rotate(A''', 90°, C) → W_1Rotate(I_1, 90°, C) → Z_1Rotate(J_1, 90°, C) → A_2Rotate(K_1, 90°, C) → B_2Rotate(L_1, 90°, C) → C_2Rotate(M_1, 90°, C) → D_2Rotate(N_1, 90°, C) → E_2Rotate(K', 90°, C) → K''Rotate(M', 90°, C) → M''Rotate(N', 90°, C) → N''Rotate(O', 90°, C) → O''Rotate(P', 90°, C) → P''Rotate(Q', 90°, C) → Q''Rotate(R', 90°, C) → R''Polygon(S', T', S_1, T_1, U_1, V_1, W_1, Z_1, A_2, B_2, C_2, D_2, U', E_2, K'', M'', N'', O'', P'', Q'', R'', V', W', Z', O_1, P_1, Q_1, R_1) → poly4''', s', r_1, s_1, t_1, u_1, v_1, w_1, z_2, a_3, b_2, c_3, t', d_2, e_3, k'', m'', n'', o'', p'', q'', r'', u', v', w', z', o_1, p_1, q_1Rotate(A, 90°, C'_1) → A'_2Rotate(E, 90°, C'_1) → E'_3Rotate(F, 90°, C'_1) → F'_3Rotate(G, 90°, C'_1) → G'_3Rotate(H, 90°, C'_1) → H'_3Rotate(I, 90°, C'_1) → I'_3Rotate(J, 90°, C'_1) → J'_3Rotate(C, 90°, C'_1) → C'_3Rotate(J', 90°, C'_1) → J''_2Rotate(I', 90°, C'_1) → I''_2Rotate(H', 90°, C'_1) → H''_2Rotate(G', 90°, C'_1) → G''_2Rotate(F', 90°, C'_1) → F''_2Rotate(E', 90°, C'_1) → E''_2Rotate(A', 90°, C'_1) → A''_1Rotate(E'', 90°, C'_1) → E'''_1Rotate(F'', 90°, C'_1) → F'''_1Rotate(G'', 90°, C'_1) → G'''_1Rotate(H'', 90°, C'_1) → H'''_1Rotate(I'', 90°, C'_1) → I'''_1Rotate(J'', 90°, C'_1) → J'''_1Rotate(C'_1, 90°, C'_1) → F_2Rotate(J'_1, 90°, C'_1) → G_2Rotate(I'_1, 90°, C'_1) → H_2Rotate(H'_1, 90°, C'_1) → I_2Rotate(G'_1, 90°, C'_1) → J_2Rotate(F'_1, 90°, C'_1) → K_2Rotate(E'_1, 90°, C'_1) → L_2Polygon(A'_2, E'_3, H''_2, G''_2, F''_2, E''_2, A''_1, E'''_1, F'''_1, G'''_1, H'''_1, I'''_1, F'_3, J'''_1, F_2, G_2, H_2, I_2, J_2, K_2, L_2, G'_3, H'_3, I'_3, J'_3, C'_3, J''_2, I''_2) → poly4'_1, a'_3, i''_2, h''_2, g''_2, f''_2, e''_2, a''_1, e'''_1, f'''_1, g'''_1, h'''_1, e'_4, i'''_1, j'''_1, f_4, g_4, h_4, i_4, j_4, k_3, l_2, f'_4, g'_4, h'_4, i'_4, j'_4, c'_3, j''_2Rotate(A'_2, 90°, C'_1) → M_2Rotate(E'_3, 90°, C'_1) → N_2Rotate(F'_3, 90°, C'_1) → O_2Rotate(G'_3, 90°, C'_1) → P_2Rotate(H'_3, 90°, C'_1) → Q_2Rotate(I'_3, 90°, C'_1) → R_2Rotate(J'_3, 90°, C'_1) → S_2Rotate(C'_3, 90°, C'_1) → T_2Rotate(J''_2, 90°, C'_1) → U_2Rotate(I''_2, 90°, C'_1) → V_2Rotate(H''_2, 90°, C'_1) → W_2Rotate(G''_2, 90°, C'_1) → Z_2Rotate(F''_2, 90°, C'_1) → A_3Rotate(E''_2, 90°, C'_1) → B_3Rotate(A''_1, 90°, C'_1) → C_3Rotate(E'''_1, 90°, C'_1) → D_3Rotate(F'''_1, 90°, C'_1) → E_3Rotate(G'''_1, 90°, C'_1) → F_3Rotate(H'''_1, 90°, C'_1) → G_3Rotate(I'''_1, 90°, C'_1) → H_3Rotate(J'''_1, 90°, C'_1) → I_3Rotate(F_2, 90°, C'_1) → J_3Rotate(G_2, 90°, C'_1) → K_3Rotate(H_2, 90°, C'_1) → L_3Rotate(I_2, 90°, C'_1) → M_3Rotate(J_2, 90°, C'_1) → N_3Rotate(K_2, 90°, C'_1) → O_3Rotate(L_2, 90°, C'_1) → P_3Polygon(M_2, N_2, W_2, Z_2, A_3, B_3, C_3, D_3, E_3, F_3, G_3, H_3, O_2, I_3, J_3, K_3, L_3, M_3, N_3, O_3, P_3, P_2, Q_2, R_2, S_2, T_2, U_2, V_2) → poly5, m_3, v_2, w_2, z_3, a_4, b_3, c_4, d_3, e_4, f_5, g_5, n_3, h_5, i_5, j_5, k_4, l_3, m_4, n_4, o_3, p_3, o_2, p_2, q_2, r_2, s_2, t_2, u_2Rotate(M_2, 90°, C'_1) → Q_3Rotate(N_2, 90°, C'_1) → R_3Rotate(O_2, 90°, C'_1) → S_3Rotate(P_2, 90°, C'_1) → T_3Rotate(Q_2, 90°, C'_1) → U_3Rotate(R_2, 90°, C'_1) → V_3Rotate(S_2, 90°, C'_1) → W_3Rotate(T_2, 90°, C'_1) → Z_3Rotate(U_2, 90°, C'_1) → A_4Rotate(V_2, 90°, C'_1) → B_4Rotate(W_2, 90°, C'_1) → C_4Rotate(Z_2, 90°, C'_1) → D_4Rotate(A_3, 90°, C'_1) → E_4Rotate(B_3, 90°, C'_1) → F_4Rotate(C_3, 90°, C'_1) → G_4Rotate(D_3, 90°, C'_1) → H_4Rotate(E_3, 90°, C'_1) → I_4Rotate(F_3, 90°, C'_1) → J_4Rotate(G_3, 90°, C'_1) → K_4Rotate(H_3, 90°, C'_1) → L_4Rotate(I_3, 90°, C'_1) → M_4Rotate(J_3, 90°, C'_1) → N_4Rotate(K_3, 90°, C'_1) → O_4Rotate(L_3, 90°, C'_1) → P_4Rotate(M_3, 90°, C'_1) → Q_4Rotate(N_3, 90°, C'_1) → R_4Rotate(O_3, 90°, C'_1) → S_4Rotate(P_3, 90°, C'_1) → T_4Polygon(Q_3, R_3, C_4, D_4, E_4, F_4, G_4, H_4, I_4, J_4, K_4, L_4, S_3, M_4, N_4, O_4, P_4, Q_4, R_4, S_4, T_4, T_3, U_3, V_3, W_3, Z_3, A_4, B_4) → poly5', q_3, b_4, c_5, d_4, e_5, f_6, g_6, h_6, i_6, j_6, k_5, r_3, l_4, m_5, n_5, o_4, p_4, q_4, r_4, s_4, t_4, s_3, t_3, u_3, v_3, w_3, z_4, a_5Rotate(A, 180°, A) → A'_3Rotate(E, 180°, A) → E'_4Rotate(F, 180°, A) → F'_4Rotate(G, 180°, A) → G'_4Rotate(H, 180°, A) → H'_4Rotate(I, 180°, A) → I'_4Rotate(J, 180°, A) → J'_4Rotate(C, 180°, A) → C'_4Rotate(J', 180°, A) → J''_3Rotate(I', 180°, A) → I''_3Rotate(H', 180°, A) → H''_3Rotate(G', 180°, A) → G''_3Rotate(F', 180°, A) → F''_3Rotate(E', 180°, A) → E''_3Rotate(A', 180°, A) → A''_2Rotate(E'', 180°, A) → E'''_2Rotate(F'', 180°, A) → F'''_2Rotate(G'', 180°, A) → G'''_2Rotate(H'', 180°, A) → H'''_2Rotate(I'', 180°, A) → I'''_2Rotate(J'', 180°, A) → J'''_2Rotate(C'_1, 180°, A) → U_4Rotate(J'_1, 180°, A) → V_4Rotate(I'_1, 180°, A) → W_4Rotate(H'_1, 180°, A) → Z_4Rotate(G'_1, 180°, A) → A_5Rotate(F'_1, 180°, A) → B_5Rotate(E'_1, 180°, A) → C_5Polygon(A'_3, E'_4, H''_3, G''_3, F''_3, E''_3, A''_2, E'''_2, F'''_2, G'''_2, H'''_2, I'''_2, F'_4, J'''_2, U_4, V_4, W_4, Z_4, A_5, B_5, C_5, G'_4, H'_4, I'_4, J'_4, C'_4, J''_3, I''_3) → poly4'_2, a'_4, i''_3, h''_3, g''_3, f''_3, e''_3, a''_2, e'''_2, f'''_2, g'''_2, h'''_2, e'_5, i'''_2, j'''_2, u_4, v_4, w_4, z_5, a_6, b_5, c_6, f'_5, g'_5, h'_5, i'_5, j'_5, c'_4, j''_3Rotate(A, 180°, A') → A'_4Rotate(E, 180°, A') → E'_5Rotate(F, 180°, A') → F'_5Rotate(G, 180°, A') → G'_5Rotate(H, 180°, A') → H'_5Rotate(I, 180°, A') → I'_5Rotate(J, 180°, A') → J'_5Rotate(C, 180°, A') → C'_5Rotate(J', 180°, A') → J''_4Rotate(I', 180°, A') → I''_4Rotate(H', 180°, A') → H''_4Rotate(G', 180°, A') → G''_4Rotate(F', 180°, A') → F''_4Rotate(E', 180°, A') → E''_4Rotate(A', 180°, A') → A''_3Rotate(E'', 180°, A') → E'''_3Rotate(F'', 180°, A') → F'''_3Rotate(G'', 180°, A') → G'''_3Rotate(H'', 180°, A') → H'''_3Rotate(I'', 180°, A') → I'''_3Rotate(J'', 180°, A') → J'''_3Rotate(C'_1, 180°, A') → D_5Rotate(J'_1, 180°, A') → E_5Rotate(I'_1, 180°, A') → F_5Rotate(H'_1, 180°, A') → G_5Rotate(G'_1, 180°, A') → H_5Rotate(F'_1, 180°, A') → I_5Rotate(E'_1, 180°, A') → J_5Polygon(A'_4, E'_5, H''_4, G''_4, F''_4, E''_4, A''_3, E'''_3, F'''_3, G'''_3, H'''_3, I'''_3, F'_5, J'''_3, D_5, E_5, F_5, G_5, H_5, I_5, J_5, G'_5, H'_5, I'_5, J'_5, C'_5, J''_4, I''_4) → poly4'_3, a'_5, i''_4, h''_4, g''_4, f''_4, e''_4, a''_3, e'''_3, f'''_3, g'''_3, h'''_3, e'_6, i'''_3, j'''_3, d_5, e_6, f_7, g_7, h_7, i_7, j_7, f'_6, g'_6, h'_6, i'_6, j'_6, c'_5, j''_4PolyLine(A, B, C, D, A) → l_5Polygon(E, F, G, H, I, J, C, D) → poly6, e_7, f_8, g_8, h_8, i_8, j_8, c_7, d_6