C++ / OpenGL
This is a collision detection demo, that was expanded to predict and avoid collisions from both dynamic and static objects. Using my own vector and graphics classes I create an OpenGL scene that shows how the objects interact. The white circle is the only active agent that implements avoidance. By using a buffer radius I detect objects that are encroaching on a collision. If the buffer radius detects an object the direction vector is changed so that the circle can avoid the object with the least amount of movement. Above all else the white circle wants to get to it's destination so it takes the shortest path around objects to maintain a path to it's destination.