Computer Graphics

An alpha shape editor that generates structures with roofs above interiors.

Twist-minimizing transport of a frame along a subdivision curve.

A graph editor that procedurally generates a stained-glass window effect while maintaining the graph data.

Simple yet compelling ray-tracing artifacts.

Basic triangle mesh viewer using a corner-table data structure; includes functionality such as the dual operator.

Basic GPU rendering demo that implements a few rendering tasks through vertex and fragment shaders.
Simulation

A plant-growth system using voxel-space approximation.

A typical boid flocking system with boid speed represented by smooth transitioning colors.

A 2D fluid simulation with vorticity confinement.

The Gray-Scott reaction-diffusion system demonstrating a variety of phenomena.

An exploration of the branching algorithms: diffusion limited aggregation (DLA) and dielectric breakdown model (DBM).

A basic implementation of the cellular automata simulation known as the game of Life.
Computational Photography

A real-time content-aware image resizing tool that allows protection and deletion of hand-picked regions.

Some infinite loops of flames generated by transitioning between select frames of high similarity.

A demo of the process of masking two images together into a single artifact.

A high-dynamic range artifact generated using a Laplacian Pyramid.

Demonstrates an application of image stitching using feature detection, image registration, and projective transformation.

Trying out some feature detection algorithms.

Basic edge detection through image gradients.

Trying out a point cloud generator.

An artifact of getting my feet wet with basic image I/O in Python.