or technical studies. Programs were written in Javascript using WebGL.

Click to interact.

Edge Detection

A convolution is done to a texture to display edges, or color changes near each pixel.


Each "insect" flocks toward the center of mass in a particle system.

Fractal Mountain

A pyramid is fractally subdivided with noise to produce a visually complex mountain.


Random points are stored within an octree, then the whole data structure is drawn by traversing the octree.

Recursive Filtering

A convolution is done to a texture to 'diffuse' RGB values.

Scene Graph

Symbols are connected with joints in a scene graph and drawn by traversing the graph.

Shape Grammar

A set of productions creates various kinds of branches.

Surface Fitting

Polynomial surfaces fit points and are then parametrically sampled.

Ant Territory

Each "ant" traces out a color and dies in areas of other colors in an agent-based modeling system.