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, spigoloDF, spigoloFG, spigoloAH, spigoloGK, spigoloHK, spigoloHI, spigoloDI, spigoloIJ, spigoloFJ, spigoloJK = Cube(A, D, F)
M' = Midpoint(spigoloAG)
M = Midpoint(spigoloAH)
M'' = Midpoint(spigoloAD)
h = Plane(M, M', M'')
AM = Segment(A, M)
P = Point(AM)
α = Plane(P, h)
L = Intersect(spigoloAD, α)
g = Line(P, spigoloAD)
N = Intersect(spigoloDI, g)
j = Line(N, spigoloDF)
Q = Intersect(spigoloFJ, j)
k = Line(Q, spigoloFG)
S = Intersect(spigoloGK, k)
T = Midpoint(spigoloDI)
V = Midpoint(spigoloDF)
W = Midpoint(spigoloFG)
Z = Midpoint(spigoloFJ)
A_1 = Midpoint(spigoloIJ)
B_1 = Midpoint(spigoloHI)
C_1 = Midpoint(spigoloHK)
D_1 = Midpoint(spigoloJK)
E_1 = Midpoint(spigoloGK)
F_1 = Midpoint(spigoloAG)
d = Plane(M'', T, V)
e = Plane(N, d)
G_1 = Intersect(spigoloDF, e)
H_1 = Intersect(spigoloAD, e)
l = Plane(Z, V, W)
m = Plane(Q, l)
I_1 = Intersect(spigoloFG, m)
J_1 = Intersect(spigoloDF, m)
P' = Mirror(P, M)
n = Plane(C_1, M, B_1)
o = Plane(P', n)
K_1 = Intersect(spigoloHK, o)
L_1 = Intersect(spigoloHI, o)
q = Line(P', spigoloHI)
M_1 = Intersect(spigoloDI, q)
t = Line(M_1, spigoloIJ)
N_1 = Intersect(spigoloFJ, t)
f_1 = Line(P', spigoloHK)
O_1 = Intersect(spigoloGK, f_1)
v = Plane(B_1, A_1, T)
w = Plane(M_1, v)
P_1 = Intersect(spigoloHI, w)
Q_1 = Intersect(spigoloIJ, w)
a_1 = Plane(A_1, Z, D_1)
b_1 = Plane(N_1, a_1)
R_1 = Intersect(spigoloIJ, b_1)
S_1 = Intersect(spigoloJK, b_1)
c_1 = Plane(D_1, C_1, E_1)
d_1 = Plane(O_1, c_1)
T_1 = Intersect(spigoloJK, d_1)
U_1 = Intersect(spigoloHK, d_1)
e_1 = Plane(W, E_1, F_1)
g_1 = Plane(S, e_1)
V_1 = Intersect(spigoloFG, g_1)
W_1 = Intersect(spigoloAG, g_1)
L' = Intersect(spigoloAG, α)
poli1, t_1, u_1, k_1, l_1, p_1, q_1, r_1, s_1 = Polygon(T_1, U_1, K_1, L_1, P_1, Q_1, R_1, S_1)
poli2, u_2, o_1, s_2, w_1, z_1, p_2, p', k_2 = Polygon(U_1, O_1, S, W_1, L', P, P', K_1)
poli3, l_2, p_3, m_1, n_1, h_1, l_3, p_4, p'_1 = Polygon(L_1, P_1, M_1, N, H_1, L, P, P')
poli4, n_2, m_2, q_2, r_2, n_3, q_3, j_1, g_2 = Polygon(N, M_1, Q_1, R_1, N_1, Q, J_1, G_1)
poli5, n_4, q_4, i_1, v_1, s_3, o_2, t_2, s_4 = Polygon(N_1, Q, I_1, V_1, S, O_1, T_1, S_1)
poli6, h_2, l_4, z_2, w_2, v_2, i_2, j_2, g_3 = Polygon(H_1, L, L', W_1, V_1, I_1, J_1, G_1)
t1, m_3, p_5, q_5 = Polygon(P_1, Q_1, M_1)
t2, g_4, h_3, n_5 = Polygon(H_1, N, G_1)
t3, n_6, s_5, r_3 = Polygon(S_1, R_1, N_1)
t4, i_3, q_6, j_3 = Polygon(Q, J_1, I_1)
t5, p'_2, k_3, l_5 = Polygon(K_1, L_1, P')
t6, l_6, p_6, l' = Polygon(P, L', L)
t7, o_3, t_3, u_3 = Polygon(T_1, U_1, O_1)
t8, v_3, s_6, w_3 = Polygon(S, W_1, V_1)