Setup

size: 1 / 12
rot = 3.42 (slider from 0 to 6.283185307179586, step 0.01)
si: sin(rot)
co: cos(rot)
a = CurveCartesian((((co * size) * (1 - i)) * cos((1 / 2 * i))) - (((si * size) * (1 - i)) * sin((1 / 2 * i))), (((si * size) * (1 - i)) * cos((1 / 2 * i))) + (((co * size) * (1 - i)) * sin((1 / 2 * i))), i + (8 * π), i, (-8 * π), 0)
n: 20
b = CurveCartesian(((1 / 5 * (1 - i)) * cos((1 / 2 * i))), ((1 / 5 * (1 - i)) * sin((1 / 2 * i))), i + (8 * π), i, (-8 * π), 0)
A = (-10.353552309687462, -15.578151619055362, 0)
B = (14.298523337875457, -13.78143793117399, 0)
C = (11.416814365998139, 15.641174673810482, 0)
D = (-13.486080199760053, 12.31162213298579, 0)
q1, a_1, b_1, c, d = Polygon(A, B, C, D)
H = (-10.214093862371467, -15.627961545858287, -5.271907855841704)
e, E, F, G, faceABEH, faceBCFE, faceCDGF, faceADGH, faceEFGH, edgeAH, edgeBE, edgeCF, edgeDG, edgeEH, edgeEF, edgeFG, edgeGH = Prism(q1, H)
Speed = 3.3 (slider from 0 to 7, step 0.1)
A0 = Sphere(a((0 * (-8 * π / n))) + (-5, 0, 0), sqrt(0.7))
A1 = Sphere(a((-8 * π / n)) + (-5, 0, 0), sqrt((0.7 * 2)))
A2 = Sphere(a((2 * (-8 * π / n))) + (-5, 0, 0), sqrt((0.7 * 3)))
A3 = Sphere(a((3 * (-8 * π / n))) + (-5, 0, 0), sqrt((0.7 * 4)))
A4 = Sphere(a((4 * (-8 * π / n))) + (-5, 0, 0), sqrt((0.7 * 5)))
A5 = Sphere(a((5 * (-8 * π / n))) + (-5, 0, 0), sqrt((0.7 * 6)))
A6 = Sphere(a((6 * (-8 * π / n))) + (-5, 0, 0), sqrt((0.7 * 7)))
A7 = Sphere(a((7 * (-8 * π / n))) + (-5, 0, 0), sqrt((0.7 * 8)))
A8 = Sphere(a((8 * (-8 * π / n))) + (-5, 0, 0), sqrt((0.7 * 9)))
A9 = Sphere(a((9 * (-8 * π / n))) + (-5, 0, 0), sqrt((0.7 * 10)))
A10 = Sphere(a((10 * (-8 * π / n))) + (-5, 0, 0), sqrt((0.7 * 11)))
A11 = Sphere(a((11 * (-8 * π / n))) + (-5, 0, 0), sqrt((0.7 * 12)))
A12 = Sphere(a((12 * (-8 * π / n))) + (-5, 0, 0), sqrt((0.7 * 13)))
A13 = Sphere(a((13 * (-8 * π / n))) + (-5, 0, 0), sqrt((0.7 * 14)))
A14 = Sphere(a((14 * (-8 * π / n))) + (-5, 0, 0), sqrt((0.7 * 15)))
A15 = Sphere(a((15 * (-8 * π / n))) + (-5, 0, 0), sqrt((0.7 * 16)))
A16 = Sphere(a((16 * (-8 * π / n))) + (-5, 0, 0), sqrt((0.7 * 17)))
A17 = Sphere(a((17 * (-8 * π / n))) + (-5, 0, 0), sqrt((0.7 * 18)))
A18 = Sphere(a((18 * (-8 * π / n))) + (-5, 0, 0), sqrt((0.7 * 19)))
A19 = Sphere(a((19 * (-8 * π / n))) + (-5, 0, 0), sqrt((0.7 * 20)))
A20 = Sphere(a((20 * (-8 * π / n))) + (-5, 0, 0), sqrt((0.7 * 21)))
B0 = Sphere(a((0 * (-8 * π / n))) + (5, 5, 0), sqrt(0.7))
B1 = Sphere(a((-8 * π / n)) + (5, 5, 0), sqrt((0.7 * 2)))
B2 = Sphere(a((2 * (-8 * π / n))) + (5, 5, 0), sqrt((0.7 * 3)))
B3 = Sphere(a((3 * (-8 * π / n))) + (5, 5, 0), sqrt((0.7 * 4)))
B4 = Sphere(a((4 * (-8 * π / n))) + (5, 5, 0), sqrt((0.7 * 5)))
B5 = Sphere(a((5 * (-8 * π / n))) + (5, 5, 0), sqrt((0.7 * 6)))
B6 = Sphere(a((6 * (-8 * π / n))) + (5, 5, 0), sqrt((0.7 * 7)))
B7 = Sphere(a((7 * (-8 * π / n))) + (5, 5, 0), sqrt((0.7 * 8)))
B8 = Sphere(a((8 * (-8 * π / n))) + (5, 5, 0), sqrt((0.7 * 9)))
B9 = Sphere(a((9 * (-8 * π / n))) + (5, 5, 0), sqrt((0.7 * 10)))
B10 = Sphere(a((10 * (-8 * π / n))) + (5, 5, 0), sqrt((0.7 * 11)))
B11 = Sphere(a((11 * (-8 * π / n))) + (5, 5, 0), sqrt((0.7 * 12)))
B12 = Sphere(a((12 * (-8 * π / n))) + (5, 5, 0), sqrt((0.7 * 13)))
B13 = Sphere(a((13 * (-8 * π / n))) + (5, 5, 0), sqrt((0.7 * 14)))
B14 = Sphere(a((14 * (-8 * π / n))) + (5, 5, 0), sqrt((0.7 * 15)))
B15 = Sphere(a((15 * (-8 * π / n))) + (5, 5, 0), sqrt((0.7 * 16)))
B16 = Sphere(a((16 * (-8 * π / n))) + (5, 5, 0), sqrt((0.7 * 17)))
B17 = Sphere(a((17 * (-8 * π / n))) + (5, 5, 0), sqrt((0.7 * 18)))
B18 = Sphere(a((18 * (-8 * π / n))) + (5, 5, 0), sqrt((0.7 * 19)))
B19 = Sphere(a((19 * (-8 * π / n))) + (5, 5, 0), sqrt((0.7 * 20)))
B20 = Sphere(a((20 * (-8 * π / n))) + (5, 5, 0), sqrt((0.7 * 21)))
C0 = Sphere(a((0 * (-8 * π / n))) + (5, -5, 0), sqrt(0.7))
C1 = Sphere(a((-8 * π / n)) + (5, -5, 0), sqrt((0.7 * 2)))
C2 = Sphere(a((2 * (-8 * π / n))) + (5, -5, 0), sqrt((0.7 * 3)))
C3 = Sphere(a((3 * (-8 * π / n))) + (5, -5, 0), sqrt((0.7 * 4)))
C4 = Sphere(a((4 * (-8 * π / n))) + (5, -5, 0), sqrt((0.7 * 5)))
C5 = Sphere(a((5 * (-8 * π / n))) + (5, -5, 0), sqrt((0.7 * 6)))
C6 = Sphere(a((6 * (-8 * π / n))) + (5, -5, 0), sqrt((0.7 * 7)))
C7 = Sphere(a((7 * (-8 * π / n))) + (5, -5, 0), sqrt((0.7 * 8)))
C8 = Sphere(a((8 * (-8 * π / n))) + (5, -5, 0), sqrt((0.7 * 9)))
C9 = Sphere(a((9 * (-8 * π / n))) + (5, -5, 0), sqrt((0.7 * 10)))
C10 = Sphere(a((10 * (-8 * π / n))) + (5, -5, 0), sqrt((0.7 * 11)))
C11 = Sphere(a((11 * (-8 * π / n))) + (5, -5, 0), sqrt((0.7 * 12)))
C12 = Sphere(a((12 * (-8 * π / n))) + (5, -5, 0), sqrt((0.7 * 13)))
C13 = Sphere(a((13 * (-8 * π / n))) + (5, -5, 0), sqrt((0.7 * 14)))
C14 = Sphere(a((14 * (-8 * π / n))) + (5, -5, 0), sqrt((0.7 * 15)))
C15 = Sphere(a((15 * (-8 * π / n))) + (5, -5, 0), sqrt((0.7 * 16)))
C16 = Sphere(a((16 * (-8 * π / n))) + (5, -5, 0), sqrt((0.7 * 17)))
C17 = Sphere(a((17 * (-8 * π / n))) + (5, -5, 0), sqrt((0.7 * 18)))
C18 = Sphere(a((18 * (-8 * π / n))) + (5, -5, 0), sqrt((0.7 * 19)))
C19 = Sphere(a((19 * (-8 * π / n))) + (5, -5, 0), sqrt((0.7 * 20)))
C20 = Sphere(a((20 * (-8 * π / n))) + (5, -5, 0), sqrt((0.7 * 21)))