rotation de la pyramide

déplacement du plan

dimensions de la pyramide

a = 6 (slider from 1 to 8, step 0.1)
theta = 0.3141592653589793 rad (slider from 0 to 6.283185307179586, step 0.017453292519943295)
phi = 1.6406094968746698 rad (slider from 0 to 6.283185307179586, step 0.017453292519943295)
h = 4.8 (slider from 1 to 5, step 0.1)
A = Intersect(xAxis, yAxis)
B = Point(xAxis)
i = Vector(A, B)
C = Point(yAxis)
j = Vector(A, 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 * 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 * sin(theta) * j
v: cos(theta) * j
E = placer(theta, phi, 0.0, -1.0 * a / 2.0, 0.0)
F = placer(theta, phi, a / 2.0, 0.0, 0.0)
G = placer(theta, phi, -1.0 * a / 2.0, 0.0, 0.0)
H = placer(theta, phi, 0.0, 0.0, h)
poly1, g, e, h5 = Polygon(E, H, G)
D = placer(theta, phi, 0.0, a / 2.0, 0.0)
poly2, d, h_1, g_1 = Polygon(H, G, D)
poly3, d_1, h_2, f = Polygon(H, F, D)
poly4, f_1, h_3, e_1 = Polygon(H, E, F)
poly5, e_2, g_2, d_2, f_2 = Polygon(E, G, D, F)
z = 0.55 (slider from -1 to 6, step 0.05)
I = placer(theta, phi, 5.0, 5.0, z)
J = placer(theta, phi, -5.0, 5.0, z)
K = placer(theta, phi, -5.0, -5.0, z)
L = placer(theta, phi, 5.0, -5.0, z)
poly6, i_1, l, k, j_1 = Polygon(I, L, K, J)
M = If(z ≥ 0.0, If[z ≤ h, placer[theta, phi, a * (h - z) / (2.0 * h), 0.0, z], placer[theta, phi, a * (h - z) / (2.0 * h), 0.0, -1000.0]], placer[theta, phi, a * (h - z) / (2.0 * h), 0.0, -1000.0])
N = If(z ≥ 0.0, If[z ≤ h, placer[theta, phi, -1.0 * a * (h - z) / (2.0 * h), 0.0, z], placer[theta, phi, a * (h - z) / (2.0 * h), 0.0, -1000.0]], placer[theta, phi, a * (h - z) / (2.0 * h), 0.0, -1000.0])
O = If(z ≥ 0.0, If[z ≤ h, placer[theta, phi, 0.0, a * (h - z) / (2.0 * h), z], placer[theta, phi, a * (h - z) / (2.0 * h), 0.0, -1000.0]], placer[theta, phi, a * (h - z) / (2.0 * h), 0.0, -1000.0])
P = If(z ≥ 0.0, If[z ≤ h, placer[theta, phi, 0.0, -1.0 * a * (h - z) / (2.0 * h), z], placer[theta, phi, a * (h - z) / (2.0 * h), 0.0, -1000.0]], placer[theta, phi, a * (h - z) / (2.0 * h), 0.0, -1000.0])
poly7, p, m, o, n = Polygon(P, M, O, N)

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 * 1.0 * a * sin(phi) + b * cos(phi), -1.0 * 1.0 * 1.0 * 1.0 * 1.0 * a * sin(theta) * cos(phi) - b * sin(theta) * sin(phi) + c * cos(theta))