Tuesday, June 27, 2023

Inversion Table

I have been working on extending the previous inversion shapes into a full table of inversion fractals. It does appear that spherical inversion is a nice way to get 'canonical' examples of each recursive shape described in the classification table here.

I have used Shadertoy with a simple render path here.

In addition to the already discussed sphere cluster, there are two main methods worth discussion:

1. Trees

I have used a different method to the previous inversion trees. Instead, I have taken a platonic solid (currently only tetrahedron, octahedron and cube) and places a sphere inversion at each face to generate the domes, and a sphere inversion at each corner to generate the intermediate domes between the hemispherical large domes. 

There is therefore a parameter to control the doming angle and a second parameter to control the width of this intermediate area. 

Above is a tree using the octahedron platonic solid, so there are 8 large domes on the octahedron faces and a 'cross' structure filling the gap between those domes. 

The doming angle can be increased to generate a tree-sponge and then to generate a sponge-sponge:

Also, the doming angle can be made negative to generate a shell-shell (recursive indentations):

We can even alternate the doming angle to generate a shell-tree, so it is quite a versatile method for generating various classes of recursive shape.

2. Clusters

In addition to the already described sphere cluster (which I use for the cluster-cluster class), we can generate recursive shapes on platonic solids by placing contacting spheres at each face, with a central contacting sphere in the middle. This is currently just done for tetrahedron, octahedron and cube, just like the tree structures above.

If each sphere recurses to the central sphere, then it generates a void-sponge:
If we make the outer spheres smaller so that they contact the central sphere but not themselves then it makes a void-tree:
and if we make them smaller so that they don't touch the central sphere either, then it generates a void-cluster:
In each case, the platonic solid can be chosen, as can the relative sphere sizes. 

In addition to these void (pure fractal) objects, the recursion method can be applied to any bounded shape to make a cluster of those shapes. So for instance, we can make a shell-cluster:


These two broad methods provide most of the 16 classes that I have so far generated. These are selected by clicking on the appropriate square in the table grid that overlays the fractal (as seen in the above images). There are a couple of outlier types that I have also added:

void-foam

This is simply a sphere-packing using a Kleinian group similar to the Gx series but in 3D.

cluster-foam

This is a special version of the Kleinian group that includes solid areas.

foam-cluster

This is a modification of the cluster-cluster previously described, which esentially inverts the cluster-cluster around its sphere, to give a foam structure on the inside. This is done recursively, so the empty spheres in the foam also have little sphere clusters inside them. 


Remainder:

The remaining shapes are principally shells and sponge structures. I am not yet sure how best to make these with sphere inversions. Any suggestions are appreciated.

No comments:

Post a Comment