Boids
From Wikipedia, the free encyclopedia
Boids, developed by Craig Reynolds in 1986, is an artificial life program, simulating the flocking behaviour of birds. His paper on this topic was published in 1987 in the proceedings of the ACM SIGGRAPH conference.
As with most artificial life simulations, Boids is an example of emergent behavior; that is, the complexity of Boids arises from the interaction of individual agents (the boids, in this case) adhering to a set of simple rules. The rules applied in the simplest Boids world are as follows:
- separation: steer to avoid crowding local flockmates
- alignment: steer towards the average heading of local flockmates
- cohesion: steer to move toward the average position of local flockmates
More complex rules can be added, such as obstacle avoidance and goal seeking.
The movement of Boids can be characterized as either chaotic (splitting groups and wild behaviour) or orderly. Unexpected behaviours, such as splitting flocks and reuniting after avoiding obstacles, can be considered emergent.
The boids framework is often used in computer graphics, providing realistic-looking representations of flocks of birds and other creatures, such as schools of fish or herds of animals.
Boids work in a manner similar to cellular automata, since each boid "acts" autonomously and references a neighbourhood, as do cellular automata.
[edit] See also
[edit] References
- Reynolds, Craig (1987), "Flocks, herds and schools: A distributed behavioral model.", SIGGRAPH '87: Proceedings of the 14th annual conference on Computer graphics and interactive techniques (Association for Computing Machinery): 25--34, doi: , ISBN 0-89791-227-6
[edit] External links
- Craig Reynolds' Boids page
- OpenSteer an open source C++ implementation of steering behaviors including flocking boids.
- C# Implementation of Boids, including source code.
- Boids in Chamonix with interactive information horizon.
- Boids Pseudocode (Conrad Parker)
- 3D Boids Simulation using OpenGL (Win32)
- 3D Java Boids (Paul Richmond) demonstrating bird flocking
- Python Boids