My first project for MAT594CM: Spatial Computing explored flocking behavior where a group of entities move in three dimensions with their own velocities but are influenced by the movements and positions of other members of the flock. The movement is influenced by running a set of rules that generates a relative velocity vector that is added to the existing velocity to cause a change of course.
The flock can be visualized as cubes (the birds), tails which show where each bird has been recently, and surfaces which define the flock shape as a whole.
See the applet page for more details.