Boids in Chamonix


Original code by Conrad Parker and modified by Martin Rosvall

Instructions


Snapshot
If you don't see flying boids (computer generated birds) in front of Mount Blanc like in the picture above, please install Java.

You control the behavior of this applet with your mouse. By clicking and dragging you define the horizon of local perception beyond which the boids do not recognize other boids. You add boids by clicking the left mouse button and remove boids by clicking the right one. By clicking the middle mouse button boids are selected and painted black. This is a way to keep track of individual boids.

Philosophy


It does not make sense to try to understand aspects of the world with complicated models, assuming that the world is complicated. Instead, we make simple models and hope that the complicatedness of the world is an illusion. This applet exemplifies this phenomena and shows that simple rules can give rise to complex behavior. It also illustrates that a flock is not a big bird, but the sum of the birds plus the interactions between the birds. The simple rules the individual boids follow in this simulation were discovered by Craig Reynolds, a computer scientist who tried to create computer generated bats that could fly realistically in Batman returns (1992). The three rules are separation, alignment, and cohesion. In the applet you can control the information horizon of the birds, the distance within which a bird senses the other birds. When the distance is small you see that the flock dissolves into individual birds, whereas larger horizons allow birds to migrate in coherent flocks. The key to self organization is the amount of information the individual birds have about other birds. In our other applet on self organization of social networks you can see related interplay between communication and structure.

In the applet you can control the information horizon of the birds, the distance within which a bird senses the other birds. When the distance is small you see that the flock dissolves into individual birds, whereas larger horizons allow birds to migrate in coherent flocks. The key to self organization is the amount of information the individual birds have about other birds.

In our other applet on self organization of social networks you can see related interplay between communication and structure.

Separation


Steer to avoid crowding with local flock mates.
Alignment


Steer toward the average heading of local flock mates.
Cohesion


Steer to move toward the average position of local flock mates.