Over my years of studying at UCT, I've had to undertake some fairly nifty projects as part of my coursework and research. Here's some extra info on the things that I've been up to, past and present
- 2nd year (2001)
- 3rd year (2002)
- Honours (2003)
- Masters/PhD (2004 - 2007)
Bruce Merry and I created a nifty graphics program for computing visibility polygons. Basically, given a "map" made of a polygon with polygonal holes and a position within that map, the part of the map visible from that point is computed in approximately O(n) time. To demonstrate what this does, we created a demo application where a character (a dinosaur) can walk around a map, and the area he can see is lit up. We also added support for lights, and calculated the lighting using our visibility calculations and blending different light colours together. Also features a nifty map editor for designing scenes that you can walk the dinosaur around in. Feel free to try this out by downlading maze.tar.gz. Designed for a UNIX/X11 system and requires OpenGL and GTK.
For the course MAM300W (a major in Mathematics), I studied Binary Decision Diagrams (BDDs) and a specialised variant of these known as Ordered Binary Decision Diagrams (OBDDs). The PDF of my final report can be found here. I also wrote some C++ code to manipulate OBDDs, which can be found here and includes some examples of applications of OBDDs as discussed in the report.
Sameshan Perumal and I teamed up to tackle this project, which was co-supervised by the Astronomy department at UCT. This went extremely well, and the latest news (February 2005) is that the resulting application has been show-cased overseas, at conferences in Mauritius and Australia! Watch this space for more info on any future progress...
My studies towards an MSc have been focused on the research into what I have called Affective Scene Generation, which is basically the automatic generation of virtual environments subject to the user describing the environment with adjectives. By doing this, the user doesn't need any technical knowledge in order to generate visually complex environments. More details can be found on the project web-page. At the end of 2005, I upgraded from the MSc to PhD programme and will continue researching the same topic until probably mid 2007, at which point I'm hoping to graduate with a PhD :-)