ΠΘ tangram

A = Point(xAxis)
B = Intersect(xAxis, yAxis)
A' = Mirror(A, B)
C: (0, (-x(A)))
c = CircleArc(B, C, A)
D = Point(c)
a = Segment(A, D)
b = Segment(D, A')
poly1, d, e, f, g, E, F = Polygon(D, A', 4)
poly2, h, i, j, k, G, H = Polygon(A', A, 4)
poly3, l, m, n, p, I, J = Polygon(A, D, 4)
q = Line(E, h)
K = Intersect(q, g)
r = OrthogonalLine(K, h)
s = Ray(G, A)
L = Intersect(r, d)
M = Intersect(m, s)
poly4, l_1, k_1, e_1, a' = Polygon(L, K, E, A')
poly5, d_1, l_2, k_2 = Polygon(L, K, D)
poly6, e_2, k_3, f_1 = Polygon(K, F, E)
poly7, d_2, m_1, a_1 = Polygon(M, A, D)
poly8, m_2, i_1, j_1, a_2 = Polygon(M, I, J, A)
u = Vector(A, H)
v = Vector(E, H)
w = Vector(E, A')
t = Vector(K, A')
u_1 = Vector(A, G)
N = Centroid(poly5)
O = Centroid(poly6)
P = Centroid(poly7)
Q = Centroid(poly8)
R = Centroid(poly4)
R' = Translate(R, w)
O' = Translate(O, v)
N' = Translate(N, t)
P' = Translate(P, u_1)
Q' = Translate(Q, u)
b_1 = Segment(P, P')
c_1 = Segment(Q, Q')
g_1 = Segment(R, R')
h_1 = Segment(N, N')
n_1 = Segment(O, O')
S = Point(n_1)
v_1 = Vector(O, S)
T = Point(g_1)
w_1 = Vector(R, T)
U = Point(h_1)
p_1 = Vector(N, U)
V = Point(b_1)
q_1 = Vector(P, V)
W = Point(c_1)
r_1 = Vector(Q, W)
L' = Translate(L, p_1)
K' = Translate(K, p_1)
D' = Translate(D, p_1)
poly5', d', l', k' = Polygon(L', K', D')
K'_1 = Translate(K, v_1)
F' = Translate(F, v_1)
E' = Translate(E, v_1)
poly6', e', k'_1, f' = Polygon(K'_1, F', E')
M' = Translate(M, q_1)
A'_1 = Translate(A, q_1)
D'_1 = Translate(D, q_1)
poly7', d'_1, m', a'_1 = Polygon(M', A'_1, D'_1)
L'_1 = Translate(L, w_1)
K'_2 = Translate(K, w_1)
E'_1 = Translate(E, w_1)
A'' = Translate(A', w_1)
poly4', l'_1, k'_2, e'_1, a'' = Polygon(L'_1, K'_2, E'_1, A'')
M'_1 = Translate(M, r_1)
I' = Translate(I, r_1)
J' = Translate(J, r_1)
A'_2 = Translate(A, r_1)
poly8', m'_1, i', j', a'_2 = Polygon(M'_1, I', J', A'_2)