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.
prefixing any number with 0, and javascript interpret it as octodecimal (base 8) jist like prefixing with 0x nd javascript interpret it as hexadecimal (base 16)
there is 0o for octal.. if use just 0 and accidently have a 8 or 9, it becomes a normal decimal while 0o will throw an error. as said before, you have 0b = binary 0o = octal 0x = hexa
077/078 is not a really a gotcha. It seems to follow Javascript's patterns for type coercion. Some numbers can evaluate as octal numbers, and some can't. If a string starts with 0 and contains only numbers 0 through 7, then it is evaluated as octal. If the string starts with 0 and has any number above 7 (not octal), then it evaluates as decimal. It's not a mystery, it actually makes some sense even if octal in Javascript is not normally used.
On the rare occasion when you need to set file permissions from JS you will finally appreciate it :D
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)