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.
Well, primes are still technically pseudorandom. They don't form a noticeable pattern, per se. This algorithm would possibly work with any consistent pseudorandom number generator, but this pattern is uniquely made up of prime number interactions.
Well, non-prime numbers definitely have a pattern that I would expect helps making this very beatiful. For instance ever other number is not prime (even), every 5 number, every 7 number etc. So lot's of regularities.
Yeah. I see Math.random() > 0.5 produces a pettern looking nothing but garbled noise. In comparison, the one generated by prime numbers is a Persian carpet.
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)