Colorful Nautilus
Script I
n = 250
Execute(Sequence("E"+i+" = Ellipse((0.1 "+i+" π / 100; "+i+" π / 100), (1.9 "+i+" π / 100; "+i+" π / 100), "+i+" π / 100)", i, 1, n))
Execute(Sequence("ShowLabel(E"+i+", false)", i, 1, n))
f(x) = 1/2 sin(0.3 x ) + 1/2
speed = 5
t = Slider(0, 20 pi / 3, 0.01, speed, 140, false, true, false, false)
val = random()
r = random()
g = random()
b = random()
#r = If( val < 1/3, f(t), random())
#g = If( 1/3 <= val < 2/3, f(t), random())
#b = If( 2/3 <= val, f(t), random())
Execute(Sequence("SetDynamicColor( E"+i+", If( val < 1/3, f("+i+"+t), r), If( 1/3 <= val < 2/3, f("+i+"+t), g), If( 2/3 <= val, f("+i+"+t), b))", i, 1, n))
Script II
Ln = 1..250
cnt = pi / 100
Execute(Zip("E"+k+" = Ellipse((0.1 "+k+" cnt; "+k+" cnt), (1.9 "+k+" cnt; "+k+" cnt), "+k+" cnt)", k, Ln))
Execute(Zip("ShowLabel(E"+k+", false)", k, Ln))
f(x) = 1/2 sin(0.3 x ) + 1/2
SetVisibleInView(f, 1, false)
speed = 5
t = Slider(0, 20 pi / 3, 0.01, speed, 140, false, true, false, false)
SetVisibleInView(t, 1, false)
val = random()
r = random()
g = random()
b = random()
Execute(Zip("SetDynamicColor( E"+k+", If( val < 1/3, f("+k+"+t), r), If( 1/3 <= val < 2/3, f("+k+"+t), g), If( 2/3 <= val, f("+k+"+t), b))", k, Ln))
ShowAxes(false)
ShowGrid(false)
SetBackgroundColor("Black")
CenterView((0,3))
ZoomOut(3)