NET of a Cube
Author: Edward M. Knote

Net

s

w

h

Formula

A

B

h

w

s

s = 3 (slider from 1 to 5, step 0.1)
A = (-3.136661849756099, -1.1507389170731657)
B = Point(Circle[A, s])
a = Segment(A, B)
poly1, a_1, b, c, d, C, D = Polygon(A, B, 4.0)
e: 3.0 * s / 4.5
f = Circle(B, e)
g = Line(A, B)
E = Intersect(f, g, 2.0)
E' = Rotate(E, 30.0*°, B)
h = OrthogonalLine(E', g)
i = Segment(B, E')
j = Line(C, i)
F = Intersect(h, j)
poly2, e', f_1, k, l, G, H = Polygon(E', F, 4.0)
poly3, a_2, h_1, g_1, d_1 = Polygon(A, H, G, D)
poly4, c_1, f_2, e'_1, b_1 = Polygon(C, F, E', B)
p = Circle(B, A)
q = Circle(A, B)
I = Intersect(q, g, 2.0)
J = Intersect(p, g, 2.0)
r = Circle(J, B)
K = Intersect(r, g, 2.0)
m = Line(J, e'_1)
n = Line(K, e'_1)
t = Line(I, a_2)
e_1 = Line(H, E')
L = Intersect(t, e_1)
M = Intersect(m, e_1)
N = Intersect(n, e_1)
i_1 = Line(B, E')
j_1 = Line(A, H)
O = Intersect(f, i_1, 2.0)
k_1 = Line(O, g)
p_1 = Circle(E', B)
P = Intersect(p_1, i_1, 2.0)
l_1 = Line(P, e_1)
Q = Intersect(j_1, l_1)
m_1 = Line(C, B)
q_1 = Circle(C, B)
R = Intersect(q_1, m_1, 2.0)
n_1 = Line(R, c_1)
S = Intersect(h, n_1)
T = Intersect(j_1, k_1)
r_1 = CircleArc(C, R, D)
s_1 = CircleArc(B, K, R)
t_1 = CircleArc(E', N, S)
c_2 = CircleArc(E', M, F)
d_2 = CircleArc(B, J, C)
e_2 = CircleArc(A, B, I)
g_2 = CircleArc(H, G, L)
h_2 = CircleArc(F, S, G)
u = Vector(F, P)
v = Vector(C, O)
w = Vector(D, R)
u_1 = Vector(S, N)
v_1 = Vector(D, I)
o = 0 (slider from 0 to 6, step 0.1)
D'_1 = Translate(D, Vector[o * w])
b_2 = Ray(C, D'_1)
U = Intersect(r_1, b_2, 1.0)
G'_1 = Translate(G, Vector[o * w])
i_2 = Ray(F, G'_1)
V = Intersect(h_2, i_2, 1.0)
j_2 = LineBisector(F, P)
W = Intersect(f, j_2, 2.0)
k_2 = CircleArc(W, P, F)
l_2 = Line(W, l_1)
m_2 = LineBisector(G, Q)
Z = Intersect(l_2, m_2)
p_2 = CircleArc(Z, Q, G)
C' = Translate(C, Vector[(o - 1.0) * v])
D'_2 = Translate(D, Vector[(o - 1.0) * v])
A_1 = If(o < 1.0, C, If[o < 2.0, C', O])
B_1 = If(o < 1.0, D, If[o < 2.0, D'_2, T])
D' = Translate(D, Vector[(o - 2.0) * v_1])
G'_2 = Translate(G, Vector[(o - 2.0) * v_1])
n_2 = Ray(A, D')
q_2 = Ray(H, G'_2)
C_1 = Intersect(e_2, n_2, 1.0)
D_1 = Intersect(g_2, q_2)
E_1 = If(o < 2.0, G, If[o < 3.0, D_1, L])
F_1 = If(o < 2.0, D, If[o < 3.0, C_1, I])
G' = Translate(G, Vector[(o - 3.0) * u])
F' = Translate(F, Vector[(o - 3.0) * u])
r_2 = Ray(H, G')
s_2 = Ray(E', F')
G_1 = Intersect(p_2, r_2, 1.0)
H_1 = Intersect(k_2, s_2, 1.0)
I_1 = If(o < 3.0, G, If[o < 4.0, G_1, Q])
J_1 = If(o < 3.0, F, If[o < 4.0, H_1, P])
S' = Translate(S, Vector[(o - 4.0) * u_1])
t_2 = Ray(E', S')
K_1 = Intersect(t_1, t_2, 1.0)
L_1 = Intersect(c_2, t_2, 1.0)
R' = Translate(R, Vector[(o - 4.0) * u_1])
a_3 = Ray(B, R')
M_1 = Intersect(s_1, a_3, 1.0)
N_1 = Intersect(d_2, a_3, 1.0)
O_1 = If(o < 1.0, U, If[o < 4.0, R, If[o < 5.0, M_1, K]])
P_1 = If(o < 1.0, V, If[o < 4.0, S, If[o < 5.0, K_1, N]])
Q_1 = If(o < 4.0, C, If[o < 5.0, N_1, J])
R_1 = If(o < 4.0, F, If[o < 5.0, L_1, M])
S_1 = Midpoint(B, E')
T_1 = Midpoint(A, H)
c_3 = Line(T_1, S_1)
d_3 = Circle(S_1, a / 2.0)
g_3 = OrthogonalLine(S_1, c_3)
U_1, V_1 = Intersect(d_3, g_3)
poly11, u_2, v_2, k_3, l_3, W_1, Z_1 = Polygon(U_1, V_1, 4.0)
poly12, z_1, w_1, m_3, n_3, A_2, B_2 = Polygon(Z_1, W_1, 4.0)
poly13, u_3, z_2, s_3, t_3, C_2, D_2 = Polygon(U_1, Z_1, 4.0)
poly14, w_2, v_3, c_4, d_4, E_2, F_2 = Polygon(W_1, V_1, 4.0)
poly15, v_4, u_4, e_4, f_4, G_2, H_2 = Polygon(V_1, U_1, 4.0)
poly16, h_6, g_4, i_4, j_4, I_2, J_2 = Polygon(H_2, G_2, 4.0)
m_4 = Segment(B, U_1)
n_4 = LineBisector(m_4)
z = Vector(B, U_1)
z_4 = Vector(T, C_2)
u_5 = Vector(L, A_2)
w_5 = Vector(P, E_2)
I' = Translate(I, Vector[z * (o - 5.0)])
A' = Translate(A, Vector[z * (o - 5.0)])
B' = Translate(B, Vector[z * (o - 5.0)])
J' = Translate(J, Vector[z * (o - 5.0)])
K' = Translate(K, Vector[z * (o - 5.0)])
L' = Translate(L, Vector[u_5 * (o - 5.0)])
H' = Translate(H, Vector[u_5 * (o - 5.0)])
E'' = Translate(E', Vector[u_5 * (o - 5.0)])
M' = Translate(M, Vector[u_5 * (o - 5.0)])
N' = Translate(N, Vector[u_5 * (o - 5.0)])
T' = Translate(T, Vector[z_4 * (o - 5.0)])
O' = Translate(O, Vector[z_4 * (o - 5.0)])
P' = Translate(P, Vector[w_5 * (o - 5.0)])
Q' = Translate(Q, Vector[w_5 * (o - 5.0)])
K_2 = If(o < 5.0, O_1, If[o < 6.0, K', I_2])
L_2 = If(o < 5.0, P_1, If[o < 6.0, N', J_2])
M_2 = If(o < 5.0, Q_1, If[o < 6.0, J', G_2])
N_2 = If(o < 5.0, R_1, If[o < 6.0, M', H_2])
O_2 = If(o < 5.0, E', If[o < 6.0, E'', V_1])
P_2 = If(o < 5.0, H, If[o < 6.0, H', W_1])
Q_2 = If(o < 5.0, E_1, If[o < 6.0, L', A_2])
R_2 = If(o < 5.0, J_1, If[o < 6.0, P', E_2])
S_2 = If(o < 5.0, I_1, If[o < 6.0, Q', F_2])
T_2 = If(o < 5.0, B, If[o < 6.0, B', U_1])
U_2 = If(o < 5.0, A, If[o < 6.0, A', Z_1])
V_2 = If(o < 5.0, A_1, If[o < 6.0, O', D_2])
W_2 = If(o < 5.0, B_1, If[o < 6.0, T', C_2])
Z_2 = If(o < 5.0, F_1, If[o < 6.0, I', B_2])
poly5, z_3, q_3, p_3, u_6 = Polygon(Z_2, Q_2, P_2, U_2)
poly6, u_7, t_4, v_5, w_3 = Polygon(U_2, T_2, V_2, W_2)
poly7, u_8, p_4, o_2, t_5 = Polygon(U_2, P_2, O_2, T_2)
poly8, o_1, n_5, m_5, t_6 = Polygon(O_2, N_2, M_2, T_2)
poly9, n_6, l_4, k_4, m_6 = Polygon(N_2, L_2, K_2, M_2)
poly10, o_3, r_3, s_4, p_5 = Polygon(O_2, R_2, S_2, P_2)
B_3 = Intersect(k, v_5)
b_3 = Segment(G, B_3)
A_3 = Intersect(v_5, a_2)
e_3 = Segment(P_2, A_3)
C_3 = Intersect(t_4, p_5)
D_3 = Intersect(m_5, p_5)
f_3 = Segment(D_3, C_3)
h_3 = Segment(D_3, P_2)
i_3 = false
E_3 = (8.270462638048778, -2.101332624390239)
F_3 = Point(Circle[E_3, s])
j_3 = Segment(E_3, F_3)
a_4 = Line(E_3, F_3)
h_4 = Circle(F_3, e)
G_3 = Intersect(h_4, a_4, 2.0)
H_3 = Rotate(G_3, 30.0*°, F_3)
b_4 = Segment(F_3, H_3)
q_4 = Line(H_3, j_3)
r_4 = Line(E_3, b_4)
I_3 = Intersect(q_4, r_4)
a_5 = OrthogonalLine(H_3, q_4)
b_5 = OrthogonalLine(F_3, j_3)
c_5 = OrthogonalLine(E_3, a_4)
d_5 = OrthogonalLine(I_3, q_4)
e_5 = Circle(E_3, s)
J_3 = Intersect(e_5, c_5, 2.0)
f_5 = OrthogonalLine(J_3, c_5)
g_5 = Circle(I_3, s)
K_3 = Intersect(g_5, d_5, 2.0)
h_5 = OrthogonalLine(K_3, d_5)
L_3 = Intersect(a_5, h_5)
M_3 = Intersect(b_5, f_5)
poly17, j_5, m_7, l_5, k_5 = Polygon(J_3, M_3, L_3, K_3)
poly18, j_6, e_6, f_6, m_8 = Polygon(J_3, E_3, F_3, M_3)
poly19, f_7, m_9, l_6, h_7 = Polygon(F_3, M_3, L_3, H_3)
poly20, i_5, k_6, l_7, h_8 = Polygon(I_3, K_3, L_3, H_3)
poly21, e_7, j_7, k_7, i_6 = Polygon(E_3, J_3, K_3, I_3)
poly22, e_8, i_7, h_9, f_8 = Polygon(E_3, I_3, H_3, F_3)