Alien Tissue

A circle inversion IFS fractal.

Home Art Software Blog Research

See the full code in action here. I made it so that you can click the image to toggle the interactivity on and off, this way you can pause it on a specific color phase if you want.

Möbius transformations are rational functions of the form $f(z)=\frac{az+b}{cz+d}$ with $ad-bc \neq 0$ (If this condition didn't hold then the function would be a constant). These functions act on the extended complex plane, or Riemann sphere, $\mathbb{C}\cup \{\infty\}$. The Riemann sphere is denoted $\hat{\mathbb{C}}$ for brevity. The whole reason that this object is called the Riemann sphere is that if you stereographically project the sphere onto the extended complex plane, apply a Möbius transformation, then perform an inverse stereographic projection, it amounts to a rotation and translation of the sphere!

A simple example of a Möbius transformation is $z\mapsto \frac{1}{z}$, which is equivalent to $z\mapsto \frac{\bar{z}}{|z|^2}$. Scaling a point by the inverse square of its distance to the origin is an inversion of the unit circle. It gets the name "inversion" because it turns the unit disk inside out, and leaves the boundary unchanged in the same way that $x\mapsto \frac{1}{x}$ turns the positive real numbers inside out while leaving $1$ unchanged. The $\bar{z}$ part of this map amounts to a reflection across the real axis. Via stereographic projection, we can visualize this transformation by imagining the unit sphere centered at the origin rotating by $\pi$ radians across the real axis. If this is difficult to understand, check out this video, which supplies an excellent visual intuition for how these transformations work.

Möbius transformations form a group under function composition. In fact, it is not difficult to show that this group is isomorphic to the group of $2\times 2$ complex matrices quotiented by the group of scalar multiples (If you multiply every coefficient in a Möbius transformation by a non-zero number, you get the same Möbius transformation). This group is called $PSL(2, \mathbb{C})$.

Since all Möbius transformations are holomorphic and have non-vanishing derivatives, they are all conformal, meaning they always preserve angles. From the relationship with stereographic projection, we can deduce that Möbius transformations always take circles to circles (Note that lines are circles in the extended complex plane). It's also not difficult to show that Möbius transformations are triply transitive, meaning that if we specify how a triple $(z_1,\, z_2,\, z_3)$ of complex numbers is mapped to another triple $(w_1,\, w_2,\, w_3)$ then we get ourselves a unique Möbius transformation!

I could go on all day about the interesting properties of Möbius transformations. They even pop up in my special relativity article. However, what we're really interested in for the discussion of this fractal is Kleinian groups. These are simply discrete subgroups of the Möbius group (the group of all Möbius transformations).

Over 2000 years ago, Apollonius of Perga discovered that if you start with three pairwise tangent circles and begin iteratively drawing circles which are tangent to three pre-existing circles, you get a neat desgin. This "neat design" is a fractal called the Apollonian gasket. It turns out that this marvelous shape is also the limit set of a Kleinian group. In simple terms, this means that every Kleinian group has a gasket which is invariant under the application of any element of the group.

It turns out that there is a simple way to render Apollonian gaskets using circle inversions. Pick four pairwise tangent circles, call them primitive circles. We can construct an Apollonian gasket by inverting across each of these circles. A point which never falls outside of any of the circles is in the gasket, while a point that eventually falls out of the circles is not in the gasket. Too see why this works, notice that any triple of the four primitive circles specifies three points of tangency. The three points of tangency can be used to define a circle which will, clearly, never fall outside any of the primitive circles under iterated inversion. There are 4 such circles. Three of them will be the initial circles for the Apollonian gasket and one will be a circle which encapsulates the other three. Since circle inversion preserves circle tangency, iterated inversion will give us the Apollonian gasket of the initial circles! I encourage you to draw the situation out if you find it difficult to understand.

As you may have noticed, this fractal is not an Apollonian gasket. It's an experimental fractal! It's constructed via the process that I described in the previous paragraph, except that the primitive circles are allowed to overlap. The mouse coordinates are changing the radii of two of the circles.

This might seem like a lot to take in. Indeed, this is an area of math that I wish I knew more about. That being said, a popular text about Möbius transformations and the novelties that arise from them is Indra's Pearls.

Bonus! Here are two other inversion systems that I once rendered: