A = (4.66, 0.16)
B = (2.1, -3.56)
B' = Rotate(B, 15°, A)
α = Angle(B, A, B')
c = Semicircle(B', B)
a = Segment(B, A)
b = Segment(A, B')
poly1, b', a_1, b_1 = Polygon(A, B, B')
d = Line(A, B')
A' = Mirror(A, d)
B'_1 = Mirror(B, d)
B'' = Mirror(B', d)
poly1', b'', a', b'_1 = Polygon(A', B'_1, B'')
B'_2 = Mirror(B, d)
B''_1 = Mirror(B', d)
e = Segment(B'_2, B''_1)
c' = Mirror(c, d)
f = Line(A, B'_1)
A'' = Mirror(A', f)
C = Mirror(B'_1, f)
B''' = Mirror(B'', f)
poly1'', b''', a'', c_1 = Polygon(A'', C, B''')
c'' = Mirror(c', f)
A'_1 = Mirror(A, f)
B'_3 = Mirror(B, f)
B''_2 = Mirror(B', f)
poly1'_1, b''_2, a'_1, b'_3 = Polygon(A'_1, B'_3, B''_2)
B'_4 = Mirror(B, f)
B''_3 = Mirror(B', f)
g = Segment(B'_4, B''_3)
c'_1 = Mirror(c, f)
h = Line(A, B'_3)
D = Mirror(A'_1, h)
E = Mirror(B'_3, h)
F = Mirror(B''_2, h)
poly2, f_1, d_1, e_1 = Polygon(D, E, F)
k = Mirror(c'_1, h)
c''' = Mirror(c'', h)
A''' = Mirror(A'', h)
C' = Mirror(C, h)
G = Mirror(B''', h)
poly1''', g_1, a''', c'_2 = Polygon(A''', C', G)
c''_1 = Mirror(c', h)
A''_1 = Mirror(A', h)
H = Mirror(B'_1, h)
B'''_1 = Mirror(B'', h)
poly1''_1, b'''_1, a''_1, h_1 = Polygon(A''_1, H, B'''_1)
A'_2 = Mirror(A, h)
B'_5 = Mirror(B, h)
B''_4 = Mirror(B', h)
poly1'_2, b''_4, a'_2, b'_5 = Polygon(A'_2, B'_5, B''_4)
B'_6 = Mirror(B, h)
B''_5 = Mirror(B', h)
i = Segment(B'_6, B''_5)
c'_3 = Mirror(c, h)
j = Line(A, B'_5)
I = Mirror(A'_2, j)
J = Mirror(B'_5, j)
K = Mirror(B''_4, j)
poly3, k_1, i_1, j_1 = Polygon(I, J, K)
p = Mirror(c'_3, j)
q = Mirror(c''_1, j)
L = Mirror(A''_1, j)
H' = Mirror(H, j)
M = Mirror(B'''_1, j)
poly4, m, l, h' = Polygon(L, H', M)
r = Mirror(c''', j)
N = Mirror(A''', j)
C'' = Mirror(C', j)
G' = Mirror(G, j)
poly5, g', n, c''_2 = Polygon(N, C'', G')
k' = Mirror(k, j)
D' = Mirror(D, j)
E' = Mirror(E, j)
F' = Mirror(F, j)
poly2', f', d', e' = Polygon(D', E', F')
s = Mirror(c'_1, j)
O = Mirror(A'_1, j)
P = Mirror(B'_3, j)
Q = Mirror(B''_2, j)
poly6, q_1, o, p_1 = Polygon(O, P, Q)
c'''_1 = Mirror(c'', j)
A'''_1 = Mirror(A'', j)
C'_1 = Mirror(C, j)
R = Mirror(B''', j)
poly1'''_1, r_1, a'''_1, c'_4 = Polygon(A'''_1, C'_1, R)
A''_2 = Mirror(A', j)
S = Mirror(B'_1, j)
B'''_2 = Mirror(B'', j)
poly1''_2, b'''_2, a''_2, s_1 = Polygon(A''_2, S, B'''_2)
A'_3 = Mirror(A, j)
B'_7 = Mirror(B, j)
B''_6 = Mirror(B', j)
poly1'_3, b''_6, a'_3, b'_7 = Polygon(A'_3, B'_7, B''_6)
B'_8 = Mirror(B, j)
B''_7 = Mirror(B', j)
t = Segment(B'_8, B''_7)
c''_3 = Mirror(c', j)
B'_9 = Mirror(B, j)
B''_8 = Mirror(B', j)
l_1 = Segment(B'_9, B''_8)
B'_{10} = Mirror(B, j)
B''_9 = Mirror(B', j)
m_1 = Segment(B'_{10}, B''_9)
c'_5 = Mirror(c, j)
T = Mirror(A'_3, h)
U = Mirror(B'_7, h)
V = Mirror(B''_6, h)
poly7, v, t_1, u = Polygon(T, U, V)
W = Mirror(A''_2, h)
S' = Mirror(S, h)
Z = Mirror(B'''_2, h)
poly8, z_1, w, s' = Polygon(W, S', Z)
A_1 = Mirror(A'''_1, h)
B_1 = Mirror(C'_1, h)
R' = Mirror(R, h)
poly9, r', a_2, b_2 = Polygon(A_1, B_1, R')
O' = Mirror(O, h)
P' = Mirror(P, h)
Q' = Mirror(Q, h)
poly6', q', o', p' = Polygon(O', P', Q')
D'' = Mirror(D', h)
E'' = Mirror(E', h)
F'' = Mirror(F', h)
poly2'', f'', d'', e'' = Polygon(D'', E'', F'')
N' = Mirror(N, h)
C''' = Mirror(C'', h)
G'' = Mirror(G', h)
poly5', g'', n', c'''_2 = Polygon(N', C''', G'')
L' = Mirror(L, h)
H'' = Mirror(H', h)
M' = Mirror(M, h)
poly4', m', l', h'' = Polygon(L', H'', M')
I' = Mirror(I, h)
J' = Mirror(J, h)
K' = Mirror(K, h)
poly3', k'_1, i', j' = Polygon(I', J', K')
p'_1 = Mirror(p, h)
q'_1 = Mirror(q, h)
r'_1 = Mirror(r, h)
k'' = Mirror(k', h)
s'_1 = Mirror(s, h)
c_2 = Mirror(c'''_1, h)
d_2 = Mirror(c''_3, h)
e_2 = Mirror(c'_5, h)

Tool: Oiseau jaune (command Oiseaujaune)
Input: A, B
Output: poly1, B'

B' = Rotate(B, (-(12°)), A)
A' = Rotate(A, (-(15°)), B)
C = Dilate(A', 0.25, B)
D = Midpoint(B', A)
C' = Mirror(C, D)
E = Mirror(B, D)
C'_1 = Rotate(C, (-(12°)), A)
C'' = Rotate(C', (-(12°)), A)
E' = Rotate(E, (-(12°)), A)
poly1, b'_1, b_1, c_1, c'_1, e_1, a_1, e'_1, c'', c'_2 = Polygon(B', B, C, C', E, A, E', C'', C'_1)

Tool: Oiseau noir (command Oiseaunoir)
Input: A, B
Output: poly1, B'

B' = Rotate(B, (-(12°)), A)
A' = Rotate(A, (-(15°)), B)
C = Dilate(A', 0.25, B)
D = Midpoint(B', A)
C' = Mirror(C, D)
E = Mirror(B, D)
C'_1 = Rotate(C, (-(12°)), A)
C'' = Rotate(C', (-(12°)), A)
E' = Rotate(E, (-(12°)), A)
poly1, b'_1, b_1, c_1, c'_1, e_1, a_1, e'_1, c'', c'_2 = Polygon(B', B, C, C', E, A, E', C'', C'_1)

Tool: Carré intérieur (command Carréintérieur)
On clique sur deux points et on construit un carré intérieur avec une rotation de 15° de centre le centre du carré
Input: A, B
Output: poly3

poly1, a, b, c, d, C, D = Polygon(A, B, 4)
E = Midpoint(A, C)
A' = Rotate(A, 15°, E)
B' = Rotate(B, 15°, E)
C' = Rotate(C, 15°, E)
D' = Rotate(D, 15°, E)
e = Line(A', C')
f = Line(B', D')
F = Intersect(e, a)
G = Intersect(f, b)
H = Intersect(e, c)
I = Intersect(f, d)
poly3, f_1, g, h, i = Polygon(F, G, H, I)