Turtle Tiles: Escher-Style Tessellation Construction

Turtle Tiles: Escher-Style Tessellation Construction
Loading the math board and drawing, please wait…
2016-06-29 03:19
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

  1. Polygon(A, B, 4) → poly1, f, g, h, i, C, D
  2. Polygon(C, D, A, B) → poly2, j, k, l, m
  3. PointIn(poly2) → G
  4. PointIn(poly2) → H
  5. PointIn(poly2) → I
  6. PointIn(poly2) → J
  7. PointIn(poly2) → F
  8. PointIn(poly2) → E
  9. Polygon(A, B, C, J, I, H, G, F, E) → poly3, a, b, c, j_1, i_1, h_1, g_1, f_1, e
  10. Rotate(A, 270°, C) → A'
  11. Rotate(B, 270°, C) → B'
  12. Rotate(C, 270°, C) → C'
  13. Rotate(J, 270°, C) → J'
  14. Rotate(I, 270°, C) → I'
  15. Rotate(H, 270°, C) → H'
  16. Rotate(G, 270°, C) → G'
  17. Rotate(F, 270°, C) → F'
  18. Rotate(E, 270°, C) → E'
  19. Polygon(A', B', C', J', I', H', G', F', E') → poly3', a', b', c', j', i', h', g', f', e'
  20. Line(A, B') → n
  21. Mirror(E', n) → E''
  22. Mirror(F', n) → F''
  23. Mirror(G', n) → G''
  24. Mirror(H', n) → H''
  25. Mirror(I', n) → I''
  26. Mirror(J', n) → J''
  27. Mirror(C, n) → C'_1
  28. Mirror(J, n) → J'_1
  29. Mirror(I, n) → I'_1
  30. Mirror(H, n) → H'_1
  31. Mirror(G, n) → G'_1
  32. Mirror(F, n) → F'_1
  33. Mirror(E, n) → E'_1
  34. Polygon(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'_1
  35. Rotate(A, 90°, C) → A'_1
  36. Rotate(E, 90°, C) → E'_2
  37. Rotate(F, 90°, C) → F'_2
  38. Rotate(G, 90°, C) → G'_2
  39. Rotate(H, 90°, C) → H'_2
  40. Rotate(I, 90°, C) → I'_2
  41. Rotate(J, 90°, C) → J'_2
  42. Rotate(C, 90°, C) → C'_2
  43. Rotate(J', 90°, C) → J''_1
  44. Rotate(I', 90°, C) → I''_1
  45. Rotate(H', 90°, C) → H''_1
  46. Rotate(G', 90°, C) → G''_1
  47. Rotate(F', 90°, C) → F''_1
  48. Rotate(E', 90°, C) → E''_1
  49. Rotate(A', 90°, C) → A''
  50. Rotate(E'', 90°, C) → E'''
  51. Rotate(F'', 90°, C) → F'''
  52. Rotate(G'', 90°, C) → G'''
  53. Rotate(H'', 90°, C) → H'''
  54. Rotate(I'', 90°, C) → I'''
  55. Rotate(J'', 90°, C) → J'''
  56. Rotate(C'_1, 90°, C) → K
  57. Rotate(J'_1, 90°, C) → M
  58. Rotate(I'_1, 90°, C) → N
  59. Rotate(H'_1, 90°, C) → O
  60. Rotate(G'_1, 90°, C) → P
  61. Rotate(F'_1, 90°, C) → Q
  62. Rotate(E'_1, 90°, C) → R
  63. Polygon(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''_1
  64. Rotate(A'_1, 90°, C) → S
  65. Rotate(E'_2, 90°, C) → T
  66. Rotate(F'_2, 90°, C) → U
  67. Rotate(G'_2, 90°, C) → V
  68. Rotate(H'_2, 90°, C) → W
  69. Rotate(I'_2, 90°, C) → Z
  70. Rotate(J'_2, 90°, C) → A_1
  71. Rotate(C'_2, 90°, C) → B_1
  72. Rotate(J''_1, 90°, C) → C_1
  73. Rotate(I''_1, 90°, C) → D_1
  74. Rotate(H''_1, 90°, C) → E_1
  75. Rotate(G''_1, 90°, C) → F_1
  76. Rotate(F''_1, 90°, C) → G_1
  77. Rotate(E''_1, 90°, C) → H_1
  78. Rotate(A'', 90°, C) → A'''
  79. Rotate(E''', 90°, C) → I_1
  80. Rotate(F''', 90°, C) → J_1
  81. Rotate(G''', 90°, C) → K_1
  82. Rotate(H''', 90°, C) → L_1
  83. Rotate(I''', 90°, C) → M_1
  84. Rotate(J''', 90°, C) → N_1
  85. Rotate(K, 90°, C) → K'
  86. Rotate(M, 90°, C) → M'
  87. Rotate(N, 90°, C) → N'
  88. Rotate(O, 90°, C) → O'
  89. Rotate(P, 90°, C) → P'
  90. Rotate(Q, 90°, C) → Q'
  91. Rotate(R, 90°, C) → R'
  92. 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_2
  93. Rotate(S, 90°, C) → S'
  94. Rotate(T, 90°, C) → T'
  95. Rotate(U, 90°, C) → U'
  96. Rotate(V, 90°, C) → V'
  97. Rotate(W, 90°, C) → W'
  98. Rotate(Z, 90°, C) → Z'
  99. Rotate(A_1, 90°, C) → O_1
  100. Rotate(B_1, 90°, C) → P_1
  101. Rotate(C_1, 90°, C) → Q_1
  102. Rotate(D_1, 90°, C) → R_1
  103. Rotate(E_1, 90°, C) → S_1
  104. Rotate(F_1, 90°, C) → T_1
  105. Rotate(G_1, 90°, C) → U_1
  106. Rotate(H_1, 90°, C) → V_1
  107. Rotate(A''', 90°, C) → W_1
  108. Rotate(I_1, 90°, C) → Z_1
  109. Rotate(J_1, 90°, C) → A_2
  110. Rotate(K_1, 90°, C) → B_2
  111. Rotate(L_1, 90°, C) → C_2
  112. Rotate(M_1, 90°, C) → D_2
  113. Rotate(N_1, 90°, C) → E_2
  114. Rotate(K', 90°, C) → K''
  115. Rotate(M', 90°, C) → M''
  116. Rotate(N', 90°, C) → N''
  117. Rotate(O', 90°, C) → O''
  118. Rotate(P', 90°, C) → P''
  119. Rotate(Q', 90°, C) → Q''
  120. Rotate(R', 90°, C) → R''
  121. 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_1
  122. Rotate(A, 90°, C'_1) → A'_2
  123. Rotate(E, 90°, C'_1) → E'_3
  124. Rotate(F, 90°, C'_1) → F'_3
  125. Rotate(G, 90°, C'_1) → G'_3
  126. Rotate(H, 90°, C'_1) → H'_3
  127. Rotate(I, 90°, C'_1) → I'_3
  128. Rotate(J, 90°, C'_1) → J'_3
  129. Rotate(C, 90°, C'_1) → C'_3
  130. Rotate(J', 90°, C'_1) → J''_2
  131. Rotate(I', 90°, C'_1) → I''_2
  132. Rotate(H', 90°, C'_1) → H''_2
  133. Rotate(G', 90°, C'_1) → G''_2
  134. Rotate(F', 90°, C'_1) → F''_2
  135. Rotate(E', 90°, C'_1) → E''_2
  136. Rotate(A', 90°, C'_1) → A''_1
  137. Rotate(E'', 90°, C'_1) → E'''_1
  138. Rotate(F'', 90°, C'_1) → F'''_1
  139. Rotate(G'', 90°, C'_1) → G'''_1
  140. Rotate(H'', 90°, C'_1) → H'''_1
  141. Rotate(I'', 90°, C'_1) → I'''_1
  142. Rotate(J'', 90°, C'_1) → J'''_1
  143. Rotate(C'_1, 90°, C'_1) → F_2
  144. Rotate(J'_1, 90°, C'_1) → G_2
  145. Rotate(I'_1, 90°, C'_1) → H_2
  146. Rotate(H'_1, 90°, C'_1) → I_2
  147. Rotate(G'_1, 90°, C'_1) → J_2
  148. Rotate(F'_1, 90°, C'_1) → K_2
  149. Rotate(E'_1, 90°, C'_1) → L_2
  150. Polygon(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''_2
  151. Rotate(A'_2, 90°, C'_1) → M_2
  152. Rotate(E'_3, 90°, C'_1) → N_2
  153. Rotate(F'_3, 90°, C'_1) → O_2
  154. Rotate(G'_3, 90°, C'_1) → P_2
  155. Rotate(H'_3, 90°, C'_1) → Q_2
  156. Rotate(I'_3, 90°, C'_1) → R_2
  157. Rotate(J'_3, 90°, C'_1) → S_2
  158. Rotate(C'_3, 90°, C'_1) → T_2
  159. Rotate(J''_2, 90°, C'_1) → U_2
  160. Rotate(I''_2, 90°, C'_1) → V_2
  161. Rotate(H''_2, 90°, C'_1) → W_2
  162. Rotate(G''_2, 90°, C'_1) → Z_2
  163. Rotate(F''_2, 90°, C'_1) → A_3
  164. Rotate(E''_2, 90°, C'_1) → B_3
  165. Rotate(A''_1, 90°, C'_1) → C_3
  166. Rotate(E'''_1, 90°, C'_1) → D_3
  167. Rotate(F'''_1, 90°, C'_1) → E_3
  168. Rotate(G'''_1, 90°, C'_1) → F_3
  169. Rotate(H'''_1, 90°, C'_1) → G_3
  170. Rotate(I'''_1, 90°, C'_1) → H_3
  171. Rotate(J'''_1, 90°, C'_1) → I_3
  172. Rotate(F_2, 90°, C'_1) → J_3
  173. Rotate(G_2, 90°, C'_1) → K_3
  174. Rotate(H_2, 90°, C'_1) → L_3
  175. Rotate(I_2, 90°, C'_1) → M_3
  176. Rotate(J_2, 90°, C'_1) → N_3
  177. Rotate(K_2, 90°, C'_1) → O_3
  178. Rotate(L_2, 90°, C'_1) → P_3
  179. Polygon(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_2
  180. Rotate(M_2, 90°, C'_1) → Q_3
  181. Rotate(N_2, 90°, C'_1) → R_3
  182. Rotate(O_2, 90°, C'_1) → S_3
  183. Rotate(P_2, 90°, C'_1) → T_3
  184. Rotate(Q_2, 90°, C'_1) → U_3
  185. Rotate(R_2, 90°, C'_1) → V_3
  186. Rotate(S_2, 90°, C'_1) → W_3
  187. Rotate(T_2, 90°, C'_1) → Z_3
  188. Rotate(U_2, 90°, C'_1) → A_4
  189. Rotate(V_2, 90°, C'_1) → B_4
  190. Rotate(W_2, 90°, C'_1) → C_4
  191. Rotate(Z_2, 90°, C'_1) → D_4
  192. Rotate(A_3, 90°, C'_1) → E_4
  193. Rotate(B_3, 90°, C'_1) → F_4
  194. Rotate(C_3, 90°, C'_1) → G_4
  195. Rotate(D_3, 90°, C'_1) → H_4
  196. Rotate(E_3, 90°, C'_1) → I_4
  197. Rotate(F_3, 90°, C'_1) → J_4
  198. Rotate(G_3, 90°, C'_1) → K_4
  199. Rotate(H_3, 90°, C'_1) → L_4
  200. Rotate(I_3, 90°, C'_1) → M_4
  201. Rotate(J_3, 90°, C'_1) → N_4
  202. Rotate(K_3, 90°, C'_1) → O_4
  203. Rotate(L_3, 90°, C'_1) → P_4
  204. Rotate(M_3, 90°, C'_1) → Q_4
  205. Rotate(N_3, 90°, C'_1) → R_4
  206. Rotate(O_3, 90°, C'_1) → S_4
  207. Rotate(P_3, 90°, C'_1) → T_4
  208. Polygon(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_5
  209. Rotate(A, 180°, A) → A'_3
  210. Rotate(E, 180°, A) → E'_4
  211. Rotate(F, 180°, A) → F'_4
  212. Rotate(G, 180°, A) → G'_4
  213. Rotate(H, 180°, A) → H'_4
  214. Rotate(I, 180°, A) → I'_4
  215. Rotate(J, 180°, A) → J'_4
  216. Rotate(C, 180°, A) → C'_4
  217. Rotate(J', 180°, A) → J''_3
  218. Rotate(I', 180°, A) → I''_3
  219. Rotate(H', 180°, A) → H''_3
  220. Rotate(G', 180°, A) → G''_3
  221. Rotate(F', 180°, A) → F''_3
  222. Rotate(E', 180°, A) → E''_3
  223. Rotate(A', 180°, A) → A''_2
  224. Rotate(E'', 180°, A) → E'''_2
  225. Rotate(F'', 180°, A) → F'''_2
  226. Rotate(G'', 180°, A) → G'''_2
  227. Rotate(H'', 180°, A) → H'''_2
  228. Rotate(I'', 180°, A) → I'''_2
  229. Rotate(J'', 180°, A) → J'''_2
  230. Rotate(C'_1, 180°, A) → U_4
  231. Rotate(J'_1, 180°, A) → V_4
  232. Rotate(I'_1, 180°, A) → W_4
  233. Rotate(H'_1, 180°, A) → Z_4
  234. Rotate(G'_1, 180°, A) → A_5
  235. Rotate(F'_1, 180°, A) → B_5
  236. Rotate(E'_1, 180°, A) → C_5
  237. Polygon(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''_3
  238. Rotate(A, 180°, A') → A'_4
  239. Rotate(E, 180°, A') → E'_5
  240. Rotate(F, 180°, A') → F'_5
  241. Rotate(G, 180°, A') → G'_5
  242. Rotate(H, 180°, A') → H'_5
  243. Rotate(I, 180°, A') → I'_5
  244. Rotate(J, 180°, A') → J'_5
  245. Rotate(C, 180°, A') → C'_5
  246. Rotate(J', 180°, A') → J''_4
  247. Rotate(I', 180°, A') → I''_4
  248. Rotate(H', 180°, A') → H''_4
  249. Rotate(G', 180°, A') → G''_4
  250. Rotate(F', 180°, A') → F''_4
  251. Rotate(E', 180°, A') → E''_4
  252. Rotate(A', 180°, A') → A''_3
  253. Rotate(E'', 180°, A') → E'''_3
  254. Rotate(F'', 180°, A') → F'''_3
  255. Rotate(G'', 180°, A') → G'''_3
  256. Rotate(H'', 180°, A') → H'''_3
  257. Rotate(I'', 180°, A') → I'''_3
  258. Rotate(J'', 180°, A') → J'''_3
  259. Rotate(C'_1, 180°, A') → D_5
  260. Rotate(J'_1, 180°, A') → E_5
  261. Rotate(I'_1, 180°, A') → F_5
  262. Rotate(H'_1, 180°, A') → G_5
  263. Rotate(G'_1, 180°, A') → H_5
  264. Rotate(F'_1, 180°, A') → I_5
  265. Rotate(E'_1, 180°, A') → J_5
  266. Polygon(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''_4
  267. PolyLine(A, B, C, D, A) → l_5
  268. Polygon(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