I think I solved it!
Animated slow mating of p=-1+0i with q=-0.122+0.75i via inverting the pullback, which gives a series of functions like (az^2+b)/(cz^2+d); starting from the pixel coordinates in equirectangular projection I compute the initial z and apply all the collected functions in reverse order, colouring white if the final output |z| > R for some large R.
Next step will be trying to draw the Julia sets in the halves of the sphere.
I might have the colours switched on that one, not sure. Using more colours would help diagnose the different periods.
I did one experiment with arg(z) and that eventually showed dynamics of components as they got pinched, but was very noisy near the equator, and wasn't consistent between adjacent frames (massive strobing).
I had two bugs that cancelled each other out. The test for hemispheres should be |z| > 1.
To draw the filled-in Julia sets, calculate w = R z or w = R / z depending on hemisphere, and iterate w = w^2 + c (choice of c is hemisphere dependent) until escape or maximum iterations reached. Count the previous (z^2+a)/(z^2+b) stuff in the iteration count too.
Colour unescaped pixel by hue = arg(z - a) where a = (1-sqrt(1-4c))/2 is a fixed point (center of multiple arms).
To draw filaments in the Julia sets themselves (not just the interior) I think I need to compute derivatives w.r.t. screen-space. I have some dual-complex-number library code ready to go.
Welcome to post.lurk.org, an instance for discussions around cultural freedom, experimental, new media art, net and computational culture, and things like that.