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.
Hah, of course! I was originally planning on trying an effect that squeezed one axis differently than the other and gave up on that, but didn’t think to replace ellipse with something else afterward. arc makes it perfectly fit in 140 with the above revision to d. Thanks :)
This looks a lot better, but probably not different enough to be worthy of a remix :)with(x)for(c.width|=b=190;p=t+b/.6,r=64-64*S(p),b--;fill(arc(960-180*(1+b%2*2)*C(p),6*b,6+2*S(p)*(1+b%2),0,7)))beginPath(fillStyle=R(r,r,r))
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)