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.
Tried so hard and failed to get this working - h=(w=c.width=600)/2;!t&&(y=[],u=[]);for(i=99;i--;)k=y[i]||w/2,o=u[i]||h/2,n=C(i),m=S(~i),y.map((b,a)=>{d=b-k,v=u[a]-o,Math.sqrt(d*d+v*v)<50&&(n-=d/80+S(t),m-=v/80)}),x.fillRect((y[i]=(k+n+w)%w)/.9-9,(u[i]=(o+m+h)%h)/.8-9,6,6) Thanks u/MrM@_S for inspiration to look into obfuscation and cheating the char count ;)
Been seeing an error variable u undefined sometimes, just add a space after the last ), it will work then.
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)