Tassellazione semiregolare del piano usando 2 esagoni e 2 triangoli per ogni vertice

A = (0.5728978721817999, 5.887799562262153)
B = (0.7997197451546509, 6.29891420702545)
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)
poly6, m, n, p, q, r, s, G, H, I, J = Polygon(B, Z, 6)
poly7, t, a_1, b_1, c_1, d_1, g_1, K, L, M, N = Polygon(V, U, 6)
B' = Mirror(B, G)
Z' = Mirror(Z, G)
G' = Mirror(G, G)
H' = Mirror(H, G)
I' = Mirror(I, G)
J' = Mirror(J, G)
poly6', b', z', g', h', i', j' = Polygon(B', Z', G', H', I', J')
B'_1 = Mirror(B, J)
Z'_1 = Mirror(Z, J)
G'_1 = Mirror(G, J)
H'_1 = Mirror(H, J)
I'_1 = Mirror(I, J)
J'_1 = Mirror(J, J)
poly6'_1, b'_1, z'_1, g'_1, h'_1, i'_1, j'_1 = Polygon(B'_1, Z'_1, G'_1, H'_1, I'_1, J'_1)
V' = Mirror(V, K)
U' = Mirror(U, K)
K' = Mirror(K, K)
L' = Mirror(L, K)
M' = Mirror(M, K)
N' = Mirror(N, K)
poly7', v', u', k', l', m', n' = Polygon(V', U', K', L', M', N')
V'_1 = Mirror(V, N)
U'_1 = Mirror(U, N)
K'_1 = Mirror(K, N)
L'_1 = Mirror(L, N)
M'_1 = Mirror(M, N)
N'_1 = Mirror(N, N)
poly7'_1, v'_1, u'_1, k'_1, l'_1, m'_1, n'_1 = Polygon(V'_1, U'_1, K'_1, L'_1, M'_1, N'_1)
B'_2 = Mirror(B, A)
A' = Mirror(A, A)
U'_2 = Mirror(U, A)
V'_2 = Mirror(V, A)
W' = Mirror(W, A)
Z'_2 = Mirror(Z, A)
poly4', b'_2, a', u'_2, v'_2, w', z'_2 = Polygon(B'_2, A', U'_2, V'_2, W', Z'_2)
B'_3 = Mirror(B, W)
A'_1 = Mirror(A, W)
U'_3 = Mirror(U, W)
V'_3 = Mirror(V, W)
W'_1 = Mirror(W, W)
Z'_3 = Mirror(Z, W)
poly4'_1, b'_3, a'_1, u'_3, v'_3, w'_1, z'_3 = Polygon(B'_3, A'_1, U'_3, V'_3, W'_1, Z'_3)
poly8, c_2, b_2, j_1 = Polygon(B, J, C)
poly9, f_2, z_1, g_2 = Polygon(Z, G, F)
poly10, v_1, e_2, n_1 = Polygon(E, N, V)
poly11, d_2, u_1, k_1 = Polygon(U, K, D)
α = Angle(Z, B, J)
β = Angle(A, B, Z)
γ = Angle(J, B, C)
δ = Angle(C, B, A)
O = Intersect(r, s)
P = Intersect(n, p)
Q = Intersect(g_1, m'_1)
R = Intersect(a_1, k')
B'_4 = Mirror(B, O)
J'_2 = Mirror(J, O)
C' = Mirror(C, O)
poly8', c', b'_4, j'_2 = Polygon(B'_4, J'_2, C')
Z'_4 = Mirror(Z, P)
G'_2 = Mirror(G, P)
F' = Mirror(F, P)
poly9', f', z'_4, g'_2 = Polygon(Z'_4, G'_2, F')
E' = Mirror(E, Q)
N'_2 = Mirror(N, Q)
V'_4 = Mirror(V, Q)
poly10', v'_4, e', n'_2 = Polygon(E', N'_2, V'_4)
U'_4 = Mirror(U, R)
K'_2 = Mirror(K, R)
D' = Mirror(D, R)
poly11', d', u'_4, k'_2 = Polygon(U'_4, K'_2, D')

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)