This was an optional first year project at the Polytechnic University of Leeuwarden (NHL). The idea was to create an algorithm that would optimally pack smaller boxes into a big box. The algorithm should pack the boxes in an optimal way so the amount of space left unused would be minimal.
The algorithm works with the idea: when placing a box in a bigger box, the bigger box will be split into three new boxes. These three new boxes can be interpreted in three different ways for their size. This creates a tree structure and a recursive backtracking algorithm steps through this tree to find the most optimal path of placing boxes. It continues into recursion until there is no more space for a new box anywhere.
The subdivision of the smaller packages into the big package is also visualized with help of Direct3D8, as one of my teachers noticed I was getting a bit too comfortable with OpenGL and suggested I learn how to use the DirectX api.
In the three years that this project was on the map, this was the first time anyone attempted to solve it.
Source is also included in the download.