After my intense afternoon of self-discovery and analysis yesterday, my brain felt melty. So I laid down at 6:00 pm to take a nap. I woke up at 6:20 am.
Ooops.
Basic models of flocking behavior are controlled by three simple rules: 1) separation: avoid crowding neighbours (short range repulsion); 2) alignment: steer towards average heading of neighbors; 3) cohesion: steer towards average position of neighbors (long range attraction). With these three simple rules, the flock moves in an extremely realistic way.