Read me for Assignment 5 Flocking.cpp by Josh Allen Designed with Dev-C++ 4.9.9.2 This program implements flocking behavior. Flocking behavior is slightly more intelligent than a particle system, but not as intelligent as a set of autonomous figures. They follow three basic properties: - Separation: get away from each other to avoid collisions - Alignment: go towards the same direction, generally - Cohesion: stay together To use this demonstration, just click-and-drag anywhere on the screen to move the target around. As long as the mouse button is pressed, the leader boid will head towards the mouse's coordinates. Move them around to see the three flocking behavior properties. Another interesting behavior follows from the rectangular obstacle on the bottom side of the environment. If you lead the leader correctly, you will see the splitting and rejoining behavior of the flock. Also, press '-' and '+' keys to zoom the camera in and out. As you might have guessed, the green ball is the leader. Every thousand frames, the leader switches. You also may have noticed that it looks like interpenetration occurs. I want to note that this is just an illusion, since the flock moves in three dimensions; they are in fact just moving in front of one another.