Assigned Date: Tuesday, Oct. 10, 2006
Due Date: Tuesday, Oct. 24, 2006
Due Time: 11:55pm
Last modified on November 05, 2006, at 08:41 AM (see updates)
This assignment focuses on physical modeling, collision detection, avoidance, emergent behavior, and animation.
According to Mike Waite,
Flocking behavior modeling "has been widely used to simulate coordinated animal motion such as bird flocks and fish schools. Boids
has been the basis for computer animated special effects in movies, as in the 1992 film Batman Returns
, where bat swarms and flocks of penguins were simulated. One of the interesting aspects of the Boids model is that realistic looking flocking behavior emerges
spontaneously as a result of rules acted out at the individual level
without a "central command" coordinator or leader. It is widely accepted that real birds flock using an individual-based, decentralized behavior model as well."
Explore flocking behavior models and their visualization using VPython.
Here is a sample program (flock1.py) that simulates flocking behavior of boids (boid.py). Using this program as a starting point explore different models of emergent behavior. In this model, boids are guided by the following rules:
- Rule 1: Boids try to fly towards the center of mass of neighboring boids
- Rule 2: Boids try to keep a small distance away from other objects (including other boids)
- Rule 3: Boids try to match velocity with near boids
Consider other possibilities such as:
- Action of a strong wind or current
- Tendency towards a particular place (e.g., mouse position)
- Limiting the speed
- Bounding the position
- Scattering the flock
- Tendency away from a particular place
Here are some other possibilities:
- camfire behavior
- boids are attracted by the fire
- boids keep a distance from the fire
- boids keep a distance from other boids
- capture the flag game
- boids are separated in two teams
- boids try to capture opponent "flag"
- boids try to defend own flag
- chicks following mother
- chicks separated from mother seek mother
- chicks that find mother form a line behind her
- chicks sometimes get lost
Another possibility is to have boids "discover" geometric shapes.
- Boids are bounded in space (e.g., circle).
- Boids keep a distance from other boids
- Boids are pushed away from origin
There is an energy source at the origin (a wave, e.g., audio samples from a song). Boid movement is affected by available energy (e.g., multiply boid velocity vector with the audio sample at index equal to the distance of boid from origin).
- Craig Reynolds, "Boids - Background and Update", September 6, 2001.
- Mike Waite, "Flocking", April 24, 2006.
- Conrad Parker, "Boids", September 16, 2005.
Submit your model by editing your page using the provided template. Submit extra models for additional credit.
Francesca Guzzi, Hector Mojica,
Alex Summer, and