Orthogonal Line Intersection - Given a set of randomly generated vertical and horizontal lines, the program calculates all of the intersections that exist and displays them.

K-Dimensional Tree - Given a random assortment of points on a 2-D plane, the program organizes them into a balanced, K-Dimensional tree, then displays that tree as a series of rectangles.

Museum Guard - This program allows a user to draw any polygon, and calculates the portion of the polygon that is "visible" from any given spot. 

3 Dimensional Motion Planning - The program allows a user to input a series of polygons that act as obstacles for a rectangular robot. 

Coded in C++ and OpenGL.
All code for these projects can be found here.



Flooding - Terrain is input into the program from ASCII files, 2-D grids where each value represents the terrain height at the given coordinates. The program then models that terrain, and assigns all 0 values to be ocean. Each time the ocean level rises, all coordinates adjacent to water are checked to see if they are submerged or not, this continues until all spots have been checked, and is then repeated.

Viewsheds - Using the same ASCII files as above, viewsheds are computed by comparing the vertical angles of sight at each horizontal angle from a given view point. The visible portions of the terrain are colored green, while the viewpoint is shown as a blue rectangle. The rectangle is larger than the viewpoint itself, just so that it is easier to see.

Coded in C and the OpenGL framework.
All code for these projects and a few others from the class can be found here.