Bước 1

Bước 2

Bước 3

A = (-3.2834380945039916, 4.560900210249399)
B = (-3.323596306367175, -0.719904649759246)
a = Segment(A, B)
b = OrthogonalLine(A, a)
c = OrthogonalLine(B, a)
C = Point(c)
d = OrthogonalLine(C, c)
D = Intersect(b, d)
e = Segment(A, D)
f = Segment(D, C)
g = Segment(C, B)
đa giác1, b_1, c_1, d_1, a_1 = Polygon(B, C, D, A)
E = Point(a)
F = Point(f)
h = Segment(E, F)
G = (2.0375249773678488, -0.800221073485615)
u = Vector(B, G)
A' = Translate(A, u)
D' = Translate(D, u)
E' = Translate(E, u)
F' = Translate(F, u)
C' = Translate(C, u)
i = Segment(E', F')
j = Segment(E', G)
k = Segment(G, C')
l = Segment(F', C')
m = Segment(D', F')
n = Segment(D', A')
p = Segment(A', E')
A'' = Mirror(A', i)
D'' = Mirror(D', i)
đa giác2, g_1, c', f', e' = Polygon(G, C', F', E')
đa giác3, e'_1, a'', d'', f'_1 = Polygon(E', A'', D'', F')
H = Point(i)
q = OrthogonalLine(H, f')
I = Intersect(q, g_1)
r = Segment(H, I)
J = (7.2781716255133215, -0.8805374972119825)
v = Vector(G, J)
E'' = Translate(E', v)
F'' = Translate(F', v)
H' = Translate(H, v)
A''' = Translate(A'', v)
D''' = Translate(D'', v)
I' = Translate(I, v)
C'' = Translate(C', v)
s = Segment(H', I')
t = Segment(H', E'')
e_1 = Segment(E'', J)
f_1 = Segment(J, I')
h_1 = Segment(E'', A''')
F''' = Mirror(F'', s)
K = Mirror(D''', s)
C''' = Mirror(C'', s)
i_1 = Segment(H', F'')
j_1 = Segment(F'', C'')
k_1 = Segment(C'', I')
l_1 = Segment(F'', D''')
L = Intersect(r, a'')
L' = Translate(L, v)
m_1 = Segment(A''', L')
n_1 = Segment(L', D''')
p_1 = Segment(K, L')
q_1 = Segment(F''', K)
r_1 = Segment(F''', C''')
s_1 = Segment(C''', I')
đa giác4, e'', a''', l', h' = Polygon(E'', A''', L', H')
đa giác5, f''', c''', i', h'_1 = Polygon(F''', C''', I', H')
đa giác6, e''_1, j_2, i'_1, h'_2 = Polygon(E'', J, I', H')
M = Point(t)
t_1 = OrthogonalLine(M, h'_2)
N = Intersect(t_1, j_2)
a_2 = Segment(M, N)
O = (13.241666087196101, -0.9206957090751662)
w = Vector(J, O)
E''' = Translate(E'', w)
H'' = Translate(H', w)
M' = Translate(M, w)
N' = Translate(N, w)
I'' = Translate(I', w)
b_2 = Segment(E''', M')
c_2 = Segment(M', N')
d_2 = Segment(E''', O)
e_2 = Segment(O, N')
f_2 = Segment(M', H'')
g_2 = Segment(H'', I'')
h_2 = Segment(I'', N')
H''' = Mirror(H'', c_2)
I''' = Mirror(I'', c_2)
i_2 = Segment(N', I''')
k_2 = Segment(H''', E''')
l_2 = Segment(H''', I''')
L'' = Translate(L', w)
P = Translate(A''', w)
Q = Intersect(a_2, a''')
Q' = Translate(Q, w)
m_2 = Segment(E''', P)
n_2 = Segment(Q', P)
p_2 = Segment(Q', L'')
đa giác7, e''', o, n', m' = Polygon(E''', O, N', M')
đa giác8, e'''_1, p_3, q', m'_1 = Polygon(E''', P, Q', M')
đa giác9, h''', i''', n'_1, m'_2 = Polygon(H''', I''', N', M')