rotation

côté de la base carrée

Hauteur du triangle
(pas de la pyramide!)

plier - déplier

phi = 0.8901179185171081 rad (slider from 0 to 1.5707963267948966, step 0.017453292519943295)
theta = 0.4363323129985824 rad (slider from 0 to 1.5707963267948966, 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 * sin(phi) * i - sin(theta) * cos(phi) * j
v': -1 * sin(theta) * j
v: cos(theta) * j
A = (-6.4910416666666615, 6.338958333333334)
D = (-6.4910416666666615, 3.038958333333333)
E = (-4.0310416666666615, 3.018958333333333)
F = (-4.0310416666666615, 6.358958333333334)
h = 3.5 (slider from 1 to 5, step 0.1)
c = 2.6 (slider from 1 to 5, step 0.1)
G = placer(theta, phi, (-c) / 2, (-c) / 2, 0)
I = placer(theta, phi, (-c) / 2, c / 2, 0)
J = placer(theta, phi, c / 2, (-c) / 2, 0)
K = placer(theta, phi, c / 2, c / 2, 0)
omega = If(acos(c / 2 / h) > 0, acos(c / 2 / h), 0)
alpha = 0 (slider from 0 to 3.1416 - omega, step 0.01)
M = placer(theta, phi, c / 2 - h * cos(3.1416 - alpha), 0, h * sin(3.1416 - alpha))
N = placer(theta, phi, (-c) / 2 + h * cos(3.1416 - alpha), 0, h * sin(3.1416 - alpha))
P = placer(theta, phi, 0, c / 2 - h * cos(3.1416 - alpha), h * sin(3.1416 - alpha))
Q = placer(theta, phi, 0, (-c) / 2 + h * cos(3.1416 - alpha), h * sin(3.1416 - alpha))
poly1, j_1, g, i_1, k = Polygon(J, G, I, K)
poly2, k_1, j_2, m = Polygon(J, M, K)
poly3, g_1, j_3, q = Polygon(J, Q, G)
poly4, n, g_2, i_2 = Polygon(G, I, N)
poly5, k_2, i_3, p = Polygon(I, P, K)
texte3: alpha * 180 / 3.1416 + " °"

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

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