Projects

CS538a: Time-Sensitive Distributed Applications

I did a small literature survey and introductory paper on Delay Tolerant Networking. I think this is a very interesting area and have gone on to do my MSc research in this area. See my research page for way more information and links than are in this survey. Good as an introductory read, though. PDF (32KB)

CS550: Machine Learning

Clustering of Typeset Mathematical Symbols Using Spectral Methods and Shape Contexts

This project demonstrates a method for recognising typeset mathematical symbols. The method involves using spectral methods to perform semi-supervised clustering of the symbol images, using shape contexts to measure the similarity between symbols. PDF (85KB)

CS533b: Animation Physics

Draping Cloth

This simulated draping a cloth over an object. Not perfect, since I didn't implement the code that would make the cloth bend correctly, but it's pretty darn close. MPEG (45KB).

Waves

This is a very basic deep-ocean wave simulation using an inverse FFT. I added choppiness by distorting the wave grid as described in Real-time Simulation of Water Surface. I also attached a ball to the distorted grid which gives it suprisingly realistic movement. Sorry for the poor quality, ppmtompeg really sucks. MPEG (1.3MB).

CS414: Computer Graphics

To run any of these on Windows you'll need to download the Glut DLL and put it in the same place as you put the executable.

Particle Systems

Particle Systems Tutorial A small tutorial program written as the final course project. It demonstrates basic principles of particle systems in graphics, including force fields that can both attract and repel. The readme contains a lot more info. Attained an Honourable Mention for Best Tutorial for the class!
 
To navigate: click and drag. To zoom, right-click and drag.
To select a system or force field, switch to design mode and click the wire sphere.
Download: psys.zip

CS Honours Thesis

My Honours research, done under the supervision of Scott Hazelhurst, investigated the use of compression in separating introns from exons in DNA strands. I considered each region to be a statement in a different language and attempted to separate these two languages using a gzip-based technique. PDF (567KB)