click and drag left to right over the circle above. each circle relates to another determined by the highlighted formula. a circle with index i will relate to it's neighbor at index abs(f(i)), avoiding it if f(i) is positive and chasing it if f(i) is negative.
clicking an equation will apply it to all circles. while your mouse is over an equation it can be rewritten. it can also be duplicated by pressing enter. n is the total number of circles. i didn't implement operator precedence - use parentheses qualify ambiguities. lastly, "reset" will randomize positions.
source, built with processing
elsewhere: vimeo