Submitted by Embracethecreepy:

Thought your blog could use this, maybe get an explanation as well?

Hi, Embracethecreepy! Although my Google skills are great, I could not find a large amount of information on this shape. I do know that this is a variation of an Apollonian Gasket. An Apollonian gasket is a fractal generated from triples of circles, where each circle is tangent to the other two. In this animation, the circles are being rotated. That’s what makes it look so cool! In the very first frame, you can see the non-rotated Apollonian gasket – a shape that we’re much more familiar with:

Thanks for the submission!

Titan I by Ross Hilbert on Flickr.

A Mobius Pattern IFS fractal formed from a set of Mobius transformations viewed in the context of a hyperbolic tiling.

A Hyperbolic Tiling replicates a polygon over the hyperbolic plane represented by the Poincare disk in such a way as to form a hyperbolic tiling pattern. The Poincare disk is a model for hyperbolic geometry that maps the hyperbolic plane onto the unit disk.

Created using the Fractal Science Kit fractal generator. See www.fractalsciencekit.com/ for details.

The method used to produce the Mobius Pattern is based on information in the book “Indra’s Pearls - The Vision of Felix Klein” by David Mumford, Caroline Series, and David Wright. For additional details, see David Wright’s “Indra’s Pearls” site (klein.math.okstate.edu/IndrasPearls/).


The Apollonian gasket is a fractal constructed from a triple of circles, where each circle is tangent to the other two. Each level continues this pattern, adding 2·3more circles on the nth level of the gasket, for a total of 3n+1 + 2 circles after n stages. Repeating this process and taking the limit gives an object like the gasket pictured above on the left.

The Apollonian gasket is also closely related to the undirected graph known as the Apollonian network. The network can be created by first taking three tangent circles, inscribing a circle in the gap created by the three circles, and continuing this process, and then giving each circle a vertex and each pair of tangent circles an edge. This process is seen in the second picture above which shows how it is related to the gasket, and the construction leads to the object pictured on the right.

Pretty interesting relation between the continuous fractal and the discrete graph!


Apollonian Gasket Variations by Fdecomite

In mathematics, an Apollonian gasket or Apollonian net is a fractal generated from triples of circles, where each circle is tangent to the other two. It is named after Greek mathematician Apollonius of Perga.

An example of a simple Apollonian Gasket:

By viewing the example, it may be simple to deduce the construction of an Apollonian Gasket, however, instructions can be found here in this wonderful Vihart video. Have fun creating your own Apollonian Gaskets!

There’s another fractal hiding in one of these gaskets. Can you spot it?

The number found in each circle refers to the “bend’ of that circle; a smaller circle will have a larger bend.

Apollonian gaskets start off with four kissing circles i.e. four circles tangent to each other. In the case above, the first four circles were two with a bend of 1 and two with a bend of 0.

Can’t identify the circles with a bend of 0? That’s because they’re actually the two straight lines at the top and bottom. They’re circles with a radius of infinity :)

Click the picture to read more about fractals.

Oh my God, I finally did it! Using Sage, I made an IFS to make the Apollonian gasket with 2 circles.


import random

image = Graphics()

pts = 1

its = 5000

a = matrix([[1,0],[-2j,1]])

b = matrix([[1-1j,1],[1,1+1j]])

A = a^-1

B = b^-1

z0 = 1

for x in range(pts):

    z = z0

    for y in range(its):

        r = random.random()

        if r <= 0.25:

            z = (a[0,0]*z+a[0,1])/(a[1,0]*z+a[1,1])

        elif 0.25<r<=0.5:

            z = (b[0,0]*z+b[0,1])/(b[1,0]*z+b[1,1])

        elif 0.5<r<=0.75:

            z = (A[0,0]*z+A[0,1])/(A[1,0]*z+A[1,1])

        elif 0.75<r<=1:

            z = (B[0,0]*z+B[0,1])/(B[1,0]*z+B[1,1])

        image += point((real(z), imag(z)), rgbcolor=(0,0,1), size = 1)         

show (image, aspect_ratio = 1)

I will warn you: If you use that, change ‘its’ to a number comparable to your computer’s power.


We have two matrices, a and b. We have their inverses, respectively- A and B. These have complex entries.

For a matrix



we transform a complex z to az+b/cz+d. Each time we choose to transform by a random matrix, and plot the point. Thank you, Indra’s Pearls, I finally understand.



Out for a walk (and to see if I could find any more interesting signs to acquire) and I saw this beam probably cast iron, it is remarkable how much of a beam can be cut away and thus reduce its weight without much decreasing its strength. so we have this with circles and triangle spaces cast in it.  Form follows function but it may still have aesthetics included. 

Second photograph there is another sort of gasket (there are actually dozens) like the Sierpinski gasket I so love this one is called the Apollonian gasket and is formed from packing a circle with smaller ones, to some rule, in my case largest three similar you can fit in.

Relatively easy to draw or program on a computer but long winded to make. These are 10 cms across not particularly complex and have 40+ elements in each, need to make a third and then group them and infill the gaps.

I do see this as a maquette perhaps each smaller element getting taller so as to produce a 3D tower, may try it in copper sheet, but would need to practise my soldering.