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.
Shaved 10 characters but it's super laggy: for(c.width|=0,i=572;Y=(0|i/13)*27,X=(572-i)%13,i--;x.stroke())x.lineTo(X*160+(X&1?C(2*t+Y/108)*120:0)*(X&2?1:-1),Y-(X&1?108:0))
Less laggy version that's 4 characters shorter instead of 10: for(c.width|=0,Y=1188;x.moveTo(0,Y),Y-=27;x.stroke())for(X=0;X++<13;)x.lineTo(X*160+(X&1?C(2*t+Y/108)*120:0)*(X&2?1:-1),Y-(X&1?108:0))
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)