That's awesome. Any info about the method for obtaining the formulas? There are some docs about mating julia sets but I couldn't find anything about (ahem!) mating 3 or more julias (
)
Thanks.
I started with the form
. For most choices of
g that will have fixed points at the cube roots of unity, since the left hand term fixes the cube roots and the right hand term is zero there.
The expression for the derivative of the above is complicated, but when
z is a cube root of unity it simplifies significantly (because all instances of the right hand term's numerator go to zero) and is just
.
That suggested making g the sum of three polynomials, each with zeros at two of the three cube roots of 1. I defined
, which is zero at the two primitive cube roots of unity and 3 at 1, and
. Note how the three terms differ by being
rotated by 0, 1/3, or 2/3 of a circle about the origin (via multiplication by
w where
w is a primitive cube root of 1) and
scaled by a different parameter
a,
b, or
c. Consider the effect of the three terms on g(1). The second and third terms are both zero there, because they contain a factor of
and
, respectively, and
h is zero at both points. The first term is 3/
a there, and so
. So by controlling
a one controls the derivative at the fixed point 1, and so the stability of that fixed point, and indeed can essentially directly input that fixed point's dynamics and "dial-a-Julia".
The rotations of the other two terms of
g produce similar results for
w and
w2, and
b and
c can be used to dial Julias at those two sites, separately and independently from one another and from the one at 1.
The attachment shows a prototype implemented in UF's formula language being configured. You can essentially directly read off the stability parameters (magnitude and internal angle) from the display, and see how they correspond to components of the fractal. For example, seed
a expressed in polar form (relative to the point 2) as magnitude 1, angle 0.61803398 (where the angle is scaled to go from 0 to 1, not 0 to 2pi or 0 to 360) corresponds to a Golden Mean Siegel disk Julia, and indeed that's what has its Siegel disk centered on the point 1, with the disk's preimages clustered all around it. (You might recognize the fractal as "Siegels and Seahorses Forever".)
I've made further refinements to the formula. Polar can be toggled on and off (rectangular is much nicer for importing points picked from Mandelbrot views, while polar is preferable for direct-dialing a particular Julia) and there are some additional options. For example one can add a term
to
g without perturbing the derivatives at the cube roots of 1, while adding another parameter
t that varies the fractal, and one can change
to
without perturbing the derivatives while altering the dynamics in various ways. Playing around with these I've gotten as many as
five attracting basins (or "near-misses").