Playing with rotations
Inspired by Jean-Baptiste Etienne from this: https://www.geogebra.org/m/fe7fyksu
Script
Ln = Sequence(k, k, -4, 3)
Lm = 1..8
Lname = Zip("prism" + (Text(k)), k, Lm)
Execute(Zip(name + " = Prism(Polygon((4, -4, "+k+"), (4, 4, "+k+"), 4, xOyPlane), 1) ", k, Ln, name, Lname))
Execute(Zip(" F"+k+"(x) = (1 + ℯ^(-"+k+" tan(π (x - 0.5))))⁻¹ ", k, Lm))
speed = 2
t = Slider(0, 1, 0.01, speed, 150, false, true, false, false)
Execute(Zip("P"+k+" = Rotate("+name+", F"+k+"( t ) * pi, zAxis)", k, Lm, name, Lname))
#--------------------
#Settings
#--------------------
#Make it nice
Execute(Zip("SetLineThickness("+name+", 0)", name, Lname))
Execute(Zip("SetLineThickness(P"+k+", 0)", k, Lm))
Execute(Zip("SetFilling("+name+", 1)", name, Lname))
Execute(Zip("SetFilling(P"+k+", 1)", k, Lm))
#Hide & show stuff
Execute(Zip("SetVisibleInView("+name+", 1, false)", name, Lname))
Execute(Zip("SetVisibleInView(P"+k+", 1, false)", k, Lm))
Execute(Zip("SetVisibleInView(F"+k+", 1, false)", k, Lm))
Execute(Zip("SetVisibleInView(F"+k+", -1, false)", k, Lm))
SetVisibleInView(faceMNOP, 1, false)
SetVisibleInView(edgeMN, 1, false)
SetVisibleInView(edgeNO, 1, false)
SetVisibleInView(edgeMP, 1, false)
SetVisibleInView(edgeOP, 1, false)
SetVisibleInView(Lname, 1, false)
SetVisibleInView(Lname, -1, false)
SetActiveView(1)
ShowAxes(1, false)
ShowGrid(1, false)
SetActiveView(3)
ShowAxes( 3, false )
StartAnimation(t, true)