Index of Projects
This site is an index of some of the more interesting projects I've done while a student at Harvey Mudd College. Most of these projects are related to graphics, which is the subject of computer science that I have become most interested in.
Also linked is my Software Development class project, that was developed by a team of four people, a project I did for my architecture and operating systems class, and a project from my artificial intelligence class. The graphics projects are the most well represented though because I have done the most interesting work in graphics, and as I said, find it to be the most interesting subject.
Projects for Graphics (CS 155 at HMC)
- Image Processor - Various filters and warps for images, including implementations of various dithering and convolution techniques, to produce things like blurring, edge detection, swirling effects, etc.
- Raytracer - Complete raytracer including intersections with various shapes, as well as implementations of soft shadows, jittering, texture mapping, reflections, transparency through thick objects, etc.
- Mini-OpenGL - Implementation of scan-line algorithm, as well as lighting, and z-buffering, etc.
- OpenGL Robot - Interactive OpenGL robot, using shadowing, reflections, transparent objects, etc.
Projects for Animation (CS 181a at HMC)
- Surface Subdivision - Implemented subdivision of surfaces, including support for smooth shading, texturing, and normal and orthogonal dragging of vertices.
Other Projects and Research
- Radiosity
- Research on implementing a radiosity renderer that also takes specular
lighting into account.
- Computer
Vision
- An independent study I'm doing with Steve DiVerdi in computer vision. We
are exploring many different techniques of facial tracking, with the goal
of having some fairly robust system by the end of the semester, and hope
to also incorporate some sort of facial recognition based on a database
of recognizable faces.
- GateBuilder
- Software development class project - a logic gate environment developed
to be used in introductory computer science class.