Tassellazione semiregolare del piano usando  1 esagono e 4 triangoli per vertice

A = (1.1514260844717328, 4.857801752343686)
B = (1.378247957444585, 5.268916397106984)
poly4, e_1, f_1, u, v, w, z, U, V, W, Z = Polygon(B, A, 6)
poly1, a, b, c, C = Polygon(A, B, 3)
poly2, d, e, f, D = Polygon(U, A, 3)
poly3, g, h, i, E = Polygon(W, V, 3)
poly5, j, k, l, F = Polygon(Z, W, 3)
B'_2 = Mirror(B, A)
A' = Mirror(A, A)
U'_2 = Mirror(U, A)
V'_3 = Mirror(V, W)
W'_1 = Mirror(W, W)
Z'_3 = Mirror(Z, W)
poly6, m, n, p, G = Polygon(B, Z, 3)
poly7, q, r, s, H = Polygon(V, U, 3)
B' = Mirror(B, n)
Z' = Mirror(Z, n)
G' = Mirror(G, n)
poly6', g', b', z' = Polygon(B', Z', G')
B'_1 = Mirror(B, p)
Z'_1 = Mirror(Z, p)
G'_1 = Mirror(G, p)
poly6'_1, g'_1, b'_1, z'_1 = Polygon(B'_1, Z'_1, G'_1)
B'' = Mirror(B', g')
Z'' = Mirror(Z', g')
G'' = Mirror(G', g')
poly6'', g'', b'', z'' = Polygon(B'', Z'', G'')
Z'_2 = Mirror(Z, k)
W' = Mirror(W, k)
F' = Mirror(F, k)
poly5', f', z'_2, w' = Polygon(Z'_2, W', F')
I = Mirror(Z'_2, f')
W'' = Mirror(W', f')
F'' = Mirror(F', f')
poly5'', f'', i_1, w'' = Polygon(I, W'', F'')
W'_2 = Mirror(W, h)
V' = Mirror(V, h)
E' = Mirror(E, h)
poly3', e', w'_2, v' = Polygon(W'_2, V', E')
J = Mirror(W'_2, e')
V'' = Mirror(V', e')
E'' = Mirror(E', e')
poly3'', e'', j_1, v'' = Polygon(J, V'', E'')
V'_1 = Mirror(V, r)
U' = Mirror(U, r)
H' = Mirror(H, r)
poly7', h', v'_1, u' = Polygon(V'_1, U', H')
K = Mirror(V'_1, h')
U'' = Mirror(U', h')
H'' = Mirror(H', h')
poly7'', h'', k_1, u'' = Polygon(K, U'', H'')
U'_1 = Mirror(U, e)
A'_1 = Mirror(A, e)
D' = Mirror(D, e)
poly2', d', u'_1, a'_1 = Polygon(U'_1, A'_1, D')
L = Mirror(U'_1, d')
M = Mirror(A'_1, d')
D'' = Mirror(D', d')
poly2'', d'', l_1, m_1 = Polygon(L, M, D'')
A'_2 = Mirror(A, b)
B'_3 = Mirror(B, b)
C' = Mirror(C, b)
poly1', c', a'_2, b'_3 = Polygon(A'_2, B'_3, C')
poly8, t, a_1, b_1, o, d_1, g_1, N, O, P, Q = Polygon(Z'_1, G, 6)
poly9, c_1, h_1, n_1, p_1, q_1, r_1, R, S, T, A_1 = Polygon(B', F, 6)
B''_1 = Mirror(B', z')
Z''_1 = Mirror(Z', z')
G''_1 = Mirror(G', z')
poly6''_1, g''_1, b''_1, z''_1 = Polygon(B''_1, Z''_1, G''_1)
B_1 = Mirror(B''_1, g''_1)
C_1 = Mirror(Z''_1, g''_1)
D_1 = Mirror(G''_1, g''_1)
poly10, d_2, b_2, c_2 = Polygon(B_1, C_1, D_1)
E_1 = Mirror(B_1, b_2)
F_1 = Mirror(C_1, b_2)
G_1 = Mirror(D_1, b_2)
poly10', g_2, e_2, f_2 = Polygon(E_1, F_1, G_1)
H_1 = Mirror(E_1, g_2)
I_1 = Mirror(F_1, g_2)
J_1 = Mirror(G_1, g_2)
poly10'', j_2, h_2, i_2 = Polygon(H_1, I_1, J_1)
K_1 = Mirror(H_1, i_2)
L_1 = Mirror(I_1, i_2)
M_1 = Mirror(J_1, i_2)
poly10''', m_2, k_2, l_2 = Polygon(K_1, L_1, M_1)
N_1 = Mirror(K_1, k_2)
O_1 = Mirror(L_1, k_2)
P_1 = Mirror(M_1, k_2)
poly11, p_2, n_2, o_1 = Polygon(N_1, O_1, P_1)
Q_1 = Mirror(N_1, o_1)
R_1 = Mirror(O_1, o_1)
S_1 = Mirror(P_1, o_1)
poly11', s_1, q_2, r_2 = Polygon(Q_1, R_1, S_1)
T_1 = Mirror(Q_1, s_1)
U_1 = Mirror(R_1, s_1)
V_1 = Mirror(S_1, s_1)
poly11'', v_1, t_1, u_1 = Polygon(T_1, U_1, V_1)
W_1 = Mirror(T_1, t_1)
Z_1 = Mirror(U_1, t_1)
A_2 = Mirror(V_1, t_1)
poly11''', a_2, w_1, z_1 = Polygon(W_1, Z_1, A_2)
B_2 = Mirror(W_1, a_2)
C_2 = Mirror(Z_1, a_2)
D_2 = Mirror(A_2, a_2)
poly12, d_3, b_3, c_3 = Polygon(B_2, C_2, D_2)
E_2 = Mirror(B_2, c_3)
F_2 = Mirror(C_2, c_3)
G_2 = Mirror(D_2, c_3)
poly12', g_3, e_3, f_3 = Polygon(E_2, F_2, G_2)
H_2 = Mirror(E_2, e_3)
I_2 = Mirror(F_2, e_3)
J_2 = Mirror(G_2, e_3)
poly12'', j_3, h_3, i_3 = Polygon(H_2, I_2, J_2)
K_2 = Mirror(H_2, i_3)
L_2 = Mirror(I_2, i_3)
M_2 = Mirror(J_2, i_3)
poly12''', m_3, k_3, l_3 = Polygon(K_2, L_2, M_2)
N_2 = Mirror(K_2, m_3)
O_2 = Mirror(L_2, m_3)
P_2 = Mirror(M_2, m_3)
poly13, p_3, n_3, o_2 = Polygon(N_2, O_2, P_2)
Q_2 = Mirror(E_1, f_2)
R_2 = Mirror(F_1, f_2)
S_2 = Mirror(G_1, f_2)
poly10''_1, s_2, q_3, r_3 = Polygon(Q_2, R_2, S_2)
T_2 = Mirror(Q_2, q_3)
U_2 = Mirror(R_2, q_3)
V_2 = Mirror(S_2, q_3)
poly14, v_2, t_2, u_2 = Polygon(T_2, U_2, V_2)
W_2 = Mirror(T_2, v_2)
Z_2 = Mirror(U_2, v_2)
A_3 = Mirror(V_2, v_2)
poly14', a_3, w_2, z_2 = Polygon(W_2, Z_2, A_3)
B_3 = Mirror(W_2, z_2)
C_3 = Mirror(Z_2, z_2)
D_3 = Mirror(A_3, z_2)
poly14'', d_4, b_4, c_4 = Polygon(B_3, C_3, D_3)
E_3 = Mirror(B_3, d_4)
F_3 = Mirror(C_3, d_4)
G_3 = Mirror(D_3, d_4)
poly14''', g_4, e_4, f_4 = Polygon(E_3, F_3, G_3)
H_3 = Mirror(E_3, e_4)
I_3 = Mirror(F_3, e_4)
J_3 = Mirror(G_3, e_4)
poly15, j_4, h_4, i_4 = Polygon(H_3, I_3, J_3)
K_3 = Mirror(H_3, i_4)
L_3 = Mirror(I_3, i_4)
M_3 = Mirror(J_3, i_4)
poly15', m_4, k_4, l_4 = Polygon(K_3, L_3, M_3)
N_3 = Mirror(K_3, k_4)
O_3 = Mirror(L_3, k_4)
P_3 = Mirror(M_3, k_4)
poly15'', p_4, n_4, o_3 = Polygon(N_3, O_3, P_3)
Q_3 = Mirror(N_3, p_4)
R_3 = Mirror(O_3, p_4)
S_3 = Mirror(P_3, p_4)
poly15''', s_3, q_4, r_4 = Polygon(Q_3, R_3, S_3)
T_3 = Mirror(Q_3, r_4)
U_3 = Mirror(R_3, r_4)
V_3 = Mirror(S_3, r_4)
poly16, v_3, t_3, u_3 = Polygon(T_3, U_3, V_3)
W_3 = Mirror(T_3, v_3)
Z_3 = Mirror(U_3, v_3)
A_4 = Mirror(V_3, v_3)
poly16', a_4, w_3, z_3 = Polygon(W_3, Z_3, A_4)
α = Angle(Q, P, O)
β = Angle(W_1, P, Q)
γ = Angle(V_1, P, W_1)
δ = Angle(N_1, P, V_1)
ε = Angle(O, P, N_1)

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)