u(t) is called 60 times per second.
t: Elapsed time in seconds.
S: Shorthand for Math.sin.
C: Shorthand for Math.cos.
T: Shorthand for Math.tan.
R: Function that generates rgba-strings, usage ex.: R(255, 255, 255, 0.5)
c: A 1920x1080 canvas.
x: A 2D context for that canvas.
I feel like this is close but not quite right: w=t%1.06<.02?34:w*1.06;m=40,y=w/m;for(c.width=i=m*m;p=--i*i;q&&x.fillRect(i%m*y,~~(i/m)*y,y,y))q=S(p)>0,q&&x.fillRect(i%m*w,~~(i/m)*w,w,w)
A bit slow but 130 char: w=t%.8<.02?7:w/.9;m=150,y=w/m;for(c.width=999,i=m*m;p=--i*i;q&&x.fillRect(i%m*y,i/m*y,y,y))q=S(p)>0,q&&x.fillRect(i%m*w,i/m*w,w,w)
u(t) is called 60 times per second.
t: elapsed time in seconds.
c: A 1920x1080 canvas.
x: A 2D context for that canvas.
S: Math.sin
C: Math.cos
T: Math.tan
R: Generates rgba-strings, ex.: R(255, 255, 255, 0.5)