Physics Engine

Created a physics and rendering engine in C++. The goal was to simulate rigid body dynamics and to create a 2D graphics engine for rendering 2D polygons

Features:

    • Simulate physics of 2D polygons and particles and collisions between both
    • Includes a message passing based UI following utilizing polymorphism to create various UI object interfaces
    • Wrapped OpenGL into a custom engine to render polygons, points and text in 2D
    • UI objects are implemented through OpenGL for drawing and SDL for window management

The code and application is available here.

LED Webcam Touchscreen

Features:

    • Programmed an application which transformed a monitor to function as a touchscreen with the use of a webcam and LED in C++
    • Developed algorithms and mathematical formulas behind converting the LED position into a cursor position
    • Experimented scientifically to find mathematical models on how objects change size with different distances away from the webcam

Demo:

3D Engine

Features:

    • Coded a rendering engine to load and render 3D models
    • Developed algorithms to transform 3D polygons into 2D applying self-taught 3D math
    • Implemented z-sorting and flat shading while maintaining real time rendering
    • Presented the design and ideas behind the engine to classmates

Screenshot: