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 shadowBlur but very heavy. Trails look better anyway: x.fillStyle='#fff3',t?x.fillRect(0,0,999,800):c.width=999;x.beginPath();w=540,t?m=[w+S(t)*340,w]:p=[];p.push([[...m],5]),p.map((z,i)=>{k=z[0],k[0]+=S(i+t),k[1]-=z[1]+S(i*8),x.lineTo(...k),x.stroke()})
Oooo, I like that, great idea! I'll have to try incorporating that into a remix. Thanks joeytwiddle!
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)