Programming

I'm a programmer with an interest in computer graphics. Particularly, I'm interested in how tools affect the things we make, and how software can influence design thought.

StrokeStrip: Joint Parameterization and Fitting of Stroke Clusters

Written in collaboration with Chenxi Liu, Nicholas Vining, Mikhail Bessmeltsev and Alla Sheffer.

ACM Transactions on Graphics, August 1, 2021

Artist-drawn vector sketches use clusters of strokes to convey intended curves. StrokeStrip fits intended curves to such clusters by computing and utilizing a joint arc length parameterization of each cluster, producing clean lines consistent with viewer expectations.

We observe that viewers perceive stroke clusters as continuous, varying-width strips whose paths are described by the intended curves. An arc length parameterization of these strips defines a natural mapping from a strip to its path. We therefore recast the curve fitting problem as one of parameterizing the cluster strokes using a joint 1D parameterization that is the restriction of the natural arc length parameterization of this strip to the strokes in the cluster.

The Engulfed Cathedral: CS488 final project

July 25, 2018

A raytraced 3d renderer and short animation created with it for Waterloo's computer graphics course.

I used this project to implement graphics techniques such as photon mapped lighting, ambient occlusion, volumetric materials, constructive solid geometry, and inverse kinematics, along with sampling methods for inverse procedural modelling.

Major programming projects Side projects

Arts and Design

In my spare time, I draw, make animations, and write music. I make a lot of sarcastic cover songs as well as serious music.

Art Animations Music