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.
Here's an pre-golfed version with some parameters in the first line if anyone wants to mess around with it: x.reset();a=1e3;s=300;p=2*Math.PI;n=12 for(j=1;j<n+1;j++){ for(i=0;i<a;i++){ c=200-j*20 x.fillStyle=R(c,c,c) x.fillRect(1.5*i*S(j*p/n+i*t/s)+960,1.5*i*C(j*p/n+i*t/s)+540,9,9)}}
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)