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.
Scrolling instead of switching: for(c.width|=j=15+t|0;j-->t;)for(g=(j-t)*180,i=99;i--;)x.fillRect(i?g+i*S(1e3/i-t*8+j**3):g,600+!!i*i*5,-99-80*S(j*j),i?3:-600)
I think it's supposed to be buildings reflect in water. for(c.width|=j=20+t|0;j-->t;)for(g=(j-t)*120,i=W=99;i--;)x.fillRect(i?g+i*i/70*S(1e3/i-t*8+j**3):g,500+!!i*i*4,-W-80*S(j*j),i?3:-300-W*S(j))
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)