Shader based particle system.
Move mouse pointer around the canvas to move the point of gravity.
Hold down a mouse button to switch to anti-gravity.
When position update is paused (z button), use arrow keys to zoom and rotate the view.
The square root of the number of particles (should be power of 2):