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.
⌨ Use arrow keys to enter Strategem directions. Other keys work too, lol. Change fillText to this (s=[...Object.keys(this)[n]].map(v=>a[v.charCodeAt()%4]).join``).substr(b) to hide the arrows as they are pressed. I was so scared I couldn't get this to fit in a dweet, but I kept at it. So glad it finally fit, but at the loss of .substr(b).
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)