$\bold\textsf{%v}$

$\bold\textsf{Unfold / Fold}$

$\bold\textsf{Fold / Unfold}$

\text{Fold}

\text{Unfold}

\text{Sides}

ddMenu: {"$\textsf{Prism }$", "$\textsf{Pyramid }$", "$\textsf{Cylinder }$", "$\textsf{Cone }$"}
CA = Point(yAxis)
CB = Point(yAxis)
cCil = Circle(CA, CB)
C = Point(cCil)
HC: (x(C), y(C), 0.1)
n = 6 (slider from 3 to 8, step 1)
A: (0, 0)
h = Ray(A, (x(A), y(A), 40))
B = Point(yAxis)
vert = Sequence(Rotate[C, ((t * 2) * pi / n), A], t, 1, n)
poly = Polygon(vert)
f = OrthogonalLine(C, xOyPlane)
g = Segment(HC, (x(C), y(C), 4))
E = Point(g)
a, F, G, H, I, J, K, L, M, face1, face3, face4, face5, face6, face2, face13, face15, faceFGHIJK, edge1, edge2, edge3, edge4, edge5, edge6, edge13, edge16, edgeFG, edgeGH, edgeHI, edgeIJ, edgeJK, edgeFK, edge14, edge17 = Prism(poly, Segment[C, E])
CD = Point(Segment[(0, 0, 0.1), (0, 0, 4)])
b, face7, face9, face10, face11, face12, face8, face14, face16, edge7, edge8, edge9, edge10, edge11, edge12, edge15, edge18 = Pyramid(poly, CD)
open = 0 (slider from -1 to 0)
prismNet, N, O, P, Q, R, S, T, U, V, W, Z, A_1, B_1, C_1, D_1, E_1, F_1, G_1, H_1, I_1, J_1, K_1, L_1, M_1, N_1, O_1, P_1, Q_1, R_1, S_1, face17, face18, face19, face20, face21, face22, face23, face24, face34, face35, edge19, edge20, edge21, edge22, edge23, edge24, edge25, edge26, edge27, edge28, edge29, edge30, edge31, edge32, edge33, edge34, edge35, edge36, edge37, edge38, edge39, edge40, edge41, edge42, edge43, edge44, edge45, edge70, edge71, edge72, edge73, edge74, edge75, edge76, edge77, edge78, edge79, edge80, edge81 = Net(a, (-open))
pyrNet, T_1, U_1, V_1, W_1, Z_1, A_2, B_2, C_2, D_2, E_2, F_2, G_2, H_2, I_2, J_2, K_2, face25, face26, face27, face28, face29, face30, face31, face32, face33, edge46, edge47, edge48, edge49, edge50, edge51, edge52, edge53, edge54, edge55, edge56, edge57, edge58, edge59, edge60, edge61, edge62, edge63, edge64, edge65, edge66, edge67, edge68, edge69 = Net(b, (-open))
choice: SelectedIndex[ddMenu] + 1
nRand = Random(3, 8)
tCil = 0 (slider from -1 to 0, step 0.01)
d = Circle(CA, CB)
θCil: (pi * (1 - abs(tCil)))
rCil: pi / θCil
ϕCil: (abs(tCil) * pi / 2)
bCil, eCil, fCil = Cylinder(cCil, 3)
CC: (0, 0, 3)
aCil = Line(CC, xAxis)
gCil = OrthogonalLine(CD, xOyPlane)
kCil = Circle(gCil, CC)
eeCil = Rotate(Rotate[eCil, ϕCil, aCil], ϕCil, xAxis)
dCil = Rotate(Rotate[eCil, ϕCil, aCil], ϕCil, xAxis)
hCil = Circle(CA, CB)
CE = If(abs(tCil) < 1, ((rCil * sin((-θCil))), ((rCil * (1 - cos((-θCil)))) * cos(ϕCil)) - (3 * sin(ϕCil)), (3 * cos(ϕCil)) + ((rCil * (1 - cos((-θCil)))) * sin(ϕCil))), ((-pi), (-3 * sin(ϕCil)), (3 * cos(ϕCil))))
CF = If(abs(tCil) < 1, ((rCil * sin(θCil)), ((rCil * (1 - cos(θCil))) * cos(ϕCil)) - (3 * sin(ϕCil)), (3 * cos(ϕCil)) + ((rCil * (1 - cos(θCil))) * sin(ϕCil))), (pi, (-3 * sin(ϕCil)), (3 * cos(ϕCil))))
CG = If(abs(tCil) < 1, ((rCil * sin((-θCil))), ((rCil * (1 - cos((-θCil)))) * cos(ϕCil)), ((rCil * (1 - cos((-θCil)))) * sin(ϕCil))), ((-pi), 0, 0))
CH = If(abs(tCil) < 1, ((rCil * sin(θCil)), ((rCil * (1 - cos(θCil))) * cos(ϕCil)), ((rCil * (1 - cos(θCil))) * sin(ϕCil))), (pi, 0, 0))
mCil = Segment(CE, CG)
nCil = Segment(CF, CH)
pCil = Line((0, 1, 0), zAxis)
qCil = Circle(pCil, CB)
sCil = Circle(pCil, CB)
aCon = OrthogonalLine((1, 0, 0), xOyPlane)
cCon = Circle(aCon, (0, 0, 0))
KA = Point(aCon)
KB = Intersect(xAxis, aCon)
bCon, dCon, eCon = Cone(KB, KA, 1)
KC = Intersect(yAxis, xAxis)
lCon = Segment(KC, KA)
rCon = Distance(KB, KC)
α = Angle(KA, KC, KB)
KAA = Rotate(KA, (abs(tCil) * α), yAxis)
fCon = OrthogonalLine(KAA, xOyPlane)
KBB = Intersect(fCon, xOyPlane)
bet: ((2 * pi) * rCon / Distance[KBB, KC])
KCC = Rotate(KC, bet / 2, fCon)
KCR = Rotate(KC, ((-bet)) / 2, fCon)
gCon = CircumcircleArc(KCC, KC, KCR)
hCon = Distance(KAA, KBB)
rcCon = Distance(KBB, KCC)
kCon: x(KAA)
ϕCon: (abs(tCil) * pi)
jCon = Surface(((kCon - ((v * rcCon) * cos((u * bet / 2)))) * cos(ϕCon)) - (((1 - v) * hCon) * sin(ϕCon)), ((v * rcCon) * sin((u * bet / 2))), (((1 - v) * hCon) * cos(ϕCon)) + ((kCon - ((v * rcCon) * cos((u * bet / 2)))) * sin(ϕCon)), u, -1, 1, v, 0, 1)
mCon = CurveCartesian(((kCon - (rcCon * cos((u * bet / 2)))) * cos(ϕCon)), (rcCon * sin((u * bet / 2))), ((kCon - (rcCon * cos((u * bet / 2)))) * sin(ϕCon)), u, -1, 1)
KD: (((kCon - (rcCon * cos(bet / 2))) * cos(ϕCon)), (rcCon * sin(bet / 2)), ((kCon - (rcCon * cos(bet / 2))) * sin(ϕCon)))
KE: (((kCon - (rcCon * cos(((-bet)) / 2))) * cos(ϕCon)), (rcCon * sin(((-bet)) / 2)), ((kCon - (rcCon * cos(((-bet)) / 2))) * sin(ϕCon)))
KF: ((kCon * cos(ϕCon)) - (hCon * sin(ϕCon)), 0, (hCon * cos(ϕCon)) + (kCon * sin(ϕCon)))
nCon = Segment(KE, KF)
pCon = Segment(KD, KF)
speed: 1
jCil = If(abs(tCil) < 1, CurveCartesian[(rCil * sin((u * θCil))), ((rCil * (1 - cos((u * θCil)))) * cos(ϕCil)) - (3 * sin(ϕCil)), (3 * cos(ϕCil)) + ((rCil * (1 - cos((u * θCil)))) * sin(ϕCil)), u, -1, 1], CurveCartesian[(pi * u), (-3 * sin(ϕCil)), (3 * cos(ϕCil)), u, -1, 1])
lCil = If(abs(tCil) < 1, CurveCartesian[(rCil * sin((u * θCil))), ((rCil * (1 - cos((u * θCil)))) * cos(ϕCil)), ((rCil * (1 - cos((u * θCil)))) * sin(ϕCil)), u, -1, 1], CurveCartesian[(pi * u), 0, 0, u, -1, 1])
iCil = If(abs(tCil) < 1, Surface[(rCil * sin((u * θCil))), ((rCil * (1 - cos((u * θCil)))) * cos(ϕCil)) - (v * sin(ϕCil)), (v * cos(ϕCil)) + ((rCil * (1 - cos((u * θCil)))) * sin(ϕCil)), u, -1, 1, v, 0, 3], Surface[(pi * u), ((-v) * sin(ϕCil)), (v * cos(ϕCil)), u, -1, 1, v, 0, 3])
TV: (2, -2, 2)
tabOrder: {ddMenu, open, tCil, n, CD, E}
missingSide = Segment(R_1, V)