Home of Jerzy Kocik  |  Home of Math 532  |  Back to Apolloniana

Apollonian Window

Apolonian window (a special case of Apollonian gasket) obtained by a random game


Rules of the game:

  1. A point (x,y) is selected at random and drawn. Then the following process starts:
  2. A four-sided die is rolled in order to choose one of the four transformations given below.
  3. This randomly chosen transformation is applied to the point most recently obtained and the new point is born and drawn.

This Markov process produces the Apollonian Window with a great accuracy.

The four transformations   Fi: (x, y)   -->    (x', y') are defined here:

F1:       x'   =   x
y'   =   - y
F2: x'   =   x / (16x2 + 16y2 - 8y + 1)
y'   =   (4x2 + 4y2 - y) / (16x2 + 16y2 - 8y + 1)
F3: x'   =   (x2 + y2 - x - 2y + 1) / ((x-1)2 + (y-1)2)
y'   =   (x2 + y2 - 2x - y + 1) / ((x-1)2 + (y-1)2)
F4: x'   =   - (x2 + y2 + x - 2y + 1) / ((x+1)2 + (y-1)2 )
y'   =     (x2 + y2 + 2x - y+1) / ((x+1)2 +(y-1)2)

Can you guess what they represent?

Remarks: The Markov chain of transformations that allows one to obtain Sierpinski Gasket as the orbit of a randomly chosen point is a well known example of a so-called "Chaos Game". Here is how you do it:

  1. Choose tree points in a plane, say A, B, and C (vertices of a triangle).
  2. Now, pick a random point P in the plane.
  3. Pick at random one of the vertices and draw a midpoint P1 between P and this vertex.
  4. Pick at random one of the vertices and draw a midpoint P2 between P1 and this vertex.
  5. Iterate this process, getting a sequence of points (Pi).

In a short while the points, except the first few, will form a recognizable, almost perfect, shape of the Sierpinski Gasket.

I do not know who is the author of this idea (let me know if you do). Writing a program that plots these points is however a standard exercise for students of Computer Science, as the writing a rather short script is rewarded by a very aesthetical graphical result.

As for the rules for the Apollonian Window that I gave above, I believe that no simpler formulas would do the job.