trajet cube
Author: Daniel Mentrard

See path

Unfolded

Folded

What looks like this path  when the cube is folded?

Start/Stop

θ = 7.12 (slider from 0 to 9, step 0.02)
O = (0.7717472146932386, -5.485070608529395)
Zoom = 1.7 (slider from 1 to 5, step 0.1)
o = (6.417426710269137, -1.9940518750982337)
View = (6.573708495613798, -5.9280932904369035)
sintheta: sin(y(View))
sinphi: sin(x(View))
cosphi: cos(x(View))
X: (x(O) + Zoom * sinphi, y(O) - Zoom * cosphi * sintheta)
u = Vector(O, X)
Y: (x(O) + Zoom * cosphi, y(O) + Zoom * sinphi * sintheta)
v = Vector(O, Y)
costheta: cos(y(View))
Z: (x(O), y(O) + Zoom * costheta)
w = Vector(O, Z)
H: u * (-1.0) + v + w * (-1.0) + o
D = If(0.0 ≤ θ ∧ θ < 3.141592653589793 / 2.0, v * 2.0 * cos(3.141592653589793 / 2.0 - θ) + w * 2.0 * sin(3.141592653589793 / 2.0 - θ) + H, v * 2.0 + H)
G: u + v + w * (-1.0) + o
C = If(0.0 ≤ θ ∧ θ < 3.141592653589793 / 2.0, v * 2.0 * cos(3.141592653589793 / 2.0 - θ) + w * 2.0 * sin(3.141592653589793 / 2.0 - θ) + G, v * 2.0 + G)
E: u * (-1.0) + v * (-1.0) + w * (-1.0) + o
F: u + v * (-1.0) + w * (-1.0) + o
B = If(0.0 ≤ θ ∧ θ < 3.141592653589793 / 2.0, v * 2.0 * cos(3.141592653589793 - θ) + w * 2.0 * sin(3.141592653589793 - θ) + C, w * 2.0 + C)
A = If(0.0 ≤ θ ∧ θ < 3.141592653589793 / 2.0, v * 2.0 * cos(3.141592653589793 - θ) + w * 2.0 * sin(3.141592653589793 - θ) + D, w * 2.0 + D)
r = true
F2 = If(0.0 ≤ θ ∧ θ < 3.141592653589793 / 2.0, v * 2.0 * cos(3.141592653589793 - θ) + w * 2.0 * sin(3.141592653589793 - θ) + G, w * 2.0 + G)
E2 = If(0.0 ≤ θ ∧ θ < 3.141592653589793 / 2.0, v * 2.0 * cos(3.141592653589793 - θ) + w * 2.0 * sin(3.141592653589793 - θ) + H, w * 2.0 + H)
A2 = If(3.141592653589793 / 2.0 ≤ θ ∧ θ < 3.141592653589793, u * 2.0 * cos(θ) + w * 2.0 * sin(θ) + D, -(u) * 2.0 + D)
E3 = If(3.141592653589793 / 2.0 ≤ θ ∧ θ < 3.141592653589793, u * 2.0 * cos(θ) + w * 2.0 * sin(θ) + H, -(u) * 2.0 + H)
B2 = If(3.141592653589793 / 2.0 ≤ θ ∧ θ < 3.141592653589793, u * 2.0 * cos(θ - 3.141592653589793 / 2.0) + w * 2.0 * sin(θ - 3.141592653589793 / 2.0) + A2, w * 2.0 + A2)
F3 = If(3.141592653589793 / 2.0 ≤ θ ∧ θ < 3.141592653589793, u * 2.0 * cos(θ - 3.141592653589793 / 2.0) + w * 2.0 * sin(θ - 3.141592653589793 / 2.0) + E3, w * 2.0 + E3)
C2 = If(3.141592653589793 / 2.0 ≤ θ ∧ θ < 3.141592653589793, u * 2.0 * cos(θ - 3.141592653589793) + w * 2.0 * sin(θ - 3.141592653589793) + B2, u * 2.0 + B2)
G2 = If(3.141592653589793 / 2.0 ≤ θ ∧ θ < 3.141592653589793, u * 2.0 * cos(θ - 3.141592653589793) + w * 2.0 * sin(θ - 3.141592653589793) + F3, u * 2.0 + F3)
h_1 = Segment(G2, H)
C3 = If(3.141592653589793 < θ ∧ θ < 3.0 * 3.141592653589793 / 2.0, v * 2.0 * cos(3.0 * 3.141592653589793 / 2.0 - θ) + w * 2.0 * sin(3.0 * 3.141592653589793 / 2.0 - θ) + D, v * 2.0 + D)
G3 = If(3.141592653589793 < θ ∧ θ < 3.0 * 3.141592653589793 / 2.0, v * 2.0 * cos(2.0 * 3.141592653589793 - θ) + w * 2.0 * sin(2.0 * 3.141592653589793 - θ) + C3, w * 2.0 + C3)
B3 = If(3.141592653589793 < θ ∧ θ < 3.0 * 3.141592653589793 / 2.0, v * 2.0 * cos(3.0 * 3.141592653589793 / 2.0 - θ) + w * 2.0 * sin(3.0 * 3.141592653589793 / 2.0 - θ) + A2, v * 2.0 + A2)
F4 = If(3.141592653589793 < θ ∧ θ < 3.0 * 3.141592653589793 / 2.0, v * 2.0 * cos(2.0 * 3.141592653589793 - θ) + w * 2.0 * sin(2.0 * 3.141592653589793 - θ) + B3, w * 2.0 + B3)
H2 = If(3.141592653589793 < θ ∧ θ < 3.0 * 3.141592653589793 / 2.0, v * 2.0 * cos(2.0 * 3.141592653589793 - θ) + w * 2.0 * sin(2.0 * 3.141592653589793 - θ) + D, w * 2.0 + D)
E4 = If(3.141592653589793 < θ ∧ θ < 3.0 * 3.141592653589793 / 2.0, v * 2.0 * cos(2.0 * 3.141592653589793 - θ) + w * 2.0 * sin(2.0 * 3.141592653589793 - θ) + A2, w * 2.0 + A2)
q_1 = Segment(H2, G3)
F5 = If(3.0 * 3.141592653589793 / 2.0 < θ ∧ θ < 2.0 * 3.141592653589793, u * 2.0 * cos(θ - 3.141592653589793) + w * 2.0 * sin(θ - 3.141592653589793) + B3, -(u) * 2.0 + B3)
E5 = If(3.0 * 3.141592653589793 / 2.0 < θ ∧ θ < 2.0 * 3.141592653589793, u * 2.0 * cos(θ - 3.141592653589793) + w * 2.0 * sin(θ - 3.141592653589793) + A2, -(u) * 2.0 + A2)
G4 = If(3.0 * 3.141592653589793 / 2.0 < θ ∧ θ < 2.0 * 3.141592653589793, u * 2.0 * cos(θ - 3.0 * 3.141592653589793 / 2.0) + w * 2.0 * sin(θ - 3.0 * 3.141592653589793 / 2.0) + F5, w * 2.0 + F5)
H3 = If(3.0 * 3.141592653589793 / 2.0 < θ ∧ θ < 2.0 * 3.141592653589793, u * 2.0 * cos(θ - 3.0 * 3.141592653589793 / 2.0) + w * 2.0 * sin(θ - 3.0 * 3.141592653589793 / 2.0) + E5, w * 2.0 + E5)
D1 = If(3.0 * 3.141592653589793 / 2.0 < θ ∧ θ < 2.0 * 3.141592653589793, u * 2.0 * cos(θ - 3.0 * 3.141592653589793 / 2.0) + w * 2.0 * sin(θ - 3.0 * 3.141592653589793 / 2.0) + A2, w * 2.0 + A2)
C4 = If(3.0 * 3.141592653589793 / 2.0 < θ ∧ θ < 2.0 * 3.141592653589793, u * 2.0 * cos(θ - 3.0 * 3.141592653589793 / 2.0) + w * 2.0 * sin(θ - 3.0 * 3.141592653589793 / 2.0) + B3, w * 2.0 + B3)
d_2 = Segment(B3, C4)
f_2 = Segment(A2, D1)
g_2 = Segment(E5, H3)
h_2 = Segment(D1, C4)
j_2 = Segment(G4, H3)
k_2 = Segment(H3, D1)
C5 = If(2.0 * 3.141592653589793 < θ ∧ θ < 5.0 * 3.141592653589793 / 2.0, v * 2.0 * cos(5.0 * 3.141592653589793 / 2.0 - θ) + w * 2.0 * sin(5.0 * 3.141592653589793 / 2.0 - θ) + B3, v * 2.0 + B3)
G5 = If(2.0 * 3.141592653589793 < θ ∧ θ < 5.0 * 3.141592653589793 / 2.0, v * 2.0 * cos(5.0 * 3.141592653589793 / 2.0 - θ) + w * 2.0 * sin(5.0 * 3.141592653589793 / 2.0 - θ) + F5, v * 2.0 + F5)
D2 = If(2.0 * 3.141592653589793 < θ ∧ θ < 5.0 * 3.141592653589793 / 2.0, v * 2.0 * cos(3.0 * 3.141592653589793 - θ) + w * 2.0 * sin(3.0 * 3.141592653589793 - θ) + C5, w * 2.0 + C5)
H4 = If(2.0 * 3.141592653589793 < θ ∧ θ < 5.0 * 3.141592653589793 / 2.0, v * 2.0 * cos(3.0 * 3.141592653589793 - θ) + w * 2.0 * sin(3.0 * 3.141592653589793 - θ) + G5, w * 2.0 + G5)
E6 = If(2.0 * 3.141592653589793 < θ ∧ θ < 5.0 * 3.141592653589793 / 2.0, v * 2.0 * cos(3.0 * 3.141592653589793 - θ) + w * 2.0 * sin(3.0 * 3.141592653589793 - θ) + F5, w * 2.0 + F5)
A3 = If(2.0 * 3.141592653589793 < θ ∧ θ < 5.0 * 3.141592653589793 / 2.0, v * 2.0 * cos(3.0 * 3.141592653589793 - θ) + w * 2.0 * sin(3.0 * 3.141592653589793 - θ) + B3, w * 2.0 + B3)
p_2 = Segment(D2, C5)
q_2 = Segment(H4, G5)
r_2 = Segment(A3, B3)
s_2 = Segment(E6, F5)
t_2 = Segment(A3, D2)
a_3 = Segment(D2, H4)
b_3 = Segment(E6, H4)
c_3 = Segment(E6, A3)
poly1, e, f, g, h = Polygon(E, F, G, H)
poly2, a, b, c, d = Polygon(A, B, C, D)
poly3, a_4, e2, f2, b_4 = Polygon(A, E2, F2, B)
poly4, b_5, c_4, g_3, f2_1 = Polygon(B, C, G, F2)
poly5, c_5, d_3, h_3, g_4 = Polygon(C, D, H, G)
poly6, a_5, d_4, h_4, e2_1 = Polygon(A, D, H, E2)
poly7, a2, e3, f3, b2 = Polygon(A2, E3, F3, B2)
poly8, b2_1, f3_1, g2, c2 = Polygon(B2, F3, G2, C2)
poly9, a2_1, b2_2, c2_1, d_1 = Polygon(A2, B2, C2, D)
poly10, a2_2, e3_1, h_5, d_5 = Polygon(A2, E3, H, D)
poly11, e3_2, h_6, d_6, a2_3 = Polygon(E3, H, D, A2)
poly12, f4, g3, c3, b3 = Polygon(F4, G3, C3, B3)
poly13, c3_1, d_7, a2_4, b3_1 = Polygon(C3, D, A2, B3)
poly14, f4_1, e4, a2_5, b3_2 = Polygon(F4, E4, A2, B3)
poly15, e5, f5, b3_3, a2_6 = Polygon(E5, F5, B3, A2)
poly16, f5_1, g4, c4, b3_4 = Polygon(F5, G4, C4, B3)
poly17, b3_5, a2_7, d_8, c3_2 = Polygon(B3, A2, D, C3)
i = Segment(H2, D)
poly18, e5_1, a2_8, b3_6, f5_2 = Polygon(E5, A2, B3, F5)
poly19, g5, c5, b3_7, f5_3 = Polygon(G5, C5, B3, F5)
j = Segment(E4, H2)
traj2: 2.0 / 3.0 * H + 1.0 / 3.0 * D
Traj1: 3.0 / 4.0 * H + 1.0 / 4.0 * G
traj3: 2.0 / 4.0 * D + 2.0 / 4.0 * A2
Traj4: 1.0 / 3.0 * A2 + 2.0 / 3.0 * B3
Traj5: 3.0 / 4.0 * B3 + 1.0 / 4.0 * F5
k = Segment(F, Traj1)
l = Segment(Traj1, traj2)
m = Segment(traj2, traj3)
n = Segment(traj3, Traj4)
p = Segment(Traj4, Traj5)
q = Segment(Traj5, G5)
Traj6: 1.0 / 2.0 * A + 1.0 / 2.0 * D
s = Segment(traj2, Traj6)
Traj7: 1.0 / 3.0 * A2 + 2.0 / 3.0 * B2
t = Segment(Traj7, traj3)
Traj8: 1.0 / 3.0 * A + 2.0 / 3.0 * B
a_1 = Segment(Traj8, Traj6)
Traj9: 3.0 / 4.0 * B3 + 1.0 / 4.0 * F4
b_1 = Segment(Traj4, Traj9)
traj10: 3.0 / 4.0 * B2 + 1.0 / 4.0 * F3
c_1 = Segment(traj10, Traj7)
traj11: 3.0 / 4.0 * B + 1.0 / 4.0 * F2
e_1 = Segment(Traj8, traj11)
f_1 = Segment(Traj5, G4)
g_1 = Segment(G3, Traj9)
i_1 = Segment(traj10, G2)
j_1 = Segment(traj11, G)
z = true