This is my portfolio of different projects I have worked on! Many of the projects were either research projects, class projects, or personal projects. Several of them involve computer graphics, computer vision, 3D art, using game engines, data visualization, and / or civil engineering (CEE).

Click on each photo to go to a Github Repository to learn more!

Computer Graphics Computer Vision 3D Art Game Engine Data Visualization CEE

Physics-based & Heuristics-based Damage for Digital Twins

Python OpenCV Blender CEE

My main contribution for this paper was the design and development of physics-based damage and heuristics-based damage creation methodologies. Physics-based damage is directly based on finite element model (FEM) damage hotspots, while heuristics-based damage is based on structural analysis results. My co-authors ran the actual analyses, while I used both of the results from their work as inputs to my work. Additionally, I created a method to turn an image of an as-built structure’s material into undamaged textures that can be applied to a digital twin.

Prototype Application GUI for UIUC Smart Bridge Sensor Data Showcase

C++ OpenGL SDL2 CEE

This GitHub repository is my code for a prototype 3D application I developed from scratch for UIUC’s Smart Bridge using C++, OpenGL, and SDL2. The application renders a 3D model of the bridge with different colors that represent the bridge sensor’s acceleration readings and allows the user to “fly” around the bridge to inspect different views. I also added functionality for menus and various pages of educational content.

WebGL Raytracer

Javascript WebGL HTML

I solo developed a Ray Tracer in Javascript and WebGL for my final project for the graduate version of CS 418: Interactive Computer Graphics. The code creates 35 spheres of random size, material, and color floating at different positions in a static scene. The three possible material types are: diffuse, metal (reflection), and dielectric (refraction). Additionally, a bounding volume hierarchy was implemented to improve performance.

The script in action can be found here.

Unreal Engine Games for CS 415

Unreal

I solo developed a first-person endless runner and a third-person 3D platformer in Unreal Engine 5. For these projects, I created simple widgets using Unreal Motion Graphics (UMG) for a main HUD and various game transition states. Additionally, for the third-person platformer, I designed a level for the 3D platformer that incorporates three unique enemy designs & various items.

UIUC Game Builders Studio – Artist

Blender Unity

I have been an artist at UIUC’s Game Builders Studio since its first semester in Fall 2022. Game Builders Studio is a student-driven studio that makes one game per semester with a team of 14 – 20 people. Students must apply and can join one of four teams: design, art, audio / music, and programming, that collaborate and work together. As an Artist on the team, I’ve created several props and character models and materials for both games as well as some concept art. Select pieces are shown to the right.

Narrative Visualization for Video Game Sales Data

Javascript D3

This GitHub repository is my code for a narrative visualization involving video game sales data over time using Javascript and D3. I solo developed this for my final project for the graduate version of CS 416: Data Visualization. The narrative visualization shows video game sales over time and the top video games in different categories.

The script in action can be found here.

Vision-based Displacement Measurement of Miter Gates

MATLAB CEE

My main contribution to this paper was as the main developer and algorithm designer for a series of MATLAB scripts that use computer vision to measure displacement of miter gates through a series of photos. The main script uses a KLT-based optical flow method to measure the displacements of a set of user-specified points. Some of the other scripts visualize the generated displacements as a heat map on top of the original image and animate the displacements in a plot for easy visualization.

Senior Design – Air Traffic Control Tower

Revit CEE

Every semester, graduating seniors are split into interdisciplinary-emphasis teams to work on a project provided by an industry partner. In Spring 2020, we were tasked with performing designs around Purdue’s Aerospace District including a railway expansion and the design of a new air traffic control tower (ATCT). Since my team didn’t have an architectural emphasis, my main role on the team was architecture, structural analysis, and miscellaneous structural design for the ATCT.

Seismic Design Competition Team

Revit CEE

Seismic Design is an undergraduate competition sponsored by the Earthquake Engineering Research Institute (EERI) where teams design and build a five-foot-tall balsa wood tower that must be able to sustain high earthquake loads. I was on the team all 4 years of undergrad and was captain for 2.5 of them. Over the years, I created architecture renderings, designed the building, analyzed the structural system, and built many towers out of balsa wood.