Saturday, March 7, 2026

Inversive Substitution Rules

A substitution rule assigns a colour to each self-similar region in a shape, where each colour has its own rule set. It produces a recursive shape which, much like an L-system, generates more complex shapes than simple recursive fractals.

A simple example is the Menger carpet. There are two colours of square, white and black. The rules are:

white: split into 3x3 grid such that centre is black and the rest are white.

black: stay black.

Of course you can get more complicated, for instance you could have four types, labelled white, red, green and black, starting with white:

white → alternating white and red with central black

red → alternating white and red with central green

green → all green

black → all black


Anyway, I'm interested in such substitution rules but for inversive limit sets. 

The idea with these limit sets is that the symmetries are inversions around spheres that connect at dihedral angles that are pi/n for integer n. 

In all cases I have seen of these inversive limit sets there is just a single set of spheres, so generating a simple recursive structure. 

In order to generate more complex shapes we can use substitution rules to mix in different types of inversive set at different locations. 

The key constraint is that when you substitute in a different set of spheres, it must connect identically to its neighbours after some Mobius transformation. 

Here's an example with two colours:

green: a set of 6 (green) spheres that generates a tree structure (left hand side below)

red: a set of 6 spheres that generates a shell structure (concavities). These are all red apart from one green sphere 


So the tree structure is a fractal tree all the way down, but the red shell structure has green protuberences inside each dome.

This can only work if there is a Mobius transformation of the green sphere inside the res sphere set, which makes its neighbours match the neighbours of the destination green sphere.

That is certainly not always the case, you need to ensure that the neighbours have the same topology (e.g. dihedral angle order) and geometry under a Mobius transformation. But this can be done in the general case by adjusting the geometry of each set in order to ensure that this is the case.