Girih Tiles: Construction and Symmetry of Islamic Geometric Patterns

Girih Tiles: Construction and Symmetry of Islamic Geometric Patterns
Loading the math board and drawing, please wait…
2019-03-06 18:21
This GeoGebra example demonstrates the construction of Girih tiles, a traditional Islamic geometric tiling pattern, by generating highly symmetric polygon combinations through rotations, reflections, and sequences. Core mathematical concepts include polygons, symmetry transformations (rotation and reflection), congruence, tangent lines, and self-similarity in fractal geometry. The construction uses GeoGebra commands such as Point, Rotate, Polygon, Midpoint, Segment, Intersect, Mirror, Centroid, Line, PolyLine, and Sequence, creating base objects like points O and A, then generating multiple copies (e.g., P', O', V', U') via rotation and mirroring to form the intricate tile pattern. This example is suitable for upper secondary or early university geometry courses, helping students explore symmetry transformations, tiling principles, and logical geometric construction.

GeoGebra Commands & Parameters

  1. Point(Circle[O, 4]) → N
  2. Rotate(N, 72°, O) → P
  3. Rotate(O, 72°, P) → Q
  4. Rotate(P, (-(144°)), Q) → P'
  5. Rotate(O, 144°, N) → O'
  6. Polygon(P, O, N, O', P', Q) → veelhoek1, p, o, n, o', p', q
  7. Midpoint(o) → R
  8. Midpoint(p) → S
  9. Midpoint(q) → T
  10. Midpoint(n) → U
  11. Midpoint(o') → V
  12. Midpoint(p') → W
  13. Segment(S, R) → f
  14. Segment(S, T) → g
  15. Segment(W, V) → h
  16. Segment(V, U) → i
  17. Rotate(V, 72°, U) → V'
  18. Rotate(U, 72°, U) → U'
  19. Segment(V', U') → i'
  20. Rotate(W, (-(72°)), W) → W'
  21. Rotate(V, (-(72°)), W) → V'_1
  22. Segment(W', V'_1) → h'
  23. Intersect(i', h') → Z
  24. Segment(Q, N) → j
  25. Mirror(Z, j) → Z'
  26. Segment(T, Z') → k
  27. Segment(Z', R) → l
  28. Segment(W, Z) → m
  29. Segment(Z, U) → r
  30. Point(Circle[I, 4]) → J
  31. Rotate(J, 72°, I) → J'
  32. Rotate(I, 108°, J') → H
  33. Polygon(I, J, H, J') → vierhoek1, i_1, j_1, h_1, j'
  34. Midpoint(h_1) → K
  35. Midpoint(j') → L
  36. Midpoint(i_1) → M
  37. Midpoint(j_1) → A_1
  38. Segment(K, A_1) → s
  39. Segment(M, L) → t
  40. Rotate(M, 72°, L) → M'
  41. Rotate(L, 72°, L) → L'
  42. Segment(M', L') → t'
  43. Rotate(K, (-(72°)), K) → K'
  44. Rotate(A_1, (-(72°)), K) → B_1
  45. Segment(K', B_1) → s'
  46. Intersect(t', s') → C_1
  47. Segment(L, C_1) → a
  48. Segment(C_1, K) → b
  49. Segment(I, H) → c
  50. Mirror(C_1, c) → D_1
  51. Segment(M, D_1) → d
  52. Segment(D_1, A_1) → e
  53. Point(Circle[E_1, 4]) → F
  54. Rotate(F, 72°, E_1) → FF
  55. Rotate(E_1, (-(144°)), F) → K_1
  56. Rotate(F, (-(144°)), K_1) → F'
  57. Rotate(E_1, 144°, FF) → C
  58. Polygon(E_1, F, K_1, F', C, FF) → veelhoek2, e_1, f_1, k_1, f', c_1, ff
  59. Midpoint(ff) → D
  60. Midpoint(c_1) → E
  61. Midpoint(f') → G
  62. Midpoint(k_1) → F_1
  63. Midpoint(f_1) → G_1
  64. Midpoint(e_1) → H_1
  65. Segment(D, H_1) → g_1
  66. Segment(G, F_1) → l_1
  67. Rotate(D, 72°, D) → D'
  68. Rotate(H_1, 72°, D) → I_1
  69. Segment(D', I_1) → m_1
  70. Segment(I_1, E) → n_1
  71. Rotate(I_1, 72°, E) → J_1
  72. Rotate(E, 72°, E) → E'
  73. Segment(J_1, E') → p_1
  74. Segment(J_1, G) → q_1
  75. Segment(E_1, F') → r_1
  76. Mirror(J_1, r_1) → L_1
  77. Mirror(I_1, r_1) → M_1
  78. Segment(H_1, M_1) → s_1
  79. Segment(M_1, G_1) → t_1
  80. Segment(G_1, L_1) → a_1
  81. Segment(L_1, F_1) → b_1
  82. Point(Circle[N_1, 4]) → O_1
  83. Polygon(N_1, O_1, 5) → veelhoek3, d_1, f_2, g_2, h_2, i_2, P_1, Q_1, R_1
  84. Centroid(veelhoek3) → S_1
  85. Midpoint(g_2) → T_1
  86. Midpoint(d_1) → U_1
  87. Midpoint(f_2) → V_1
  88. Rotate(O_1, 54°, U_1) → W_1
  89. Segment(U_1, W_1) → j_2
  90. Rotate(O_1, (-(54°)), V_1) → Z_1
  91. Segment(V_1, Z_1) → k_2
  92. Intersect(j_2, k_2) → A_2
  93. Segment(V_1, A_2) → l_2
  94. Segment(A_2, U_1) → m_2
  95. Midpoint(i_2) → C_2
  96. Midpoint(h_2) → D_2
  97. Rotate(V_1, 72°, S_1) → E_2
  98. Rotate(A_2, 72°, S_1) → F_2
  99. Segment(E_2, F_2) → n_2
  100. Segment(V_1, F_2) → p_2
  101. Segment(T_1, N_1) → q_2
  102. Rotate(A_2, (-(72°)), S_1) → G_2
  103. Segment(U_1, G_2) → r_2
  104. Segment(G_2, C_2) → s_2
  105. Rotate(A_2, (-(144°)), S_1) → B_2
  106. Segment(C_2, B_2) → t_2
  107. Segment(B_2, D_2) → a_2
  108. Rotate(A_2, 144°, S_1) → H_2
  109. Segment(T_1, H_2) → b_2
  110. Segment(H_2, D_2) → c_2
  111. Polygon(I_2, J_2, 10) → veelhoek4, d_2, m_3, K_2, L_2, M_2, N_2, O_2, P_2, Q_2, R_2, e_2, f_3, g_3, h_3, i_3, j_3, k_3, l_3
  112. Centroid(veelhoek4) → S_2
  113. Midpoint(f_3) → T_2
  114. Rotate(K_2, (-(54°)), T_2) → U_2
  115. Rotate(L_2, 54°, T_2) → V_2
  116. Line(T_2, V_2) → n_3
  117. Line(T_2, U_2) → p_3
  118. Midpoint(e_2) → W_2
  119. Rotate(K_2, 54°, W_2) → Z_2
  120. Line(W_2, Z_2) → q_3
  121. Intersect(p_3, q_3) → A_3
  122. Line(T_2, S_2) → r_3
  123. Intersect(q_3, r_3) → B_3
  124. Midpoint(g_3) → C_3
  125. Rotate(L_2, (-(54°)), C_3) → D_3
  126. Line(C_3, D_3) → s_3
  127. Intersect(n_3, s_3) → E_3
  128. PolyLine(T_2, E_3, B_3, A_3, T_2) → t_3
  129. Sequence(PolyLine[Rotate[T_2, (nn * 36°), S_2], Rotate[E_3, (nn * 36°), S_2], Rotate[B_3, (nn * 36°), S_2], Rotate[A_3, (nn * 36°), S_2], Rotate[T_2, (nn * 36°), S_2]], nn, 1, 9) → l1
  130. Point(Circle[F_3, 2.902117938185601]) → G_3
  131. Point(Circle[E_4, 4]) → F_4
  132. Rotate(F_4, 72°, E_4) → FF_1
  133. Rotate(E_4, (-(144°)), F_4) → K_3
  134. Rotate(F_4, (-(144°)), K_3) → F'_1
  135. Rotate(E_4, 144°, FF_1) → C_4
  136. Polygon(E_4, F_4, K_3, F'_1, C_4, FF_1) → veelhoek2_1, e_3, f_4, k_4, f'_1, c_4, ff_1
  137. Midpoint(ff_1) → D_4
  138. Midpoint(c_4) → E_5
  139. Midpoint(f'_1) → G_4
  140. Midpoint(k_4) → F_5
  141. Midpoint(f_4) → G_5
  142. Midpoint(e_3) → H_4
  143. Segment(D_4, H_4) → g_4
  144. Segment(G_4, F_5) → l_4
  145. Rotate(D_4, 72°, D_4) → D'_1
  146. Rotate(H_4, 72°, D_4) → I_3
  147. Segment(D'_1, I_3) → m_4
  148. Segment(I_3, E_5) → n_4
  149. Rotate(I_3, 72°, E_5) → J_3
  150. Rotate(E_5, 72°, E_5) → E'_1
  151. Segment(J_3, E'_1) → p_4
  152. Segment(J_3, G_4) → q_4
  153. Segment(E_4, F'_1) → r_4
  154. Mirror(J_3, r_4) → L_3
  155. Mirror(I_3, r_4) → M_3
  156. Segment(H_4, M_3) → s_4
  157. Segment(M_3, G_5) → t_4
  158. Segment(G_5, L_3) → a_4
  159. Segment(L_3, F_5) → b_4
  160. Point(Circle[O_3, 4]) → N_3
  161. Rotate(N_3, 72°, O_3) → P_3
  162. Rotate(O_3, 72°, P_3) → Q_3
  163. Rotate(P_3, (-(144°)), Q_3) → P'_1
  164. Rotate(O_3, 144°, N_3) → O'_1
  165. Polygon(P_3, O_3, N_3, O'_1, P'_1, Q_3) → veelhoek1_1, p_5, o_1, n_5, o'_1, p'_1, q_5
  166. Midpoint(o_1) → R_3
  167. Midpoint(p_5) → S_3
  168. Midpoint(q_5) → T_3
  169. Midpoint(n_5) → U_3
  170. Midpoint(o'_1) → V_3
  171. Midpoint(p'_1) → W_3
  172. Segment(S_3, R_3) → f_5
  173. Segment(S_3, T_3) → g_5
  174. Segment(W_3, V_3) → h_4
  175. Segment(V_3, U_3) → i_4
  176. Rotate(V_3, 72°, U_3) → V'_2
  177. Rotate(U_3, 72°, U_3) → U'_1
  178. Segment(V'_2, U'_1) → i'_1
  179. Rotate(W_3, (-(72°)), W_3) → W'_1
  180. Rotate(V_3, (-(72°)), W_3) → V'_3
  181. Segment(W'_1, V'_3) → h'_1
  182. Intersect(i'_1, h'_1) → Z_3
  183. Segment(Q_3, N_3) → j_4
  184. Mirror(Z_3, j_4) → Z'_1
  185. Segment(T_3, Z'_1) → k_5
  186. Segment(Z'_1, R_3) → l_5
  187. Segment(W_3, Z_3) → m_5
  188. Segment(Z_3, U_3) → r_5
  189. Point(Circle[I_4, 4]) → J_4
  190. Rotate(J_4, 72°, I_4) → J'_1
  191. Rotate(I_4, 108°, J'_1) → H_5
  192. Polygon(I_4, J_4, H_5, J'_1) → vierhoek1_1, i_5, j_5, h_5, j'_1
  193. Midpoint(h_5) → K_4
  194. Midpoint(j'_1) → L_4
  195. Midpoint(i_5) → M_4
  196. Midpoint(j_5) → A_4
  197. Segment(K_4, A_4) → s_5
  198. Segment(M_4, L_4) → t_5
  199. Rotate(M_4, 72°, L_4) → M'_1
  200. Rotate(L_4, 72°, L_4) → L'_1
  201. Segment(M'_1, L'_1) → t'_1
  202. Rotate(K_4, (-(72°)), K_4) → K'_1
  203. Rotate(A_4, (-(72°)), K_4) → B_4
  204. Segment(K'_1, B_4) → s'_1
  205. Intersect(t'_1, s'_1) → C_5
  206. Segment(L_4, C_5) → a_5
  207. Segment(C_5, K_4) → b_5
  208. Segment(I_4, H_5) → c_5
  209. Mirror(C_5, c_5) → D_5
  210. Segment(M_4, D_5) → d_3
  211. Segment(D_5, A_4) → e_4
  212. Point(Circle[N_4, 4]) → O_4
  213. Polygon(N_4, O_4, 5) → veelhoek3_1, d_4, f_6, g_6, h_6, i_6, P_4, Q_4, R_4
  214. Centroid(veelhoek3_1) → S_4
  215. Midpoint(g_6) → T_4
  216. Midpoint(d_4) → U_4
  217. Midpoint(f_6) → V_4
  218. Rotate(O_4, 54°, U_4) → W_4
  219. Segment(U_4, W_4) → j_6
  220. Rotate(O_4, (-(54°)), V_4) → Z_4
  221. Segment(V_4, Z_4) → k_6
  222. Intersect(j_6, k_6) → A_5
  223. Segment(V_4, A_5) → l_6
  224. Segment(A_5, U_4) → m_6
  225. Midpoint(i_6) → C_6
  226. Midpoint(h_6) → D_6
  227. Rotate(V_4, 72°, S_4) → E_6
  228. Rotate(A_5, 72°, S_4) → F_6
  229. Segment(E_6, F_6) → n_6
  230. Segment(V_4, F_6) → p_6
  231. Segment(T_4, N_4) → q_6
  232. Rotate(A_5, (-(72°)), S_4) → G_6
  233. Segment(U_4, G_6) → r_6
  234. Segment(G_6, C_6) → s_6
  235. Rotate(A_5, (-(144°)), S_4) → B_5
  236. Segment(C_6, B_5) → t_6
  237. Segment(B_5, D_6) → a_6
  238. Rotate(A_5, 144°, S_4) → H_6
  239. Segment(T_4, H_6) → b_6
  240. Segment(H_6, D_6) → c_6