first i zig then i zag

This piece starts from a custom 1D, 2-state cellular automaton, then uses the resulting state grid once vertically, in red, and again horizontally, in blue. By interpreting adjacent same-state cells as contiguous regions, I can use their boundaries to inform the amplitude of the plotted lines. I’ve explored similar techniques before as a way of creating shading with a single pen width, but in this work I like how it blurs the underlying CA states.

u/watagua — 7 days ago

Recursive Voxel Subdivision WIP

An output from ongoing work generalizing the recursive subdivision approach described in Adam M. Smith's paper, "Two Methods For Voxel Detail Enhancement."

Developed as a custom three.js implementation, this study extends the method through alternative neighborhood definitions, non-totalistic state evaluation, and arbitrary palette mapping strategies. Rendered in Blender 5.2 with Eevee.

u/watagua — 19 days ago

Output from a WIP voxel algorithm

An output from work of mine on extending the techniques outlined in the paper "Two Methods For Voxel Detail Enhancement" by Adam M. Smith.

u/watagua — 28 days ago

Same-komon

This is an exploration of dot spacing, circular patterns, and dynamic point relaxation. Inspired by Japanese komon textile patterns, which are small, repeating motifs typically stencil dyed across an entire kimono. Same-komon, with "same" meaning shark, consists of many dots arranged in overlapping circular or fan-shaped rows, producing a texture that supposedly resembles shark skin.

This algorithm begins with placing concentric and overlapping circles with varying radii according to 2D simplex noise. Then I divide those circles into points based on each circle's radius. The points are then dynamically relaxed to space them out from each other, with spacing parameters varying across the composition, driven by another 2D noise field. Finally I place small spirals on each dot with the diameter of the spirals driven by, you guessed it, yet another 2D simplex noise field!

------------------------------

Silent Rain-Swept Altar

19" x 24"

u/watagua — 28 days ago

I'm teaching a free pen plotting webinar where I give away all my best techniques, August 29th !

Plotter Paths V1.0 teaches a complete Grasshopper workflow for computational pen plotting, from generative geometry to physical output. Instead of focusing only on design algorithms, the session follows the full making pipeline: setting up a paper and machine workspace physically and digitally, creating a simple plotter art algorithm, cleaning and validating geometry, optimizing drawing order to reduce travel and cycle time, converting curves into plottable format, visualizing drawn and travel moves, and creating basic G-code. Participants will learn how to think about plotter drawing as machine-aware toolpaths rather than just an image or curves. The session covers practical production details such as margins and bounds checks, plottability warnings and errors, safe return moves, setup commands, paper alignment checks, and multi-layer registration techniques. By the end, participants will understand how to build a reusable Grasshopper pipeline for turning computational drawings into cleaner, faster, and more reliable pen plotter outputs.

designmorphine.com
u/watagua — 2 months ago

squares and squares and squares

This piece uses my "square fitter" algorithm that I've used for my perlin noise glyph tilings. It really comes in handy.

Basically for this one, I generate a large grid, and place squares of decreasing sizes wherever they can fit. Then I take a certain percentage and designate those squares for full color fills. The rest get assigned checkerboard patterns, which I generate by subdividing those squares randomly but according to their initial sizes. And I fill in with spirals.

u/watagua — 2 months ago

A million steps and almost 200k dots

This piece came out of a week spent building a system for exploring Turmites, or generalized Langton’s Ant: little 2D state machines walking across a grid, reading cell states, changing them, updating their own internal states, and moving according to a rule table.

​

The system supports multiple ants, shared or individual rules, different movement neighborhoods, different state kernels, multiple cell and ant states, absolute and relative movement modes, and more.

​

This specific image is the result of over 1 million simulated steps from 4 turmites interacting with each other, their own trails, and the grid itself.

​

Each pixel in the simulation became one plotted dot, so the final drawing contains exactly 172,788 individual dots. Each color layer took a while, and I definitely could have sped the plotter up, but once I started filming I wanted to keep the tempo consistent.

u/watagua — 2 months ago

Squigglers, 19" x 24"

This piece came out of a custom curl noise system I wrote in C#. I had to learn a bit more about derivatives than I expected, but once I simplified the geometry to lists of circles, the whole thing became much more approachable.

The curl noise vector field determines where each trail wants to go, while the circles handle the collision logic. Since circles are easy to distance-check, and even easier to speed up with spatial partitioning, the system ended up being surprisingly flexible. I can adjust the noise scale, time, min/max radii, trail length, radius growth, and a bunch of other parameters to get very different kinds of outputs.

The last step was converting each list of circles into these squiggle paths. That converter could still be better, but watching the plotter draw these little flowing tube forms is extremely satisfying. Pretty happy with both the system and how this specific piece came out.

u/watagua — 3 months ago

Rusting experiment 3, 16" x 24"

Been experimenting with rusting metal. Right now I can only reliably do dots, and as you can see there isnt much control over the flow thus the diameter of each dot is all over the place. Lots of improvements to be had, but I'm trying to keep it simple. It is more difficult than I expected to take pictures of metal...

u/watagua — 3 months ago

Compression Artifacts

Usually with circle packing, the goal is to make circles tangent to each other. But if you keep increasing the radius of each circle while constraining everything inside a boundary, different pattern phases start to emerge when you visualize the circle centers as a voronoi diagram.

The circles slide and stick against each other under pressure, forming regions that shift between hexagonal arrangements, square grids, pentagonal strips, triangular clusters, and back again. The results look surprisingly similar to metal grain boundaries or crystal growth, with local structures forming and reorganizing as the system is compressed and relaxed.

What’s especially interesting is that a simple pressure-based circle packing system can begin to visually echo metallurgical processes like quenching. If we advance the system into a new phase, then relax it slightly, larger chunks of ordered structure are able to form.

This was simulated with Kangaroo physics in Grasshopper, building off work by Riccardo Majewski. Each cell was drawn as a tiny spiral, which left those little dots in the centers (which I love). Part of me thinks it looked better before the outlines were added.

u/watagua — 3 months ago