There are two programs that accompany the thesis, "Floor Collision" and "2D Boxes". Floor Collision simulates a single object colliding with the ground. 2D Boxes simulates multiple boxes and restricts their motion to be 2-dimensional in nature. Information about how to change the properties and initial settings of these simulations can be found at the start of the files named "Main.cpp". The code that handles the collision response can be found in the files named "MotionData.cpp".

Both programs have been successfully compiled in Microsoft Visual C++ 6.0, and using the g++ compiler. The Visual C++ project settings and workspace files have been included in the folders "VC++ Floor Collision" and "VC++ 2D Boxes". The Makefiles and source code needed to compile the programs in g++ can be found in "g++ Floor Collision" and "g++ 2D Boxes". Both Visual C++ and g++ require OpenGl be installed in order to sucessfully compile and run the programs. The 2D Boxes code uses the GNU Linear Programming Kit (glpk) to robustly and efficiently solve linear programming problems. The source code and installation files for glpk can be found in the archived file "glpk-4.9.tar.gz". I have included a precompiled version of the glpk library and the simulation programs in the relevant Visual C++ folders. To run the simulation in Windows simply double click the file with the ".exe" extension. The glpk library, 2D Boxes code, and the Floor Collision code have not been precompiled for operating systems other than Windows, but can be done so using g++. (After compiling the glpk library, the resulting libglpk.a file should be placed in the same directory as the 2D Boxes' Makefile.)

For completeness I have also included the Visual C++ project and source code that was used to make my video capturing library. It uses DirectShow a component of Microsoft DirectX 9.0b (Summer Update). As a result it can only be included in applications that are intended to run in Windows only. The Visual C++ versions of my code are able to save the simulation as an avi video, but this ability is not available in the g++ versions.