Assignment:
For this
assignment, the object is to get everyone on a firm footing with
the basic notions of physical simulation, and the use of OpenGL
and GLUT as an interactive simulation and visualization
environment. Build a simulation of a 3D spherical ball bouncing in
a box. The box should have all six sides, but at least some of the
sides should be invisible so that it is possible to view the ball.
For this assignment, you may want to use
my matrix and vector routines
to make it easier to write the code involving vector mathematics.
Note that my bouncing ball example may not be a very good place to
start from, since it is done in 2D, and it is intentionally
written to slow down the simulation for instruction in class. For
this homework, you need to be working in 3D, with a virtual
camera. Also, you will probably want the simulation to run as fast
as it can, adjusting the time step h to speed up or slow
down the simulation speed and display update.
You should write your program in C++ using OpenGL and GLUT to do the graphics and interaction. Remember that it must be compiled and tested on the School of Computing linux system using a Makefile before turning it in. I cannot support grading programs done in an IDE, since I use scripts to prepare your assignments for testing.