Here are the courses I've attended at UBC and some pretty pictures.
Instructor: Alan Wagner
For this course, I implemented a parallel Poisson solver using SOR and MPI. Here is my report and slides for a short presentation given to the class.
Instructor: Robert Bridson
Here is a video of a damped spring, fixed on one end, swinging under the influence of gravity. My application can simulate an undamped or critically damped spring with specified spring constant. I implemented several time integration schemes so it can handle highly damped springs with reasonable timesteps:
For my term project, I extended Robert Bridson's FLIP fluid code to emit smoke and started investigating two-phase flow. Here is an example of smoke rising past an invisible circular obstacle.
Instructor: Sergey Bereg
For this course, I studied the linear time polygon triangulation algorithms of Chazelle [1991] and Amato et al. [2000]. I attempted to implement the latter but unfortunately ran out of time. Here is my report and presentation, and this is what the resulting triangulation would have looked like.
Instructor: Michael Friedlander
No pretty pictures for this course!
Instructor: Alla Sheffer
Here are some screen shots of the mesh deformation Graphite plugin I implemented using techniques from papers such as ["Laplacian Surface Editing", Sorkine et al 2004].
For our project, Massih Khorvash and I implemented a marching-cubes based surface reconstruction algorithm by Hoppe et al (1992). Here are some screen shots. The full report is available.
I also presented an overview of the Eigencrust surface reconstruction algorithm by Kolluri et al (2004).
Instructor: Robert Bridson
The second and third images below were generated using radial basis function interpolation over randomly sampled points in the first image.
Instructor: Nando de Freitas
Here is the outcome of image compression using a truncated singular value decomposition. In this case, the image on the right is encoded using about 1/5 the data as the image on the left.