Posted on October 20, 2021


“Rotae” is a generative art collection that I created for Art Blocks. It is based on, and is an ode to, the vast array of beautiful shapes that can appear from the seemingly simple process of letting circles rotate on (many more) circles. The name of the project, Rotae, means “wheels” in Latin, and is a nod to the paper that describes the math behind finding a certain m-fold symmetry, regardless of the number of circles that are chained together.

“Rotae” is now available for minting on Art Blocks for 0.1 ETH. You can mint your own here and also see the gallery with already minted pieces. You can also see a few example outputs from Rotae on this page, and you can see test mints on the Art Blocks testing environment to get a sense of the different visuals and styles.

Test outputs from Rotae

Each shape is also animated after a few seconds, which can reveal the intricacies of the underlying path, and sometimes even reveal a most surprising hidden shape, such as a heart in the video below.

The animation starts after a few seconds and can reveal quite unexpected hidden shapes, such as this heart

The Technique

Using a hash as its seed, the pseudo-random-number-generator chooses the number of wheels (between 3 and 8) and what m-fold symmetry to create. Next, the wheels are randomly given radii and frequencies that will create the aimed-for symmetry. Working from the symmetry towards the wheel settings (plus a few nudges here and there) makes sure that you don’t end up with paths that have to go around for tens or hundreds of times before finally closing again, which usually result only in very round shapes. Instead, using the symmetry math from the paper it’s possible to create shapes with a symmetries below 10-fold, giving a seemingly endless variety in what comes out, and clearly shows the path.

Many different kinds of shapes are possible, not just round ones

Animating the Wheels

I find that the shapes can take such unexpected forms that I’m sometimes almost doubting that it’s been drawn be simple circles systematically going around and around! I’ve therefore created the animating demo below. By default it takes a random hash, but you can also input the hash of any mint (specifically meant for the Rotae mints of course) and this will reveal how the final shape is drawn from its collection of circles/wheels, plus give you the detailed information about each wheel, such as its size and frequency.

The tokenData.hash that is used for the seed of the random number generator is not the same as the transaction hash that you see on the page of your transaction. Instead, you can find it by going to the mint’s page on Art Blocks, clicking the little “square with arrow pointing to the top-right” icon you can see in the lower right of the mint image. This will open up a new page with the mint itself. Next go to the devTools (generally you can right-click the page anywhere and choose “Inspect”). Within the devTools console type tokenData.hash and there is your hash! For example, try 0xd6eb1c4648814d31f830f69321bd7460b1d096a0db6e9b2a3ae709d4e836c679 which is the tokenData hash of mint #0 of Rotae. See the video below for a visual explanation on how to find the tokenData.hash.

How to find the tokenData.hash from a Rotae mint

Note | the animation will always show the “normal” smooth path for any hash, also for the mints that have their feature of path equal to angular. In those case the shape below can look a bit / quite different from how the minted version looks.

Input the TokenData Hash





To explain what the different columns mean:

With this you theoretically have all the info you’d need to recreate the base path of the shape yourself if you feel like it (⌐■_■) You can find more about the math of spirographs, and more generally “wheels rotating on wheels”, on this and this page.


Once Rotae is either sold-out or closed, I’ll expand on this section to show what design styles, color palettes, and other aspects are wrapped into “Rotae” (^∇^)


I’ve loved spirographs since I was a kid. I had one of those kits and would draw all kinds of flower-y shapes. I would definitely get frustrated though when I made a tiny mistake with my pen, or the circle would move just a little. I could start all over again…

The current 'mini-kit' I still have to create spirographs IRL

When I discovered programming years later, and especially when I dove into SVGs and d3.js, it didn’t take long before I found my way back to spirographs. Using code to create a spirograph will make it absolutely perfect, every time. It’s drawn near instantaneous, but you could also animate it. And, if you wanted, you could break the perfectness and sometimes get some very interesting results when the conditions were just right.

Officially “circles on circles” would be a fourier transform, epicycles would perhaps fit better, but I feel these shapes feel closer to spirographs. According to Piter Pasma these are “Polyepihyperderpflardioids”, which is an awesome name!

Best of all, you could work with an endless number of ‘wheels’, not being limited to the two that are possible in the physical realm, creating ever more intricate patterns. More than two wheels are no longer spirographs though. In fact Spirograph is only the name of the toy, not a mathematical description. However, most people know the term “spirograph” and what it conveys, so I’m often using the term “spirograph” to describe my results from this algorithm.

The purchase in March 2020 wasn’t a coincidence of course, having suddenly had all my clients and a vacation fall away.

I created an online page to randomly draw spirographs during 2016. However, it was through the pen plotter that I bought in March 2020 that I really got back into working with them. I started with bigger spirographs that would be as wide as an A4 page, going around hundreds of times before closing (if at all).

Some big spirograph versions made on my AxiDraw pen plotter

Wanting to learn more about the math underlying the idea of circles rotating on circles and their symmetry I came across the paper by Frank A. Farris about “Wheels on Wheels on Wheels”. I adjusted some of the math from there into my own code and started experimenting with 3 and 4 wheels, drawing a grid full of tiny tiny shapes.

I was amazed by the enormous variety of shapes that I saw and definitely wanted to dive even deeper. However, live went on and you get distracted by other things, work, etc… so I didn’t really touch it again for about a year.

Drawing mini shapes with my AxiDraw pen plotter

When I started learning about NFTs last July I quickly found the existence of Art Blocks and thought it would be damn amazing to be able to release a project for Art Blocks, having the code itself live on the blockchain. Since my expertise lies in the visualization of data, which wasn’t an option to use with Art Blocks, it was clear as day for me what I wanted my project to be based on instead; wheels rotating on wheels.

At first I tried to mimic the feeling/design of a pen plotter, but then made digitally. However, after some advice I pivoted away and instead focused on how I could draw these shapes in ways that would be near impossible with a pen plotter, really embracing the possibilities of the digital medium; gradients, backgrounds, vibrant poppy colors, changes in line thickness, different kinds of lines, etc.

During July and August I started with the code that I’d already made for my miniature pen plotted spirographs and took it several steps further to eventually become “Rotae”.


Of the proceeds of Rotae that were above the resting price 25% have been donated to two charities that I’ve long been following; $2229 to each charity.

The first charity I choose is The Ocean Cleanup, founded in the Netherlands that is dedicated to cleaning up our Oceans. The second is the Cheetah Conservation Fund. The Cheetah has been my favorite animal for as long as I can remember (ノ◕ヮ◕)ノ*:・゚✧ . I’m really happy to have supported both of these wonderful charities with Rotae!

See also