Islamic Tessellation on Octagons and Squares

Islamic Tessellation on Octagons and Squares
Loading the math board and drawing, please wait…
2016-04-15 00:06
This example demonstrates how to create a tessellation using polygons fitted inside a semiregular tiling by leveraging its symmetry. Key math concepts include polygon construction, 2D vectors, rotation, cosine functions, and symmetry. GeoGebra commands used are Rotate, Polygon, Segment, Point, PointIn, Midpoint, Mirror, and Sequence. Suitable for high school and above students to understand geometric transformations and tessellation patterns.

GeoGebra Commands & Parameters

  1. Rotate(B, (360 * ° / 8), A) → B'
  2. Polygon(B, B', 8) → poly1, a, D, E, F, G, H, b, c, d, e, f, g, h, C
  3. Polygon(B', B, 4) → poly2, i, j, k, l, I, J
  4. Segment(B', A) → m
  5. Segment(A, B) → n
  6. Segment(B, B') → p
  7. Segment(B', J) → q
  8. Segment(J, I) → r
  9. Segment(I, B) → s
  10. Point(n) → K
  11. Rotate(K, (360 * ° / 8), A) → K'
  12. Point(n) → L
  13. Rotate(L, (360 * ° / 8), A) → L'
  14. Polygon(B', B, A) → poly3, a_1, b', b_1
  15. PointIn(poly3) → M
  16. PointIn(poly3) → N
  17. Polygon(B', L, K, N, K', M, L') → poly4, c_1, d_1, e_1, f_1, g_1, h_1, i_1
  18. Midpoint(J, B) → O
  19. Segment(J, B) → t
  20. Point(t) → P
  21. Rotate(P, 180°, O) → P'
  22. Polygon(B, B', J) → poly5, j_1, b_3, b'_2
  23. PointIn(poly5) → Q
  24. PointIn(poly5) → R
  25. Polygon(B, B', J, P, R, Q, P') → poly6, b_4, b'_3, j_2, p_1, r_1, q_1, p'
  26. Mirror(B', m) → B''
  27. Mirror(L, m) → L'_1
  28. Mirror(K, m) → K'_1
  29. Mirror(N, m) → N'
  30. Mirror(K', m) → K''
  31. Mirror(M, m) → M'
  32. Mirror(L', m) → L''
  33. Polygon(B'', L'_1, K'_1, N', K'', M', L'') → poly4', b'', l'_1, k'_1, n', k'', m', l''
  34. Sequence(Rotate[{poly4, poly4'}, ((i * 90))°, A], i, 1, 4) → list1
  35. Rotate(B, 180°, O) → B'_1
  36. Rotate(B', 180°, O) → B''_1
  37. Rotate(J, 180°, O) → J'
  38. Rotate(P, 180°, O) → P'_1
  39. Rotate(R, 180°, O) → R'
  40. Rotate(Q, 180°, O) → Q'
  41. Rotate(P', 180°, O) → P''
  42. Polygon(B'_1, B''_1, J', P'_1, R', Q', P'') → poly6', b'_1, b''_1, j', p'_1, r', q', p''
  43. Sequence(Rotate[{poly6, poly6'}, ((i * 90))°, A], i, 1, 3) → list3
  44. Rotate(O, 90°, A) → O'
  45. Rotate(O', 90°, A) → O''
  46. Rotate(O'', 90°, A) → O'''
  47. Sequence(Rotate[list1, ((i * 90))°, O], i, 1, 3) → list2
  48. Rotate(list2, 180°, A) → list2'
  49. Rotate(list1, 180°, O') → list1'
  50. Rotate(list1, 180°, O''') → list1'_1
  51. Rotate(A, 90°, O') → A'
  52. Sequence(Rotate[{poly6, poly6'}, ((i * 90))°, A'], i, 1, 2) → list4
  53. Sequence(Rotate[list4, ((i * 90))°, A], i, 1, 3) → list5