Escherized Double Rotations
Loading the math board and drawing, please wait…
In collections
Transformations
This example demonstrates the Escherization effect with 3, 4, 5, or 6-fold rotations. By applying rotation transformations, observe the changes in the shapes. Key mathematical concepts include rotation, transformation, and geometric construction. GeoGebra commands used include Rotate, Midpoint, PointIn, and Polygon. Suitable for middle school students and teachers for teaching and exploring geometric transformations.
GeoGebra Commands & Parameters
Rotate(B, (360 * ° / n), A) → B'Midpoint(B, B') → CPointIn(Polygon[A, (2 * C) - A, B' + C - A, B']) → DPointIn(Polygon[A, (2 * C) - A, (2 * B') - A, B']) → EPointIn(Polygon[A, (2 * C) - A, B' + B' - A, B']) → FRotate(D, 180°, C) → D'Rotate(E, 180°, C) → E'Rotate(F, 180°, C) → F'PointIn(Polygon[(2 * A) - B, B, B + B' - A, B' + A - B]) → GPointIn(Polygon[(2 * A) - B, B, B + B' - A, B' + A - B]) → HRotate(G, (-360 * ° / n), A) → G'Rotate(H, (-360 * ° / n), A) → H'Polygon(A, G', B', H, G, H', B, F', E', D', D, E, F) → poly1, a, f, b', h, g, g', h', b, f', e', d', d, eRotate(A, (360 * ° / n), A) → A'Rotate(G', (360 * ° / n), A) → G''Rotate(H', (360 * ° / n), A) → H''Rotate(B, (360 * ° / n), A) → B'_1Rotate(F', (360 * ° / n), A) → F''Rotate(E', (360 * ° / n), A) → E''Rotate(D', (360 * ° / n), A) → D''Rotate(D, (360 * ° / n), A) → D'_1Rotate(E, (360 * ° / n), A) → E'_1Rotate(F, (360 * ° / n), A) → F'_1Rotate(B', (360 * ° / n), A) → B''Rotate(H, (360 * ° / n), A) → H'_1Rotate(G, (360 * ° / n), A) → G'_1Polygon(A', G'', B'', H'_1, G'_1, H'', B'_1, F'', E'', D'', D'_1, E'_1, F'_1) → poly1', a', f'_1, b'', h'_1, g'_1, g'', h'', b'_1, f'', e'', d'', d'_1, e'_1Rotate(A', (360 * ° / n), A) → A''Rotate(G'', (360 * ° / n), A) → G'''Rotate(H'', (360 * ° / n), A) → H'''Rotate(B'_1, (360 * ° / n), A) → IRotate(F'', (360 * ° / n), A) → F'''Rotate(E'', (360 * ° / n), A) → E'''Rotate(D'', (360 * ° / n), A) → D'''Rotate(D'_1, (360 * ° / n), A) → JRotate(E'_1, (360 * ° / n), A) → KRotate(F'_1, (360 * ° / n), A) → LRotate(B'', (360 * ° / n), A) → B'''Rotate(H'_1, (360 * ° / n), A) → MRotate(G'_1, (360 * ° / n), A) → NPolygon(A'', G''', B''', M, N, H''', I, F''', E''', D''', J, K, L) → poly1'', a'', l, b''', m, n_1, g''', h''', i, f''', e''', d''', j, kRotate(A'', (360 * ° / n), A) → A'''Rotate(G''', (360 * ° / n), A) → ORotate(H''', (360 * ° / n), A) → PRotate(I, (360 * ° / n), A) → I'Rotate(F''', (360 * ° / n), A) → QRotate(E''', (360 * ° / n), A) → RRotate(D''', (360 * ° / n), A) → SRotate(J, (360 * ° / n), A) → J'Rotate(K, (360 * ° / n), A) → K'Rotate(L, (360 * ° / n), A) → L'Rotate(B''', (360 * ° / n), A) → TRotate(M, (360 * ° / n), A) → M'Rotate(N, (360 * ° / n), A) → N'Polygon(A''', O, T, M', N', P, I', Q, R, S, J', K', L') → poly1''', a''', l', t, m', n', o, p, i', q, r, s, j', k'Rotate(A''', (360 * ° / n), A) → URotate(O, (360 * ° / n), A) → O'Rotate(P, (360 * ° / n), A) → P'Rotate(I', (360 * ° / n), A) → I''Rotate(Q, (360 * ° / n), A) → Q'Rotate(R, (360 * ° / n), A) → R'Rotate(S, (360 * ° / n), A) → S'Rotate(J', (360 * ° / n), A) → J''Rotate(K', (360 * ° / n), A) → K''Rotate(L', (360 * ° / n), A) → L''Rotate(T, (360 * ° / n), A) → T'Rotate(M', (360 * ° / n), A) → M''Rotate(N', (360 * ° / n), A) → N''Polygon(U, O', T', M'', N'', P', I'', Q', R', S', J'', K'', L'') → poly2, u, l'', t', m'', n'', o', p', i'', q', r', s', j'', k''Rotate(U, (360 * ° / n), A) → U'Rotate(O', (360 * ° / n), A) → O''Rotate(P', (360 * ° / n), A) → P''Rotate(I'', (360 * ° / n), A) → I'''Rotate(Q', (360 * ° / n), A) → Q''Rotate(R', (360 * ° / n), A) → R''Rotate(S', (360 * ° / n), A) → S''Rotate(J'', (360 * ° / n), A) → J'''Rotate(K'', (360 * ° / n), A) → K'''Rotate(L'', (360 * ° / n), A) → L'''Rotate(T', (360 * ° / n), A) → T''Rotate(M'', (360 * ° / n), A) → M'''Rotate(N'', (360 * ° / n), A) → N'''Polygon(U', O'', T'', M''', N''', P'', I''', Q'', R'', S'', J''', K''', L''') → poly2', u', l''', t'', m''', n''', o'', p'', i''', q'', r'', s'', j''', k'''First(polys, n) → list1Rotate(list1, 180°, C) → list1'Sequence(Rotate[list1', ((i * 360) * ° / n), A], i, 1, n) → list2FitPoly({(3, 3), (4, 1), (5, 0), (6, 0)}, 3) → f_1Sequence(Rotate[Sequence[Rotate[list1, ((j * 60))° + (((n - 2) * 60))°, B], j, 1, f_1(n)], ((i * 360) * ° / n), A], i, 1, n) → list3