rotation du 
parallèlépipède rectangle

déplacement du plan

dimensions du 
parallèlépipède rectangle

c = 1.7 (slider from 1 to 4, step 0.05)
b = 4 (slider from 1 to 4, step 0.05)
a = 1.7 (slider from 1 to 4, step 0.05)
phi = 0.24434609527920614 rad (slider from 0 to 6.283185307179586, step 0.017453292519943295)
theta = 0.12217304763960307 rad (slider from 0 to 6.283185307179586, step 0.017453292519943295)
O = Intersect(xAxis, yAxis)
B = Point(xAxis)
i = Vector(O, B)
C = Point(yAxis)
j = Vector(O, C)
u: cos(phi) * i - sin(theta) * sin(phi) * j
w: -1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * sin(phi) * i - sin(theta) * cos(phi) * j
v': -1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * sin(theta) * j
v: cos(theta) * j
D = placer(theta, phi, -1.0 * a / 2.0, b / 2.0, c / 2.0)
E = placer(theta, phi, a / 2.0, -1.0 * b / 2.0, c / 2.0)
F = placer(theta, phi, a / 2.0, b / 2.0, -1.0 * c / 2.0)
G = placer(theta, phi, -1.0 * a / 2.0, -1.0 * b / 2.0, c / 2.0)
H = placer(theta, phi, -1.0 * a / 2.0, b / 2.0, -1.0 * c / 2.0)
I = placer(theta, phi, a / 2.0, -1.0 * b / 2.0, -1.0 * c / 2.0)
J = placer(theta, phi, -1.0 * a / 2.0, -1.0 * b / 2.0, -1.0 * c / 2.0)
poly1, d, h, j_1, g = Polygon(D, H, J, G)
A = placer(theta, phi, a / 2.0, b / 2.0, c / 2.0)
poly2, d_1, a_1, f, h_1 = Polygon(D, A, F, H)
poly3, j_2, h_2, f_1, i_1 = Polygon(J, H, F, I)
poly4, g_1, e, a_2, d_2 = Polygon(G, E, A, D)
poly5, g_2, j_3, i_2, e_1 = Polygon(G, J, I, E)
poly6, e_2, a_3, f_2, i_3 = Polygon(E, A, F, I)
z = -0.55 (slider from -4 to 4, step 0.05)
K = placer(theta, phi, 3.0, 3.0, z)
L = placer(theta, phi, -3.0, 3.0, z)
M = placer(theta, phi, 3.0, -3.0, z)
N = placer(theta, phi, -3.0, -3.0, z)
poly7, m, n, l, k = Polygon(M, N, L, K)
P = If(z ≥ -1.0 * 1.0 * 1.0 * 1.0 * 1.0 * c / 2.0, If[z ≤ c / 2.0, placer[theta, phi, a / 2.0, b / 2.0, z], placer[theta, phi, 0.0, 0.0, -1000.0]], placer[theta, phi, 0.0, 0.0, -1000.0])
Q = If(z ≥ -1.0 * 1.0 * 1.0 * 1.0 * c / 2.0, If[z ≤ c / 2.0, placer[theta, phi, -1.0 * a / 2.0, b / 2.0, z], placer[theta, phi, 0.0, 0.0, -1000.0]], placer[theta, phi, 0.0, 0.0, -1000.0])
R = If(z ≥ -1.0 * 1.0 * 1.0 * c / 2.0, If[z ≤ c / 2.0, placer[theta, phi, a / 2.0, -1.0 * b / 2.0, z], placer[theta, phi, 0.0, 0.0, -1000.0]], placer[theta, phi, 0.0, 0.0, -1000.0])
S = If(z ≥ -1.0 * 1.0 * c / 2.0, If[z ≤ c / 2.0, placer[theta, phi, -1.0 * a / 2.0, -1.0 * b / 2.0, z], placer[theta, phi, 0.0, 0.0, -1000.0]], placer[theta, phi, 0.0, 0.0, -1000.0])
poly8, r, s, q, p = Polygon(R, S, Q, P)

Tool: point3D (command placer)
placer[theta,phi,x,y,z]
Input: theta, phi, a, b, c
Output: D

D: (-1.0 * 1.0 * 1.0 * 1.0 * a * sin(phi) + b * cos(phi), -1.0 * 1.0 * 1.0 * 1.0 * a * sin(theta) * cos(phi) - b * sin(theta) * sin(phi) + c * cos(theta))