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.
Each block is 4 pixels wide. Remove 2 of the three parts inside !( ) to see how each contributes to the shape. Make sure to leave an | 0 to the right in order to floor the result. Black represents 0, white represents 1 or more. The idea is to lay down three different layers, the non zero numbers all merge together throught OR, the black area that remains is the 0 from each layer.
X/34-65/35 | 0 scales X so that -1 and +1 lie on the left and right edges with 0 in between. The width = 34=17*4px/2 (17 blocks and gaps, divided by two because it's from -1 to +1). 65=128/2+1, the center of the canvas+1 due to -0 bias divided by 35 to match the scale of X. Y/8-37/9 | 0 does the same for the top and bottom edges. X+2&4 creates a repeating pattern 0,4,0,4 every 4 pixels, +2 shifts it by half a block to line up with the left and right edges due to the odd number blocks required for the default.
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)