Monday, September 7, 2026

Double Inversion Sets

In post I'm looking for a system that describes double-sphere-inversion limit sets, which are limit-sets based on inversions around pairs of spheres where one is inside the other. 

My paper on abstract hypergraphs provides a starting point. A theory for how to generate certain classes of inversive limit set out of single inversive generating spheres. The basic idea is that spheres have to intersect at angles that are submultiples of pi. This web of intersections is shown in a connectivity diagram, for instance a void-sponge representing an Apollonian set of circles on a sphere can be represented as a polyhedron of kissing spheres.

Kissing Spheres

Here the octahedral case is shown, but I'm excluding the front and back sphere to make it easier to show. It shows the layout of inversing spheres and the associated graph of nodes:

The edges above are labelled with an order value o which is the submultiple of pi. For kissing spheres o is infinity:

Above left shows the connectivity graph and right shows the resulting void-sponge. It is connected despite rendering artefacts making it looks slightly disconnected.

But this post is about extending this theory to include double-spheres. These sphere pairs perform a double inversion where the set of all points inside the outer sphere get inverted, but the points in the inner sphere are inverted first. 

The simplest case is where the inner sphere sits in the centre of its outer sphere, and for small enough inner radiuses the result is a cluster of these void sponges. So the inner spheres have added the mini void-sponges:

Above left is a depiction of the inner spheres, and to the right is the resulting void-sponge cluster.

The same thing happens with other kissing sphere configurations, for instance here are the cubic and tetrahedral void-sponge clusters. They are clusters when inner spheres are small:

The inner sphere can also kiss the outer sphere with the same resulting class. Either on the outside:



or the inside:



Notice that the cluster locations match which side the inner sphere is on. I think the diagram notation above works OK for this.

Coming back to centred inner spheres, if we increase their radius the child clusters grow until a critical point where they kiss the main structure. This forms a tree of void-sponges, i.e. a void-sponge tree: 

This is depicted as the thinner connection lines directly from inner spheres to the opposing inner spheres. This represents the constraint, it means that the edge of the inner sphere when inverted touches the fixed point in the inner sphere that it is connecting to by that thin edge. 

For a centred inner sphere that fixed point is its centre, and for a kissing inner sphere that fixed point is the kiss point. For in-between cases the fixed point is at:
away from the centre of the outer sphere of radius R, for inner sphere of radius r centred at a distance d from R's centre. 

Here we see the case of the inner sphere kissing the outer sphere on the outside, and also constrained to invert to touch the opposing sphere's fixed point. 



For the inner-kissing inner spheres we also get a void-sponge tree, but this time on the inside:
There is a bit of a notation clash here inside the circles, but we use thicker lines for the kiss connection to disambiguate.

The result of these kiss connections is not always a void-sponge tree, for instance with the tetrahedron there is no single opposing sphere but four equally distant spheres, and the kiss constraint touches all three at the same time.
                                                       
This makes it simply a void-sponge.

You can also make the inner sphere radii even bigger. The next critical point happens when the inverted sphere edge point -- when inverted back by the indicated opposing sphere -- returns to the same point. The resulting child structure sits directly on the original sphere boundary.


I depict this constraint as a ray from the inner sphere node to the opposing outer sphere (which is the sphere reflecting it back). So you get four lines in this case because each of the four double-spheres has an independent constraint. This is evident if we make one of the nodes a single sphere instead. 


In that case the constraint only goes from the left inner sphere to the right single-sphere (and back), there is no thin-line constraint from right to left node because it isn't a double sphere.

There actually seems to be an inner sphere size between these last two sizes. The constraint can be described by picking the left-most double-sphere as an example. Its inner-sphere radius is such that the inverted sphere closest surface point is reflected off the rightmost outer-sphere up to the fixed point of the top double-sphere (or likewise of the bottom sphere):

The visual notation is getting quite messy in this case.

We can make an even even bigger inner sphere if we link to the nearer double-sphere rather than the opposing one. Here linking to the nearest neighbour's fixed point:

Notice that because there are equal connections to all of the nearest neighbour spheres at the same time the result is now a void-sponge. 

An even bigger child-structure occurs when the inner sphere radii are 1/sqrt(3) of the outer radius. Notice that many of the circles are not round, so this is not what I call a true Kleinian fractal, but it is still a critical point, as it becomes a void-cluster for larger radii. To show this I need to re-introduce the top sphere in the octahedral arrangement below.


This happens when the inner sphere (red point) inverts to the point on its neighbour (middle) that reflects to the upper or lower sphere and back again to that same point. Hence the red line up and down. For kissing unit radius spheres this is just the centre of the two, which is at a distance of sqrt(3) from the red sphere. 

A very similar thing happens with the tetrahedron. This is also the critical point between a void-sponge and a void-cluster. 


