This library contains several classes for supporting structure from motion applications. I have also include our triangulation scheme from our paper, Statistical Angular Error-Based Triangulation for Efficient and Accurate Multi-View Scene Reconstruction, as part of this library. The library is provided here in hopes that it is useful to others. I have also provided a triangulation example in the links below. Please cite our WACV 2012 paper if you use this library (The bibtex is here).
I was the lead developer and researcher for the HawkEye™ IR&D project at SURVICE Engineering Company. I developed the HawkEye™ library, which contains several state of the art structure from motion algorithms. I also implemented a user interface for interacting with the library components and generating three-dimensional geometry from a sequential set of images.
For this project, I implemented a Sibson's Interpolation scheme based upon Voronoi diagrams. My system supports generating surfaces based upon the values of the sibson's interpolant and error surfaces. I support rendering the voronoi diagram and surface. This project still contains several bugs.
For this project, I implemented a global and local version of Shepard's method and Hardy's method for use in scattered data interpolation. My system supports sampling the scattered data in a uniform rectilinear grid and provides the ability to volume render the result. I also support slicing planes, as well as, user defined transfer functions.
Vol is a CPU ray casting volumetric data rendering system. It supports rectilinear grid datasets and user defined transfer functions. Camera and lighting controls are provided to the user to enhance the visualization.
Multiple reconstruction reconstruction from aerial imagery is computationally expensive. Although GPS positional information is available for each camera, the orientation in 3D space is frequently unknown. The camera pose estimation for each image requires an expensive bundle adjustment process to improve the accuracy of the reconstruction. We propose a new visually-based camera pose technique which eliminates bundle adjustment. Our approach incorporates volume data in order to analyze the sensitivity of this new method.
Project BlackLight is an independent ray tracing project of which I work on in my spare time. The system supports a variety of cameras models, lighting parameters, and material interfaces. I support many primitive rendering types. The current implementation is CPU based but I am planning on implementing a GPU version as well.
Project Icarus is an application for the Apple iPad that connects with the AR.Drone Parrot quadcopter. This application is designed to provide a natural real-time control scheme for the Parrot using virtual controls operated through touch. The system supports in flight data collection through the recording, saving, and playback of data sessions.
Navigato is a single player platformer game, which was developed using XNA 4.0. The game was designed for the Windows Phone 7. The main character finds himself trapped in a dream world. The player must utilize powers to overcome the challenging levels to defeat the darkness within.
Martian Rover Speedway is an Xbox360 console game implemented in C# using the XNA framework. This racer features eight ships which race on six different planets. Multiplayer is supported over a local area network as well as over Xbox Live.
There are a few crucial algorithms in computer graphics used by many image synthesis techniques. Polygon clipping is one such algorithm. An effective method for two-dimensional polygon clipping was described by Sutherland and Hodgman in 1974. Our visualization of this algorithm attempts to achieve an analysis or application level of understanding according to Bloom's Taxonomy. The project was implemented in Java and is a part of the JHAVÉ project. Our work was the recipient the 2011 AlgoViz award. An online version of our visualization can be found below.