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.
Nice work!, I actually did try a solution with fillRect - but it totally kills my laptop, runs kinda ok on my phone though (I get around 11fps with this dweet on my laptop, 28 on my phone)
this is my aptempt: reduced the resolution to get at bit more performance: c.width=w=127;for(m=w*w;m--;x.fillRect(m%w,m/w,1,(Y*(o=(3-(4-5*e+S(t))**.5)/(e+1))*w+t*w&w^X*o*w&w)/w))e=(X=1-4*m/w/w)*X+(Y=-2+4*(m%w)/w)*Y
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)