I worked on this project for CS 229 (Machine Learning) in Fall 2017 along with Xinru Hua and Haotian Zhang. We attempt to verify results from a paper which introduces a method to transfer images between different domains (i.e. face images to emoji) using a generative adversial network (GAN) that is trained in an unsupervised fashion.
View Project Project ReportThis is my first attempt at a full fluid solver that I implemented as part of an independent study. The simulation uses a PIC/FLIP method using a MAC grid structure based heavily on the book Fluid Simulation for Computer Graphics by Robert Bridson. This initial implementation is in 2D with a very simple visualization.
View Video 1 View Video 2 View ProjectAwarded Outstanding Project by Faculty Panel |
Project completed as part of the Smart Spaces REU at Lehigh University in the summer of 2016. It is an augmented reality Google Cardboard application for Android to visualize the alignment of bone models from MRI and Ultrasound scans. This application was built on top of a library that we ended up making as a spin-off of this project (see below). The final goal of the application is to make it easier for orthopedic surgeons to visualize the bone they are operating on by augmenting a high quality 3D model obtained through an MRI and aligned to the patient in real time using Ultrasound.
View Video View ProjectThe GAR Library is an easy-to-use Java library for creating augmented reality Android applications for the Google Cardboard. This was created as part of a summer REU. The library currently has functionality for rendering the phone camera view and any augmented objects in stereo, single marker tracking, and tracking marker cubes.
View ProjectThis is an interactive two-dimensional mass-spring system simulator written using OpenGL and GLUT. The user is able to add both fixed and dynamic masses to the system, and connect them with springs. As the simulation is running the user can interact with the dynamic masses in real time. The simulation uses Euler's Method for numerical integration and includes naive collision detection.
View Video View ProjectThis was my final project for CSCE 470: Computer Graphics. It is a 3D gravitational N-body simulation written in JavaScript using WebGL, so it runs in any web browser that supports WebGL. Users can parameterize the simulation with a number of settings as well as interactively view the simulation as it takes place. A detailed decription of the controls to simulation as well as the implementation can be found in the writeup on GitHub.
View Simulation View ProjectFor the last few years I've been teaching a weekly introductory course on programming concepts to members of the Society of Physics Students (SPS) at my university. To accomplish this I wrote a series of lessons teaching basic C++.
View Lessons