Bill Manaris : Fall 2006 / CSCI 299 Homework 3

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)

Purpose

This assignment focuses on physical modeling, collision detection, avoidance, emergent behavior, and animation.

Background

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."

Assignment

Explore flocking behavior models and their visualization using VPython.

Details

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:

Consider other possibilities such as:

Here are some other possibilities:

Another possibility is to have boids "discover" geometric shapes.

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).

References

  1. Craig Reynolds, "Boids - Background and Update", September 6, 2001.
  2. Mike Waite, "Flocking", April 24, 2006.
  3. Conrad Parker, "Boids", September 16, 2005.

Solutions

Submit your model by editing your page using the provided template. Submit extra models for additional credit.

Michael Baker, Brian Cherry, Dennis Crenshaw, Lakeisha Dubose, Jeffrey Duke, Francesca Guzzi, Hector Mojica, Luca Pellicoro, Bryan Peterson, Patrick Roos, Matthew Roth, Alex Summer, and Bill Manaris.

(Printable View of http://www.cs.cofc.edu/~manaris/?n=Fall2006.CSCI299Homework3)