Heya folks, I've been AFK for a while and have returned to do some investigating into alternate coordinate systems (specifically ones whose 3D extensions seem to have interesting properties). To this end, I stopped off at bipolar coordinates (I tried biangular and it was rather spaghetti-like, bi-radial was just cream, and a combination of the two wans't much to look at either). Details at then end, but I found that doing
p -> fromBiPole(toBiPole(p)*factor) + c
Gives amazing ... Julia sets! That's right, the Mandelbrot set of this looks as plain as could be (especially if you don't use inside colouring), but switch into Julia mode and explore within a radius of ~2 of the origin and you will not be disappointed. In fact, there are even nestings of partial Mandelbrots! The J-Sets sets are far more "fractal" than the M-set in every way (feel free to think of this factor as the power of the ... hmm, this thing needs a name - the T-set?).
Ok, so now for some "pics or it didn't happen" (these guys were generated using a=2 and factor=2, see below):
http://imgur.com/a/RLRyE#0It would seem to me that this is a truly versatile fractal, somewhat unlike the others I have seen around here. It can look like ducks/kali set and M-Set at the same time, or just the one, or the other. Multifractal?
Anyway, now for some details.
I transform to bipolar coordinates the usual (and clever way):
d1^2 = (p.x+a)^2+p.y^2
d2^2 = (p.x-a)^2+p.y^2
tau = log(d1/d2)
sigma = arccos((d1^2+d2^2-4a^2)/(2*d1*d2))
Then simply multiply tau and sigma by some constant factor (the same one for both)
tau*=factor, sigma*=factor
Transform back
x=a*sinh(tau)/(cosh(tau)-cos(sigma)
y=a*sin(sigma)/(cosh(tau)-cos(sigma)
Unfortunately, it's here that we run into a wee bit of trouble. If you actually solve the system, you will find that there are two equally valid solutions for the value of y (+-) and so we are forced to pick one. To solve this issue, I simply chose the above solution and silently send all y values to abs(y) (that is, p->(p.x,abs(p.y)) and c->(c.x,abs(c.y)) wherever they appear). Given that the solutions are actually perfectly symmetrical anyway, we lose no information doing things this way. So there you have it, coordinate transform, scalar factor, transform back, add point.
A sample implementation is given in
here (again, using Fragmentarium). More exciting than all of this though, is the prospect of extending this to 3D
Given the fact that we can simply rotate bipolar to arrive at bispherical, a similar result should be possible - who knows what interesting properties it may have (embedded 3D mandel-like structures in the J-set?
)
Anyway, enjoy it
PS: I'll get round to replying to the Mandelex stuff tomorrow, I just got carried away here