CS010
Introduction to Computer Science I
Term Project Overview
Swarm and Flocking Behavior
(last updated
4/19/2006)
In this project, you will develop an integrated system in Scheme that
simulates and displays the movement of a community of critters.
The ultimate goal will be to model a flock of sheep and one or more
sheep-dogs that herd the sheep.
Swarm models and animation have featured prominently in a number of
movies such as Finding Nemo, Matrix: Revolutions, and the newer Star
Wars, just to name a few. Swarming intelligence has also played a
role in a developing field of emergent systems. The basic idea is
that complex and unexpected behaviors may arise from the interactions
between a population of simple and identical critters. Several
links are included below with extensive information and further links.
We will start with modeling a simple flying insect and gradually add
complexity until we have sheep and sheep-dogs interacting. The
project is divided into five parts, each one equally valued.
Because each project deliverable builds on the previous ones, and
because you cannot make up for a shoddy deliverable 1 with a stellar
final
deliverable, it is important that you gear up for this from the
start. You have already started thinking about this on question 4
from the recent second exam.
Project 1: Basic Infrastructure: Drawing
and moving swarms
Project 2: Building Blocks: Neighbors and
iterative refinement
Project 3: Swarming 1: Edge avoidance and
encapsulation
Project 4: Swarming 2: Classes and objects,
and critters of
different types
Other Links
Papers on Swarms or Flocking:
Flocks,
Herds, and Schools: A Distributed Behavioral Model, by Craig W.
Reynolds
Steering Behaviors for
Autonomous Characters, by Craig W. Reynolds