Iterations

Wormen

Generate 'worm' like elements using adjoining grid tiles.

Start date May, 2025

Type Generative art

Status Ongoing

View process

ITR.01 / Start

Starting off with creating straight, corner and cap tiles and placing them on a grid. When chosen randomly you can already see that they sometimes join and form a 'worm' like shape (or a noodle, a snake, etc).

ITR.02 / Creating worms

I created a Worm class that starts of with a 'Cap' tile that's pointing to one of four directions (up, right, down, left). The Worm class then decides what the next tile should be - should it be a corner to the right or left or are we going forward in the same direction. The class aswell checks if the tile is too close to a border, then it will make sure the worm turns around so to speak.

ITR.03 / Different weights

What happens if you create multiple worms with varying weights and segment counts and draw them together so they intertwine.

ITR.04 / Hidden Line Removal Tool

Taking a short break from the Wormen algorithm after running into some plotting issues—mainly due to the many overlapping lines and filled shapes, I needed proper hidden line removal (occlusion). I usually use vpype for plot optimization, and its occult plugin has been useful in the past, but this time it couldn’t handle using fill-only shapes to do the hidden line removal. Switching to the Axidraw/NextDraw extension in Inkscape gave better results, though it occasionally altered the original lines too much. So I decided to build my own tool. With a helpful AI-assisted start, I ended up creating a custom solution using Paper.js and Clipper.js that fits this specific need much better.

ITR.05 / First tests

Testing the hidden line removal tool I created.

ITR.06 / Simple

Turning down the parameters. Less is more.

ITR.07 / Straight

What happens when the corner elements becomes more blocky?

ITR.08 / Folded Corners

Or what if corners fold over themselves?

For collaborations, custom requests, or general inquiries please feel free to reach out via: contact@misha.studio or one of my socials.