by Dirk Brockmann
This explorable illustrates of an intuitive dynamic model for collective motion (swarming) in animal groups. The model can be used to describe collective behavior observed in schooling fish or flocking birds, for example. The details of the model are described in a 2002 paper by Iain Couzin and colleagues.
Here's a short summary of how it works:
The system consists of N (here 200) individuals that move around in a two-dimensional box and behave according to a small set of plausible rules. Each individual's state is given by its current position, its heading and its speed. The speed is kept constant over time, whereas position and heading can change. Individuals move forward with their intrinsic speed. They also wiggle a bit, randomly changing their heading by turning a little to the left or right. The amount of this wiggle is controlled by the wiggle parameter.
Interactions: 3 different rules
- When individuals come too close, they repell in order to avoid collisions, essentially they turn away from the individuals that enter their collision radius. Individuals also avoid the walls of the container this way.
- Individuals try to align their heading to the average heading of other individuals within an alignment radius. However, they cannot see other individuals in a blind-spot (rear) and do not consider others in it for alignment.
- Individuals try to stay close to the group by moving towards the center of mass of individuals within the attraction radius, the longest interaction distance in the system.
You can vary the parameters speed, wiggle, the interaction radii, and the size of the blind-spot and observe the collective state the system acquires. One of the states is a tornado, in which the swarm moves in a circular way. Sometimes multiple tornados form and collide.
Using the buttons you can play/pause the simulation, reset initial conditions and parameters, respectively.
- Iain D. Couzin, Jens Krause, Richard James, Graeme D. Ruxton and Nigel R. Franks, Collective Memory and Spatial Sorting in Animal Groups, J. theor. Biol. (2002) 218, 1–11