Play

A = (0, 0)
B = (3, 0)
poly1, f, g, h, i, j, k, C, D, E, F = Polygon(A, B, 6)
c = Circle(D, E)
l = Ray(F, E)
G = Intersect(c, l, 2)
d = Circle(G, D)
H = Intersect(c, d, 2)
q1, e, d_1, h_1, g_1 = Polygon(E, D, H, G)
rot = 0.72 (slider from 0 to (10 * π / 6), step 0.01)
D2 = Rotate(E, (-rot), D)
D1 = Rotate(D, (-rot), D)
D4 = Rotate(H, (-rot), D)
D3 = Rotate(G, (-rot), D)
q1', e', d', h', g' = Polygon(D2, D1, D4, D3)
m = Segment(D, H)
E'_1 = Mirror(E, d_1)
D'_1 = Mirror(D, d_1)
H'_1 = Mirror(H, d_1)
G'_1 = Mirror(G, d_1)
q2, e'_1, d'_1, h'_1, g'_1 = Polygon(E'_1, D'_1, H'_1, G'_1)
E1 = Rotate(E'_1, (-rot) + (4 * π / 6), C)
E2 = Rotate(D'_1, (-rot) + (4 * π / 6), C)
E3 = Rotate(H'_1, (-rot) + (4 * π / 6), C)
E4 = Rotate(G'_1, (-rot) + (4 * π / 6), C)
q2', i_1, j_1, k_1, l_1 = Polygon(E1, E2, E3, E4)
L_1 = Sequence(Polygon[Rotate[D2, ((2 * π / 6) * i), Centroid[poly1]], Rotate[D1, ((2 * π / 6) * i), Centroid[poly1]], Rotate[D4, ((2 * π / 6) * i), Centroid[poly1]], Rotate[D3, ((2 * π / 6) * i), Centroid[poly1]]], i, 0, 5)
L_2 = Sequence(Polygon[Rotate[E1, ((2 * π / 6) * i), Centroid[poly1]], Rotate[E2, ((2 * π / 6) * i), Centroid[poly1]], Rotate[E3, ((2 * π / 6) * i), Centroid[poly1]], Rotate[E4, ((2 * π / 6) * i), Centroid[poly1]]], i, 0, 5)
speed: 1
a = true