Tassellazione semiregolare del piano usando 2 quadrati e 3 triangoli per vertice

A = (0.9675499514838888, 5.500191188597503)
B = (1.5290254478849399, 5.505868359098733)
poly1, a, b, c, d, C, D = Polygon(A, B, 4)
poly2, e, f, g, h, E, F = Polygon(C, B, 4)
poly3, i, j, k, G = Polygon(C, F, 3)
poly4, l, m, n, H = Polygon(D, C, 3)
poly5, p, q, r, I = Polygon(H, C, 3)
C' = Mirror(C, j)
F' = Mirror(F, j)
G' = Mirror(G, j)
poly3', g', c', f' = Polygon(C', F', G')
C'' = Mirror(C', g')
F'' = Mirror(F', g')
G'' = Mirror(G', g')
poly3'', g'', c'', f'' = Polygon(C'', F'', G'')
D' = Mirror(D, n)
C'_1 = Mirror(C, n)
H' = Mirror(H, n)
poly4', h', d', c'_1 = Polygon(D', C'_1, H')
D'' = Mirror(D', h')
J = Mirror(C'_1, h')
H'' = Mirror(H', h')
poly4'', h'', d'', j_1 = Polygon(D'', J, H'')
A' = Mirror(A, d)
B' = Mirror(B, d)
C'_2 = Mirror(C, d)
D'_1 = Mirror(D, d)
poly1', a', b', c'_2, d'_1 = Polygon(A', B', C'_2, D'_1)
C'_3 = Mirror(C, g)
B'_1 = Mirror(B, g)
E' = Mirror(E, g)
F'_1 = Mirror(F, g)
poly2', c'_3, b'_1, e', f'_1 = Polygon(C'_3, B'_1, E', F'_1)
poly6, s, t, a_1, K = Polygon(A, B', 3)
poly7, b_1, c_1, d_1, L = Polygon(B, A, 3)
A'_1 = Mirror(A, a_1)
B'' = Mirror(B', a_1)
K' = Mirror(K, a_1)
poly6', k', a'_1, b'' = Polygon(A'_1, B'', K')
B'_2 = Mirror(B, d_1)
A'_2 = Mirror(A, d_1)
L' = Mirror(L, d_1)
poly7', l', b'_2, a'_2 = Polygon(B'_2, A'_2, L')
M = Mirror(B'_2, l')
N = Mirror(A'_2, l')
L'' = Mirror(L', l')
poly7'', l'', m_1, n_1 = Polygon(M, N, L'')
M' = Mirror(M, m_1)
N' = Mirror(N, m_1)
L''' = Mirror(L'', m_1)
poly7''', l''', m', n' = Polygon(M', N', L''')
M'' = Mirror(M', n')
N'' = Mirror(N', n')
O = Mirror(L''', n')
poly8, o, m'', n'' = Polygon(M'', N'', O)
α = Angle(D, C, B)
β = Angle(H, C, D)
γ = Angle(G, C, H)
δ = Angle(F, C, G)
ε = Angle(B, C, F)

Tool: Circocerchio
Clicca sul triangolo
Input: poly1
Output: p, T

A = (-4.221655823828217, 0.2573952157720354)
B = (-6.409212927818962, -0.8940157728338809)
C = (-5.616576067409749, -3.37139259388696)
poly1, c, a, b = Polygon(A, B, C)
j = LineBisector(a)
l = LineBisector(c)
T = Intersect(j, l)
p = Circle(T, B)

Tool: Circonferenza inscrita (command Circonferenzainscrita)
Clicca sui vertici del triangolo
Input: N, P, Q
Output: c_1, R

poly2, q_1, n_1, p_1 = Polygon(N, P, Q)
r = AngularBisector(N, Q, P)
s = AngularBisector(P, N, Q)
R = Intersect(r, s)
t = OrthogonalLine(R, p_1)
S = Intersect(t, p_1)
c_1 = Circle(R, S)

Tool: Ortocentro
Clicca sui vertici del triangolo
Input: E_1, F_1, G_1
Output: H_1

j_1 = Line(F_1, G_1)
l_1 = Line(G_1, E_1)
m_1 = OrthogonalLine(F_1, l_1)
n_1 = OrthogonalLine(E_1, j_1)
H_1 = Intersect(m_1, n_1)

Tool: Excerchi
Clicca su 3 rette che determinano un triangolo
Input: b, c, a
Output: p, E, D, F, q, r

d, e = AngularBisector(a, c)
f, g = AngularBisector(b, c)
h, i = AngularBisector(a, b)
D = Intersect(h, d)
E = Intersect(d, f)
F = Intersect(f, h)
j = OrthogonalLine(D, a)
k = OrthogonalLine(E, c)
l = OrthogonalLine(F, b)
G = Intersect(b, l)
H = Intersect(k, c)
I = Intersect(j, a)
p = Circle(E, H)
q = Circle(F, G)
r = Circle(D, I)

Tool: Tr. Equil. su lato (command Treqlato)
Clicca sugli estremi in verso orario
Input: A, C
Output: poly2, a_1, c_1, D, d_1

d = Circle(C, A)
e = Circle(A, C)
D = Intersect(d, e, 2)
poly2, c_1, a_1, d_1 = Polygon(A, D, C)

Tool: Rapporto aureo (command Rapportoaureo)
Clicca sugli estremi del segmento
Input: A, B
Output: E

a = Segment(A, B)
b = OrthogonalLine(B, a)
M = Midpoint(a)
c = Circle(B, M)
C = Intersect(c, b, 2)
d = Segment(C, A)
e = Circle(C, B)
D = Intersect(e, d, 1)
f = Circle(A, D)
E = Intersect(f, a, 1)