what is this?


's' toggles on/off
'r' restarts the simulation

Dot Count:

Dot Size:

Tolerance (pixels):

Dot Opacity (%):

Spread Width (%):

Spread Height (%):

Dots stay on screen

Dot follows cursor

Hero and Villain Assignment

One Common Hero
One Common Villain

d is a dot
h(d) denotes the hero of d
v(d) denotes the villain of d
By default these functions are not injective.
h(v(d)) = d for most d
v(h(d)) = d for most d
h(h(d)) = d for most d
v(v(d)) = d for most d
make h injective
make v injective