Digital Works

Various experiments made with code written in

Images and Flow Fields

This series involved using data from images as flow fields for particles. The process involved extracting hue, saturation, and brightness values from an image and using those values to define a vector field. Particles are spawned evenly throughout the field, and their paths are traced. Color was determined by the angle of the forcing vector, and was usually pulled from a self defined color palette, or a separate image.

When I first started making these, I was inspired by electron microscope imagery, and my motivation was to create organic and alien themed visuals.

Domain Warping

Domain warping involves taking some sort of “domain”, such as a noise field or an image, and distorting or “warping” it. My exploration of this topic started with a classic noise field distortion, and evolved into image manipulation. My focus at the beginning was the color. I was interested in the hidden colors inside images that you might not see until it is drawn out, stretched, and twisted. Seemingly boring images suddenly exploded with color. This remained an important aspect throughout the series, but shapes became a stronger focus as it evolved. Instead of using noise fields or harmonic functions, other images became the source of distortion. I used images I had generated in previous works, pictures I took with my phone or a digital microscope, and satellite imagery of the Earth. The final evolution of the series involved mashing two images together.


This remains one of my favorite series, even though it was one of the shortest. I’ve always wanted to create my own generative creatures, and these are my first. While experimenting with branching algorithms, I stumbled upon this idea. It is essentially just a fancy branching algorithm. My favorite part about this series was the shading technique. It’s quite simple, and is in no way a technically correct way of shading, but the effect works and that’s all that matters. The idea is to place small circles randomly along each edge, one side more than the other, with the chance of placing a circle decreasing towards the center of the polygon. This creates a generative ginger root. Add some googly eyes, and you have little sea creatures.