Islamic Tessellation on Octagons and Squares
Loading the math board and drawing, please wait…
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
Rotate(B, (360 * ° / 8), A) → B'Polygon(B, B', 8) → poly1, a, D, E, F, G, H, b, c, d, e, f, g, h, CPolygon(B', B, 4) → poly2, i, j, k, l, I, JSegment(B', A) → mSegment(A, B) → nSegment(B, B') → pSegment(B', J) → qSegment(J, I) → rSegment(I, B) → sPoint(n) → KRotate(K, (360 * ° / 8), A) → K'Point(n) → LRotate(L, (360 * ° / 8), A) → L'Polygon(B', B, A) → poly3, a_1, b', b_1PointIn(poly3) → MPointIn(poly3) → NPolygon(B', L, K, N, K', M, L') → poly4, c_1, d_1, e_1, f_1, g_1, h_1, i_1Midpoint(J, B) → OSegment(J, B) → tPoint(t) → PRotate(P, 180°, O) → P'Polygon(B, B', J) → poly5, j_1, b_3, b'_2PointIn(poly5) → QPointIn(poly5) → RPolygon(B, B', J, P, R, Q, P') → poly6, b_4, b'_3, j_2, p_1, r_1, q_1, p'Mirror(B', m) → B''Mirror(L, m) → L'_1Mirror(K, m) → K'_1Mirror(N, m) → N'Mirror(K', m) → K''Mirror(M, m) → M'Mirror(L', m) → L''Polygon(B'', L'_1, K'_1, N', K'', M', L'') → poly4', b'', l'_1, k'_1, n', k'', m', l''Sequence(Rotate[{poly4, poly4'}, ((i * 90))°, A], i, 1, 4) → list1Rotate(B, 180°, O) → B'_1Rotate(B', 180°, O) → B''_1Rotate(J, 180°, O) → J'Rotate(P, 180°, O) → P'_1Rotate(R, 180°, O) → R'Rotate(Q, 180°, O) → Q'Rotate(P', 180°, O) → P''Polygon(B'_1, B''_1, J', P'_1, R', Q', P'') → poly6', b'_1, b''_1, j', p'_1, r', q', p''Sequence(Rotate[{poly6, poly6'}, ((i * 90))°, A], i, 1, 3) → list3Rotate(O, 90°, A) → O'Rotate(O', 90°, A) → O''Rotate(O'', 90°, A) → O'''Sequence(Rotate[list1, ((i * 90))°, O], i, 1, 3) → list2Rotate(list2, 180°, A) → list2'Rotate(list1, 180°, O') → list1'Rotate(list1, 180°, O''') → list1'_1Rotate(A, 90°, O') → A'Sequence(Rotate[{poly6, poly6'}, ((i * 90))°, A'], i, 1, 2) → list4Sequence(Rotate[list4, ((i * 90))°, A], i, 1, 3) → list5