Apollonian Gaskets
Solo, released (2018)

Introduction

Not much to say about this one. I used the momentum I had from the Voronoi Tilings and Celtic Knots to continue with another small project. This came from a paper by Craig Kaplan and Tiffany Inglis. Although the paper is about "Gothic Architecture", I don't really think it applies; but it did, as an aside, lead me to Robert Billings who has a bunch of books about real gothic tracery patterns! Given that the guy died before 1900, most of his books are available on Google Books, so check them out. Beyond the ones about the geometry of ornament, he has some pretty great illustrations from a time before photograph printing was common.

Anyway! About the project itself - it's a fairly straightforward implementation of a fractal called Apollonian Gasket. It can be easily summed up by "it's circles all the way down".


How does it work?

Apollonian Gasket

A general Apollonian Gasket starts with 3 circles (C1, C2, C3) tangent to each other (that is, touching but not intersecting). Skipping over the technical details, there are exactly two circles (C4, C5) you can add that is adjacent to the previous three. When you add this new circle, you get a bunch of new triplets of tangent circles - (C1,C2,C4) (C1,C2,C5) (C1,C3,C4), and so on. The circles generated get progressively smaller, but you can apply the same method forever.

Apollonian Flower

To go form a gasket to a flower, you need to do three things: choose a seed, duplicate the apollonian gasket at a "syncopated angle" (I'll explain) and finally, of course, give it some color (since smell is currently beyond the capability of personal computers).

The seed is given by two rings of adjacent circles, an inner ring and an outer ring. You can choose any number of circles, which will affect the thickness of the ring.

The circles have a certain "rhythm". The angle between two adjacent circle is a "full step". If you duplicate the ring and turn it only a "half step", you get a "syncopated" ring. I hope the analogy makes sense!


Coloring

To preserve the symmetries, I colored each circle by its size. Just like in the Larger-than-Life CA, it's a handy trick to get a linear gradient. In this case, it even works better, since the circles are discrete. I also put the smaller circles on top (otherwise the overlapping big circles would obscure all the detail!). I just set some rough variables like hue speed and offset which aren't very customizable (I could have used a custom palette generator like in the LtLCA, but this was just a quick experiment). If you actually want to use these patterns, it would be nice to assign colors to sizes more directly - especially since the smaller circles correspond to detail, while the larger ones are like the background (imagine a golden necklace with tiny gems).

In sum

The method, then, is simply:

  • Choose the seed rings;
  • Apply the Apollonian Gasket method;
  • Syncopate the patterns;
  • Color it.
You can also get a different kind of pattern when you choose many circles per ring (more circles means smaller circles to fit in the same space), working perhaps as a frame to be filled.


Software

You can download this one on my itch.io page. If you want to look into the code, feel free to ask.