O = Intersect(yAxis, zAxis)
r = OrthogonalLine(O, xOyPlane)
O' = Point(r)
p = Plane(O', xOyPlane)
i = UnitVector(x = 0)
U = Point(i)
u = Vector(O, O')
r' = Translate(r, u)
U' = Translate(U, u)
s = Ray(O', U')
R = Point(s)
c = Circle(r', R)
A = Point(c)
a = Distance(A, r')
AO' = Line(A, O')
f = OrthogonalLine(O', AO', p)
D, E = Intersect(f, c)
B, C = Intersect(AO', c)
F = Point(Circle[D, Distance[A, D], Segment[A, D]])
b, G, H, I, J, K, facciaADFG, facciaAGKH, facciaADIH, facciaDFJI, facciaFGKJ, facciaHIJK, spigoloAG, spigoloAD_1, spigoloDF, spigoloFG, spigoloAH, spigoloGK, spigoloHK, spigoloHI, spigoloDI, spigoloIJ, spigoloFJ, spigoloJK = Cube(A, D, F)
L = Point(Circle[Midpoint[A, D], (Distance[A, D] * sqrt(3) / 2), Segment[A, D]])
d, M, facciaADL, facciaALM, facciaADM, facciaDLM, spigoloAL, spigoloAD_2, spigoloDL, spigoloAM, spigoloLM, spigoloDM = Tetrahedron(A, D, L)
e = Plane(A, D, L)
g, N, P, Q, S, facciaADN, facciaANS, facciaAPS, facciaADP, facciaDPQ, facciaDNQ, facciaNQS, facciaPQS, spigoloAN, spigoloAD, spigoloDN, spigoloAS, spigoloNS, spigoloAP, spigoloPS, spigoloDP, spigoloDQ, spigoloPQ, spigoloNQ, spigoloQS = Octahedron(A, D, e)
T = Midpoint(spigoloAD)
V = Midpoint(spigoloAP)
W = Midpoint(spigoloAS)
Z = Midpoint(spigoloAN)
A_1 = Midpoint(spigoloDN)
B_1 = Midpoint(spigoloDP)
C_1 = Midpoint(spigoloDQ)
D_1 = Midpoint(spigoloNQ)
E_1 = Midpoint(spigoloQS)
F_1 = Midpoint(spigoloPQ)
G_1 = Midpoint(spigoloPS)
H_1 = Midpoint(spigoloNS)
h = Segment(T, A)
A' = Point(h)
α = Plane(V, T, W)
β = Plane(A', α)
J_1 = Intersect(spigoloAP, β)
K_1 = Intersect(spigoloAS, β)
L_1 = Intersect(spigoloAN, β)
M_1 = Mirror(A', T)
l = Plane(T, B_1, C_1)
m = Plane(M_1, l)
N_1 = Intersect(spigoloDP, m)
O_1 = Intersect(spigoloDQ, m)
P_1 = Intersect(spigoloDN, m)
Q_1 = Mirror(O_1, C_1)
n = Plane(E_1, F_1, C_1)
o = Plane(Q_1, n)
R_1 = Intersect(spigoloPQ, o)
S_1 = Intersect(spigoloQS, o)
T_1 = Intersect(spigoloNQ, o)
U_1 = Mirror(S_1, E_1)
q = Plane(E_1, G_1, W)
t = Plane(U_1, q)
V_1 = Intersect(spigoloPS, t)
W_1 = Intersect(spigoloAS, t)
Z_1 = Intersect(spigoloNS, t)
A_2 = Mirror(N_1, B_1)
B_2 = Mirror(J_1, V)
C_2 = Mirror(V_1, G_1)
D_2 = Mirror(R_1, F_1)
E_2 = Mirror(Z_1, H_1)
F_2 = Mirror(L_1, Z)
G_2 = Mirror(P_1, A_1)
H_2 = Mirror(T_1, D_1)
poli1, b_2, j_1, i_1, m_1, n_1, a_2 = Polygon(B_2, J_1, A', M_1, N_1, A_2)
poli2, a_1, d_2, r_1, q_1, o_1, n_2 = Polygon(A_2, D_2, R_1, Q_1, O_1, N_1)
poli3, b_1, c_2, v_1, w_1, k_1, j_2 = Polygon(B_2, C_2, V_1, W_1, K_1, J_1)
poli4, i_2, l_1, f_2, g_2, p_1, m_2 = Polygon(A', L_1, F_2, G_2, P_1, M_1)
q1, o_2, p_2, m_3, n_3 = Polygon(O_1, P_1, M_1, N_1)
q2, j_3, i_3, l_2, k_2 = Polygon(J_1, A', L_1, K_1)
q3, c_1, d_1, a_3, b_3 = Polygon(C_2, D_2, A_2, B_2)
poli5, r_2, s_1, u_1, v_2, c_3, d_3 = Polygon(R_1, S_1, U_1, V_1, C_2, D_2)
poli6, s_2, t_1, h_2, e_2, z_1, u_2 = Polygon(S_1, T_1, H_2, E_2, Z_1, U_1)
poli7, w_2, z_2, e_1, f_1, l_3, k_3 = Polygon(W_1, Z_1, E_2, F_2, L_1, K_1)
poli8, o_3, p_3, g_1, h_1, t_2, q_2 = Polygon(O_1, P_1, G_2, H_2, T_1, Q_1)
q4, r_3, s_3, t_3, q_3 = Polygon(R_1, S_1, T_1, Q_1)
q5, v_3, w_3, z_3, u_3 = Polygon(V_1, W_1, Z_1, U_1)
q6, f_3, e_3, h_3, g_3 = Polygon(F_2, E_2, H_2, G_2)
j = Plane(B_1, p)
k = Line(T, C_1)
f_4 = Line(B_1, k)
g_4 = Line(C_1, E_1)
h_4 = Line(F_1, g_4)
I_1 = Intersect(h_4, f_4)
I_2 = Mirror(I_1, B_1)
J_2 = Point(Circle[I_1, Distance[I_2, I_1], Segment[I_2, I_1]])
i_4 = Line(D_1, h_4)
j_4 = Line(A_1, f_4)
K_2 = Intersect(j_4, i_4)
L_2 = Mirror(K_2, A_1)
M_2 = Point(Circle[K_2, Distance[L_2, K_2], Segment[L_2, K_2]])
v, N_2, O_2, P_2, Q_2, R_2, faccia1, faccia4, faccia2, faccia3, faccia5, faccia6, spigolo4, spigolo1, spigolo2, spigolo6, spigolo5, spigolo8, spigolo10, spigolo9, spigolo3, spigolo11, spigolo7, spigolo12 = Cube(L_2, K_2, M_2)
S_2 = Midpoint(spigolo10)
T_2 = Midpoint(spigolo9)
U_2 = Midpoint(spigolo5)
k_4 = Segment(O_2, U_2)
V_2 = Point(k_4)
w = Plane(S_2, T_2, U_2)
a_4 = Plane(V_2, w)
W_2 = Intersect(spigolo10, a_4)
Z_2 = Intersect(spigolo9, a_4)
A_3 = Mirror(V_2, U_2)
B_3 = Mirror(W_2, S_2)
C_3 = Mirror(Z_2, T_2)
D_3 = Midpoint(spigolo12)
E_3 = Midpoint(spigolo6)
F_3 = Midpoint(spigolo8)
b_4 = Plane(D_3, S_2, F_3)
c_4 = Plane(B_3, b_4)
G_3 = Intersect(spigolo12, c_4)
H_3 = Intersect(spigolo8, c_4)
I_3 = Mirror(G_3, D_3)
J_3 = Mirror(H_3, F_3)
l_4 = Line(I_3, spigolo7)
m_4 = Line(G_3, spigolo7)
K_3 = Intersect(spigolo6, l_4)
L_3 = Intersect(m_4, spigolo6)
n_4 = Line(J_3, spigolo6)
p_4 = Line(H_3, spigolo6)
M_3 = Intersect(spigolo7, p_4)
N_3 = Intersect(spigolo7, n_4)
q_4 = Line(N_3, spigolo2)
r_4 = Line(M_3, spigolo2)
O_3 = Intersect(r_4, spigolo3)
P_3 = Intersect(spigolo3, q_4)
s_4 = Line(Z_2, spigolo5)
t_4 = Line(C_3, spigolo5)
Q_3 = Intersect(s_4, spigolo1)
R_3 = Intersect(t_4, spigolo1)
d_4 = Line(B_3, spigolo8)
e_4 = Line(W_2, spigolo8)
S_3 = Intersect(d_4, spigolo4)
T_3 = Intersect(e_4, spigolo4)
f_5 = Line(W_2, spigolo9)
g_5 = Line(B_3, spigolo9)
U_3 = Intersect(f_5, spigolo11)
V_3 = Intersect(g_5, spigolo11)
h_5 = Line(U_3, spigolo3)
i_5 = Line(V_3, spigolo3)
W_3 = Intersect(h_5, spigolo2)
Z_3 = Intersect(i_5, spigolo2)
poli9, b_5, h_6, j_5, s_5, t_5, a_5, v_4, w_4 = Polygon(B_3, H_3, J_3, S_3, T_3, A_3, V_2, W_2)
poli10, z_4, v_5, a_6, q_5, r_5, p_5, o_4, c_5 = Polygon(Z_2, V_2, A_3, Q_3, R_3, P_3, O_3, C_3)
poli11, u_4, o_5, p_6, w_5, z_5, n_5, m_5, v_6 = Polygon(U_3, O_3, P_3, W_3, Z_3, N_3, M_3, V_3)
poli12, i_6, m_6, n_6, k_5, l_5, j_6, h_7, g_6 = Polygon(I_3, M_3, N_3, K_3, L_3, J_3, H_3, G_3)
poli13, k_6, z_6, w_6, r_6, q_6, t_6, s_6, l_6 = Polygon(K_3, Z_3, W_3, R_3, Q_3, T_3, S_3, L_3)
poli14, z_7, c_6, u_5, v_7, i_7, g_7, b_6, w_7 = Polygon(Z_2, C_3, U_3, V_3, I_3, G_3, B_3, W_2)
t1, b_7, g_8, h_8 = Polygon(G_3, H_3, B_3)
t2, v_8, i_8, m_7 = Polygon(I_3, M_3, V_3)
t3, c_7, u_6, o_6 = Polygon(U_3, O_3, C_3)
t4, v_9, z_8, w_8 = Polygon(Z_2, W_2, V_2)
t5, s_7, j_7, l_7 = Polygon(J_3, L_3, S_3)
t6, k_7, n_7, z_9 = Polygon(N_3, Z_3, K_3)
t7, q_7, a_7, t_7 = Polygon(A_3, T_3, Q_3)
t8, r_7, p_7, w_9 = Polygon(P_3, W_3, R_3)