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.
Single vulture: for(c.width=i=300;i-->-4;)x[f='fillRect'](i,99-C(i/31)*9,.5,S(i/89)*9),i<5&&x[f](X=99-C(t+=i/59)*(90+i*5),X/9+C(t*4)*i**2/5,s=7+!i*4,s-5)
Thanks! Here's two vultures without compression... 'for(c.width=i=-9;i++;)x.fillRect(X=99-C(t-=T/59)*(90+i*5),X/9+C(t*4)*(T=i+4)**2/5,5+(s=2+!T*4),s) x.scale(-.5,1) x.drawImage(c,-290,50)'
Here's a whol bunch of 'em for(c.width=i=-9;i++<9;)i<0?x.fillRect(X=99-C(t-=T/59)*(90+i*5),X/9+C(t*4)*(T=i+4)**2/5,5+(s=2+!T*4),s):x.scale(-.9,.9)|x.drawImage(c,-290,50)
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)