patron

pyramide

A = (-2, 1)
B = (-2, -1)
C = (1, -1)
D = (1, 1)
poly1, a, b, c, d = Polygon(A, B, C, D)
e, E, S_1, I, J, faceABFE, faceBCGF, faceCDHG, faceADHE, faceEFGH, arêteAE, arêteBF, arêteCG, arêteDH, arêteEF, arêteFG_1, arêteGH_1, arêteEH = Prism(poly1, 4)
F = Midpoint(arêteEF)
G = Midpoint(arêteBF)
f = Circle(S_1, 1, arêteEF)
I_1, H = Intersect(arêteFG_1, f)
δ = 0 rad (slider from 0*° to 90*°, step 1*°)
poly3, g_1, b_1, c_1, i, h_1 = Polygon(G, B, C, I, H)
poly3' = Rotate(poly3, δ, b)
faceCDHG' = Rotate(faceCDHG, δ, c)
poly4, f_2, e_1, a_1, b_2, g_2 = Polygon(F, E, A, B, G)
poly4' = Rotate(poly4, δ, a)
faceADHE' = Rotate(faceADHE, δ, d)
J' = Rotate(J, δ, d)
E' = Rotate(E, δ, d)
j' = Segment(J', E')
poly2, s, h, f_1 = Polygon(H, F, S_1)
g, faceFGH, faceFGS, faceGHS, arêteGH, arêteFG, arêteGS = Pyramid(poly2, G)
j = (0, 1, 0)
k = 0 (slider from 0 to 6, step 0.1)
g' = Translate(g, Vector[((-k) * j)])
l = Segment(H, I)
m = Segment(G, B)
n = Segment(H, G)
p = Segment(E, F)
q = Segment(F, G)
r = Segment(F, H)
S = Translate(S_1, Vector[((-k) * j)])
poly5, e_2, f_3, h_2, i_1, j_1 = Polygon(E, F, H, I, J)
poly5' = Rotate(poly5, δ, d)
poly5'' = Rotate(poly5', δ, j')
H' = Translate(H, Vector[((-k) * j)])
G' = Translate(G, Vector[((-k) * j)])
F' = Translate(F, Vector[((-k) * j)])
α = Angle(G', S, H')
β = Angle(F', S, G')
γ = Angle(F', S, H')
poly6, h_3, f_4, g_3 = Polygon(F, G, H)
poly6' = Rotate(poly6, δ, a)
μ: (48.19° * δ / (90°))
F'_1 = Rotate(F, δ, a)
G'_1 = Rotate(G, δ, a)
q' = Segment(F'_1, G'_1)
poly6'' = Rotate(poly6', μ, q')