One of the problems with the above diagram raw notation is that the limit-set tree structures don't look like trees in the graphs. The constraint is often with the opposing node, leading to a long graph edge criss-crossing through the middle of the graph. 

So another way to visualise it is to invert the external graph into each outer sphere (shown in blue) and connect the inner sphere directly with these reflections. I'll call this the expanded view:

 

here's the larger child shape from reflecting to the opposing sphere and back:

 

It is the same graph structure, just rendered with reflections to avoid the long crossovers and preserve the link between graph topology and the resulting limit set topology. For instance the above suggest a tree of void-solids because the inner spheres connect at one point onto the cyclic graph (sponge) with kissing (o=inf) connections (void).

Whereas the connections in the tetrahedral case can be clearly seen to add cycles to the existing central cycle, so you still have a void-sponge. 


The very messy 'bouncing sideways' case would be improved this way also, but is probably even cleaner to expand open the opposing sphere inside each double-sphere, in order to connect the constraint to the right fixed point directly:



Notice that it is similar to the diagram three-above, but one of the reflected double spheres is expanded to allow the constraint to the double reflected (light blue) side spheres without needing to create a separate 'deflecting edge' item. 

This was a bit of a speculative one, but it shows the capability of this notation, you can expand out any generating sphere by reflecting the outside world in, and then create constraints between different layers. That's one idea anyway.

Along similar lines you could imagine that the single inner- of a double-sphere could actually be several inners, and they could be disjoint or maybe even intersecting, why not. Like this:

The inner graph may even be able to have double-spheres in it. I also don't see why not.
I didn't include the blue reflected graph here as nothing is constraining to it, so it is not necessary.

The downside of the expanded view is that it adds a large number of (reflected) nodes. So there seems to be room for a third option; a contracted view. This keeps the small nodes and adds the inner sphere constraints as short lines that point towards the neighbours that they constrain to:

left: raw notation, middle: expanded view, right: contracted view of same octahedral void-sponge tree.

This contracted view retains the key information for the limit set class. Namely whether the inner spheres are disconnected (-cluster), single connected (-tree) or multiply connected (-cluster). Whether the inner sphere touches the outer sphere doesn't seem to affect this connectivity, so these lines are excluded. The direction also tells you which sphere it constrains to (or constrains to first if it is a 'deflecting' constraint). 

As you can see, the space of double-sphere inversions is far more complicated than single sphere inversions. The set of configurations is larger, and we're only just getting going!

Disjoint Spheres

Disjoint are the easiest case as the double-spheres don't affect the class; you get a void-cluster regardless of the inner-sphere constraint.

The notation is the same. You don't draw lines between the nodes as they are disjoint.

Overlapping Spheres

For simple platonic solid sphere configurations the critical point from a -cluster is always the inner sphere whose edge inverts to the fixed point of the most distant double sphere. Much like for the kissing spheres case. 

Below are the cube, octahedron and tetrahedron limit sets with centred double-spheres at the critical radius for overlap orders (intersection angle submultiples of pi) of 2, 3 and 4 from left to right:

Cube: 


 

Octahedron:
 

Tetrahedron:

In all cases a smaller inner sphere radius causes a -cluster. But the underlying limit set class depends on the basic (outer spheres) connectivity. For large orders it is a void-sponge, but it is a cluster-cluster for the cube at o=2, and for the octahedron and tetrahedron at o=3. It is a void-cluster for the octahedron and tetrahedron at o=2, which becomes a void-tree for the octahedron at the shown critical inner-sphere radius, and a void-sponge for the tetrahedron.

Conclusions

OK that'll do for now. I might add some more variations later. But my main conclusions are:

1. adding an inner sphere (double inversion) converts your limit set class into <class>-cluster when the inner radius is small enough.
2. the critical radius at which it touches the parent limit set is the outer sphere's inversion of the distance from that sphere centre to the farthest double-sphere's fixed point (doesn't move under the double inversion). The class may become a <class>-tree if there is a single farthest, or <class>-sponge if there are multiple. 
3. larger inner sphere radii are possible, and these correspond to fixed points on nearer spheres or other types of fixed points such as the fixed point of two outer-sphere inversions in sequence. These more complex cases don't necessarily change the limit set's class, and they produce what I call non-Kleinian sets containing shapes made of multiple circular arcs rather than just pure circles. 
3. inner spheres needn't be centred, and there could be more than one inner sphere, in fact there could be a whole connectivity graph inside each outer sphere, making the configuration space very large.
4. we can define these configurations by expanding the standard connectivity graph to include the several types of link that constrain the inner spheres. Visually this can be depicted in the raw notation, expanded view and the contracted view as special link directions from the inner spheres.
5. there is more to explore... how do double-inversions work with the more solid fractal classes for instance? What if two inner spheres overlap?