I'm terrible at explainning things, but I'll try to be understandable.
I've been thinking about
Lavaurs' algorithm, and trying to come up with a 3D extension of it. The standard formulation is based on rational points on the unit circle, but I found an alternate form that allows a natural extension to arbitrary dimensions.
I don't think the abstract mandelbrot set is generally well known, so I'll put a quick summary here:
To build the set, measure the angles on a circle in radians/2pi (so the angle is in the range [0,1)). Connect the points at 1/3 and 2/3. Increase the denominator until it is possible to pair off the points 1/n, 2/n, ... (n-1)/n in such a way that none of the connection cross the chords connecting other points. In addition, it is also required that the chord from a to b must stay in the semicircle cut by the diameter from a/2 to (a+1)/2. the point with angle 0 is never included in the connections.
For each pair of connected points, collapse the chord connecting them to a single point. Assuming the mandelbrot set is locally connected, this will be topologically equivalent to the mandelbrot set.
It turns out that the kth denominator can be defined recursively by
. In addition, the component cut off by chords with the kth denominator correspond to period k components of the M-set. You can determine whether a component is a disk or the cardioid of a minibrot by looking at the period of the component and the period of the component it was cut off from. If the smaller component divides the larger, it will be a disk. Otherwise it will be a minibrot.
My first attempt to generalize was based on the fact that the rational points with denominator n give a solution to the
Thomson problem on the circle. If the solutions on a sphere were known, they could be the points used. Instead of connecting points in pairs, they would be connected in triples, since it takes 3 points to specify a unique disk. Due to lack of symmetry, it would be unlikely that this approach would result in a unique fractal.
Another option I tried was to start with four points arranged tetrahedrally, with one point on the x-axis and a disk connecting the other 3. I labeled those points as 1/4, 2/4, 3/4, then changed to denominator 13 (3*4 +1). This resulted in four more disks, so I just put them at the center of each face of the tetrahedron. I tried continuing the process, spreading new disks as uniformly as possible, but hit a problem when I reached denominator 364 and needed a way to add 115 new disks.
Eventually, I realized that the topology is encoded in the denominators. For each
, label the fractions {
} on the interval (0,1). Connect them in triples in such a way that none of the lines cross each other. If a triple is connected in between points that were connected in previous steps, then the new disk will be contained in the old one.
In this image, the black disk represents the surface of a punctured sphere (the removed point corresponds to (1,0,0)). In the 3D fractal, this would be the main cardioid. The smaller disks are colored according to the "period" of the component it represents, where "period k" just means that the disk corresponds to the kth denominator:
I'm trying to write a program to automate the process and build a proper 3D model of the result, but so far progress has been slow.