閉合

控制點

k: (0, 0, 1)
j: (0, 1, 0)
i: (1, 0, 0)
O: (0, 0, 0)
C = Point(Ray[O + k, O + (2 * k)])
c: z(C)
B = Point(Ray[O + j, O + (2 * j)])
b: y(B)
A = Point(Ray[O + i, O + (2 * i)])
a: x(A)
G: (a, (-b), 0)
F: ((-a), (-b), 0)
E: ((-a), b, 0)
D: (a, b, 0)
l = CurveCartesian(D + ((c * cos(t)) * k) + ((c * sin(t)) * j), t, 0, π / 2)
L = Point(l)
q1, d, e, FG, g = Polygon(D, E, F, G)
H: D + (c * k)
α = Angle(H, D, L)
h, I, J, K, faceDEIH, faceEFJI, faceFGKJ, faceDGKH, faceHIJK, edgeDH, edgeEI, edgeFJ, edgeGK_1, edgeHI, edgeIJ, edgeJK, edgeHK = Prism(q1, H)
M: L + E - D
K' = Rotate(K, α, d)
m, face1, face3, face4, face2, edge1, edge2, edge3, edge4 = Pyramid(Polygon[{D, L, M, E}], K')
q2, d_1, e_1, m_1, l_1 = Polygon(D, E, M, L)
n, faceDEK, faceEFK, faceFGK, faceDGK, edgeDK, edgeEK, edgeFK, edgeGK = Pyramid(q1, K)
K'_1 = Rotate(K, α, e)
J' = Rotate(J, α, e)
N: J' + E - F
q3, f_1, e_2, n_1, j' = Polygon(F, E, N, J')
o, face5, face7, face8, face6, edge5, edge6, edge8, edge7 = Pyramid(q3, K'_1)
p: z = -0.2
T = 1 (slider from 0 to 1, step 0.01)
f(x, y, t) = ((1 - t) * x) + (t * y)
α0 = 0.015551867565528215
isOpenning = true
α1: f(α0, If[isOpenning, π / 2, 0], T)
L2: D + ((c * cos(α1)) * k) + ((c * sin(α1)) * j)
show = true