I'm a software engineer living in the Bay Area. I specialize in mobile development, computer graphics, software architecture and product design.
I also occasionally blog, Freeline skate and photograph the world around me.
This projects explored the problem of how to produce aesthetically pleasing computer-generated floral ornaments. The method used in the project is a combination of two papers Magnetic Curves: Curvature-Controlled Aeshetic Curves Using Magnetic Fields by Ling Xu et al. and Computer Generated Floral Ornament M. T. Wong et al. My project focuses on the idea of interactive user control rather than automating the process as the aforementioned papers suggest.
March - Aug 2010
This project involved implementing an algorithm that produced islamic star patterns described in Craig S. Kaplan's paper Islamic Star Patterns from Polygons in Contact. My implementation attempts to apply the algorithm in an interactive way so that a user of the application can design an Islamic star in realtime. Moreover, I enhanced the algorithm by adding interlacing to the edge ribbons of the pattern. This extension makes the final results more visually pleasing.
February 2010
This project involved implementing an algorithm to produce celtic knots described in Peter Cromwell's article Celtic knotwork: mathematical art. My implementation attempts to apply the algorithm in an interactive way, so that a user of the application can design a knot in realtime. Moreover, I enhance the algorithm by allowing the user to modify the plaitwork grid that is used to generate the knot by disabling certain grid cells. I believe this gives the designer even more flexibility in the kinds of knots he/she can produce.
February 2010
This project involved implementing a basic stippling algorithm from Adrian Secord's paper Weighted Voronoi Stippling. Stippling is a technique of simulation of varying degrees of shading and tone using a number of small dots. The dots can potentially vary in size, color and shape. Weighted Voronoi stippling uses centroidal Voronoi diagrams and a weighted variation of the iterative Lloyd's method to distribute the dots according to the tone of the image.
January 2010
While doing my undergrad at the University of Waterloo. I took a number of computer graphics courses. One of my main projects was a fullscale ray-tracer written from scratch in C++. The raytracer has a plethora of features including: a LUA-based modeling language, specular and diffuse reflections/refractions, point and area source lights, texture mapping and constructive solid geometry and others.
June 2009 - Aug 2009
During my two internships at Google I was involved in the Street View Smart Navigation project. This navigation feature provides a 3D cursor that attaches to the facades of the buildings and the road in the scene. This greatly improves the Street View experiences.
May - Aug 2008, Jan - Apr 2009