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.
The "twinkling" is given by the particle size (2 last parameters of x.clearRect). Pixel size is defined by 3*S(i)+1, so it's between "3+1" and "-3+1" and the "i" makes it almost random for each pixel. An extra twinkling effect could be made by adding "t", but I thought it would be too exaggerated. You can try by changing to: K=5*S(i+t*4)
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)