Girih Tiles: Construction and Symmetry of Islamic Geometric Patterns
Loading the math board and drawing, please wait…
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
Point(Circle[O, 4]) → NRotate(N, 72°, O) → PRotate(O, 72°, P) → QRotate(P, (-(144°)), Q) → P'Rotate(O, 144°, N) → O'Polygon(P, O, N, O', P', Q) → veelhoek1, p, o, n, o', p', qMidpoint(o) → RMidpoint(p) → SMidpoint(q) → TMidpoint(n) → UMidpoint(o') → VMidpoint(p') → WSegment(S, R) → fSegment(S, T) → gSegment(W, V) → hSegment(V, U) → iRotate(V, 72°, U) → V'Rotate(U, 72°, U) → U'Segment(V', U') → i'Rotate(W, (-(72°)), W) → W'Rotate(V, (-(72°)), W) → V'_1Segment(W', V'_1) → h'Intersect(i', h') → ZSegment(Q, N) → jMirror(Z, j) → Z'Segment(T, Z') → kSegment(Z', R) → lSegment(W, Z) → mSegment(Z, U) → rPoint(Circle[I, 4]) → JRotate(J, 72°, I) → J'Rotate(I, 108°, J') → HPolygon(I, J, H, J') → vierhoek1, i_1, j_1, h_1, j'Midpoint(h_1) → KMidpoint(j') → LMidpoint(i_1) → MMidpoint(j_1) → A_1Segment(K, A_1) → sSegment(M, L) → tRotate(M, 72°, L) → M'Rotate(L, 72°, L) → L'Segment(M', L') → t'Rotate(K, (-(72°)), K) → K'Rotate(A_1, (-(72°)), K) → B_1Segment(K', B_1) → s'Intersect(t', s') → C_1Segment(L, C_1) → aSegment(C_1, K) → bSegment(I, H) → cMirror(C_1, c) → D_1Segment(M, D_1) → dSegment(D_1, A_1) → ePoint(Circle[E_1, 4]) → FRotate(F, 72°, E_1) → FFRotate(E_1, (-(144°)), F) → K_1Rotate(F, (-(144°)), K_1) → F'Rotate(E_1, 144°, FF) → CPolygon(E_1, F, K_1, F', C, FF) → veelhoek2, e_1, f_1, k_1, f', c_1, ffMidpoint(ff) → DMidpoint(c_1) → EMidpoint(f') → GMidpoint(k_1) → F_1Midpoint(f_1) → G_1Midpoint(e_1) → H_1Segment(D, H_1) → g_1Segment(G, F_1) → l_1Rotate(D, 72°, D) → D'Rotate(H_1, 72°, D) → I_1Segment(D', I_1) → m_1Segment(I_1, E) → n_1Rotate(I_1, 72°, E) → J_1Rotate(E, 72°, E) → E'Segment(J_1, E') → p_1Segment(J_1, G) → q_1Segment(E_1, F') → r_1Mirror(J_1, r_1) → L_1Mirror(I_1, r_1) → M_1Segment(H_1, M_1) → s_1Segment(M_1, G_1) → t_1Segment(G_1, L_1) → a_1Segment(L_1, F_1) → b_1Point(Circle[N_1, 4]) → O_1Polygon(N_1, O_1, 5) → veelhoek3, d_1, f_2, g_2, h_2, i_2, P_1, Q_1, R_1Centroid(veelhoek3) → S_1Midpoint(g_2) → T_1Midpoint(d_1) → U_1Midpoint(f_2) → V_1Rotate(O_1, 54°, U_1) → W_1Segment(U_1, W_1) → j_2Rotate(O_1, (-(54°)), V_1) → Z_1Segment(V_1, Z_1) → k_2Intersect(j_2, k_2) → A_2Segment(V_1, A_2) → l_2Segment(A_2, U_1) → m_2Midpoint(i_2) → C_2Midpoint(h_2) → D_2Rotate(V_1, 72°, S_1) → E_2Rotate(A_2, 72°, S_1) → F_2Segment(E_2, F_2) → n_2Segment(V_1, F_2) → p_2Segment(T_1, N_1) → q_2Rotate(A_2, (-(72°)), S_1) → G_2Segment(U_1, G_2) → r_2Segment(G_2, C_2) → s_2Rotate(A_2, (-(144°)), S_1) → B_2Segment(C_2, B_2) → t_2Segment(B_2, D_2) → a_2Rotate(A_2, 144°, S_1) → H_2Segment(T_1, H_2) → b_2Segment(H_2, D_2) → c_2Polygon(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_3Centroid(veelhoek4) → S_2Midpoint(f_3) → T_2Rotate(K_2, (-(54°)), T_2) → U_2Rotate(L_2, 54°, T_2) → V_2Line(T_2, V_2) → n_3Line(T_2, U_2) → p_3Midpoint(e_2) → W_2Rotate(K_2, 54°, W_2) → Z_2Line(W_2, Z_2) → q_3Intersect(p_3, q_3) → A_3Line(T_2, S_2) → r_3Intersect(q_3, r_3) → B_3Midpoint(g_3) → C_3Rotate(L_2, (-(54°)), C_3) → D_3Line(C_3, D_3) → s_3Intersect(n_3, s_3) → E_3PolyLine(T_2, E_3, B_3, A_3, T_2) → t_3Sequence(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) → l1Point(Circle[F_3, 2.902117938185601]) → G_3Point(Circle[E_4, 4]) → F_4Rotate(F_4, 72°, E_4) → FF_1Rotate(E_4, (-(144°)), F_4) → K_3Rotate(F_4, (-(144°)), K_3) → F'_1Rotate(E_4, 144°, FF_1) → C_4Polygon(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_1Midpoint(ff_1) → D_4Midpoint(c_4) → E_5Midpoint(f'_1) → G_4Midpoint(k_4) → F_5Midpoint(f_4) → G_5Midpoint(e_3) → H_4Segment(D_4, H_4) → g_4Segment(G_4, F_5) → l_4Rotate(D_4, 72°, D_4) → D'_1Rotate(H_4, 72°, D_4) → I_3Segment(D'_1, I_3) → m_4Segment(I_3, E_5) → n_4Rotate(I_3, 72°, E_5) → J_3Rotate(E_5, 72°, E_5) → E'_1Segment(J_3, E'_1) → p_4Segment(J_3, G_4) → q_4Segment(E_4, F'_1) → r_4Mirror(J_3, r_4) → L_3Mirror(I_3, r_4) → M_3Segment(H_4, M_3) → s_4Segment(M_3, G_5) → t_4Segment(G_5, L_3) → a_4Segment(L_3, F_5) → b_4Point(Circle[O_3, 4]) → N_3Rotate(N_3, 72°, O_3) → P_3Rotate(O_3, 72°, P_3) → Q_3Rotate(P_3, (-(144°)), Q_3) → P'_1Rotate(O_3, 144°, N_3) → O'_1Polygon(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_5Midpoint(o_1) → R_3Midpoint(p_5) → S_3Midpoint(q_5) → T_3Midpoint(n_5) → U_3Midpoint(o'_1) → V_3Midpoint(p'_1) → W_3Segment(S_3, R_3) → f_5Segment(S_3, T_3) → g_5Segment(W_3, V_3) → h_4Segment(V_3, U_3) → i_4Rotate(V_3, 72°, U_3) → V'_2Rotate(U_3, 72°, U_3) → U'_1Segment(V'_2, U'_1) → i'_1Rotate(W_3, (-(72°)), W_3) → W'_1Rotate(V_3, (-(72°)), W_3) → V'_3Segment(W'_1, V'_3) → h'_1Intersect(i'_1, h'_1) → Z_3Segment(Q_3, N_3) → j_4Mirror(Z_3, j_4) → Z'_1Segment(T_3, Z'_1) → k_5Segment(Z'_1, R_3) → l_5Segment(W_3, Z_3) → m_5Segment(Z_3, U_3) → r_5Point(Circle[I_4, 4]) → J_4Rotate(J_4, 72°, I_4) → J'_1Rotate(I_4, 108°, J'_1) → H_5Polygon(I_4, J_4, H_5, J'_1) → vierhoek1_1, i_5, j_5, h_5, j'_1Midpoint(h_5) → K_4Midpoint(j'_1) → L_4Midpoint(i_5) → M_4Midpoint(j_5) → A_4Segment(K_4, A_4) → s_5Segment(M_4, L_4) → t_5Rotate(M_4, 72°, L_4) → M'_1Rotate(L_4, 72°, L_4) → L'_1Segment(M'_1, L'_1) → t'_1Rotate(K_4, (-(72°)), K_4) → K'_1Rotate(A_4, (-(72°)), K_4) → B_4Segment(K'_1, B_4) → s'_1Intersect(t'_1, s'_1) → C_5Segment(L_4, C_5) → a_5Segment(C_5, K_4) → b_5Segment(I_4, H_5) → c_5Mirror(C_5, c_5) → D_5Segment(M_4, D_5) → d_3Segment(D_5, A_4) → e_4Point(Circle[N_4, 4]) → O_4Polygon(N_4, O_4, 5) → veelhoek3_1, d_4, f_6, g_6, h_6, i_6, P_4, Q_4, R_4Centroid(veelhoek3_1) → S_4Midpoint(g_6) → T_4Midpoint(d_4) → U_4Midpoint(f_6) → V_4Rotate(O_4, 54°, U_4) → W_4Segment(U_4, W_4) → j_6Rotate(O_4, (-(54°)), V_4) → Z_4Segment(V_4, Z_4) → k_6Intersect(j_6, k_6) → A_5Segment(V_4, A_5) → l_6Segment(A_5, U_4) → m_6Midpoint(i_6) → C_6Midpoint(h_6) → D_6Rotate(V_4, 72°, S_4) → E_6Rotate(A_5, 72°, S_4) → F_6Segment(E_6, F_6) → n_6Segment(V_4, F_6) → p_6Segment(T_4, N_4) → q_6Rotate(A_5, (-(72°)), S_4) → G_6Segment(U_4, G_6) → r_6Segment(G_6, C_6) → s_6Rotate(A_5, (-(144°)), S_4) → B_5Segment(C_6, B_5) → t_6Segment(B_5, D_6) → a_6Rotate(A_5, 144°, S_4) → H_6Segment(T_4, H_6) → b_6Segment(H_6, D_6) → c_6