ft(t) = If[abs(t) < 5, 0, ((abs(t) - 5) * sgn(t))]
t = 2.5 (slider from -30 to 30)
h0: -5
h = 0 (slider from h0 to 10)
a = 5 (slider from 0 to 10)
b = 0 (slider from -5 to 10)
c = 1.5 (slider from -5 to 10)
x0: 0
y0: 0
z0: h
A0: (x0, y0, z0)
B0: A0 + (a, 0, c)
l = 1.5 (slider from 0 to 10)
C0: (a / 2, l, h + c / 2)
d = Ellipse(A0, B0, C0)
α = 1.2566370614359172 rad (slider from 0 to 6.283185307179586, step 0.017453292519943295)
d' = Rotate(d, α, zAxis)
d'' = Rotate(d', α, zAxis)
d''' = Rotate(d'', α, zAxis)
e = Rotate(d''', α, zAxis)
r = 0.15 (slider from 0 to 1, step 0.01)
O0: (0, 0, h0)
g, k, p, i = Cylinder(O0, A0, r)
A'0: A0 + (0, 0, c / 4)
f, q, j = Cone(A'0, A0, a / 4)
s = Circle(O0, 15, xOyPlane)
zh: abs(ft(t)) + h + 0.8
zx: ft(t)
zr: 0.5
Z1: (zx, 0, zh)
Z2: (zx - 1, 0, zh)
Z3: (zx - 0.5, 0, zh)
Z4: (zx + 0.3, 0, zh)
Z5: (zx - 0.5 + (0.5 * sin(((2 * π) * ft(t)))), -1.5, zh + 2)
Z6: (zx - 0.5 + (0.5 * sin(((2 * π) * ft(t)))), 1.5, zh + 2)
Z7: Z1 + (0, 0, (0.5 * zr))
za = Sphere(Z3, (0.7 * zr))
zb = Sphere(Z4, (0.7 * zr))
zc = Sphere(Z1, zr)
ze = Ellipse(Z1, Z5, Z7)
zf = Ellipse(Z1, Z6, Z7)
lp: 0.5
Z11: Z1 + (lp, lp, (-lp))
Z12: Z1 + (lp, (-lp), (-lp))
Z13: Z1 + ((-lp), lp, (-lp))
Z14: Z1 + ((-lp), (-lp), (-lp))
Z15: Z1 + (0, lp, (-lp))
Z16: Z1 + (0, (-lp), (-lp))
m = Segment(Z1, Z11)
n = Segment(Z1, Z12)
f_1 = Segment(Z1, Z13)
g_1 = Segment(Z1, Z14)
h_1 = Segment(Z1, Z15)
i_1 = Segment(Z1, Z16)
zd = Sphere(Z2, zr - 0.1)