David Makin


« Reply #330 on: October 15, 2009, 10:00:13 PM » 

Twinbee, that is a cool animation. Here is my favourite cosine triplex variant; like a quaternion but more Gothic. This one went overnight to get reasonably clean. Inverse iteration struggles with some settings, even with MIIM. Forward iteration should produce quicker and nicer images in many cases, if not all.
Garth: I've been trying and failing to reproduce your inverse renders but it appears that the divergent formula I'm using is not the exact inverse of your inverted version  here's my iteration loop where zri is x/y (complex) and zj is z (float): r = (magn=sqrt(magn))^@mpwr th = @mpwr*atan2(zri) ph = @mpwr*acos(zj/magn) zri = r*(cos(th)*sin(ph) + flip(sin(ph)*sin(th))) + cri zj = r*cos(ph) + cj magn = zri + sqr(zj) Is that what you intended as the "forwards" iteration ? As I said I can't seem to reproduce your inverse renders but I do get some interesting Julias  will post some 640*480 renders shortly



Logged




xenodreambuie


« Reply #331 on: October 16, 2009, 12:43:17 AM » 

Dave, you're right. That is the correct forward formula. I had assumed that the inverse worked with independent roots for phi and theta, simply because the pictures looked nice and made sense, but that turns out to be wrong. What I've been getting is two redundant roots, and missing the other two. I hope the correct Julias are better! I can easily fix my formula for the quadratic case, and have to check the general solution. What is surprising is that I had tried an 8th degree Julia and it looked pretty similar to Lycium's render, so I took that as a sign that it was likely correct.



Logged




David Makin


« Reply #332 on: October 16, 2009, 01:14:39 AM » 

Dave, you're right. That is the correct forward formula. I had assumed that the inverse worked with independent roots for phi and theta, simply because the pictures looked nice and made sense, but that turns out to be wrong. What I've been getting is two redundant roots, and missing the other two. I hope the correct Julias are better! I can easily fix my formula for the quadratic case, and have to check the general solution. What is surprising is that I had tried an 8th degree Julia and it looked pretty similar to Lycium's render, so I took that as a sign that it was likely correct.
I don't suppose you can work out a "forward" method for your erroneous version ?  the Julias are rather nice



Logged




David Makin


« Reply #333 on: October 16, 2009, 02:14:09 AM » 

Zooms of two Julias from the new contender for a true 3D Mandelbrot that I posted here: http://www.fractalforums.com/3dfractalgeneration/true3dmandlebrottypefractal/msg8231/#msg8231They were rendered as here at 640*480 and 640*640 and took 14 mins and 12 mins respectively. In both cases you can see a problem with my algorithm  the speckles are due to some points never reaching the iteration density required to be called "solid"  both these Julias almost disappear at 150 iterations or so. Apologies  it wasn't algorithm error, it was user error, I simply hadn't set the minimum step distance low enough Am just rerendering corrected images.



Logged




xenodreambuie


« Reply #334 on: October 16, 2009, 02:30:58 AM » 

Dave, for a forward method of my erroneous Julias, I think it just needs to map values with the missing roots over to the other roots. Try this: after computing phi and theta; if phi>pi/2, add pi/2 to both phi and theta (before multiplying by @mpwr.)
Edit: I doubt that will work. My analysis of the inverse iteration problem was too hasty.


« Last Edit: October 16, 2009, 02:56:48 AM by xenodreambuie »

Logged




David Makin


« Reply #335 on: October 16, 2009, 03:33:08 AM » 

Garth: OK ! Here are the new candidate Julias rendered properly:



Logged





xenodreambuie


« Reply #337 on: October 17, 2009, 01:38:34 PM » 

Excellent, Dave! I had managed to replicate that form with an inverse formula, but wasn't sure if it was right. I have it working for quadratic and expect to make it work for other powers. I've also solved the inverse trig version of the z=rsin(phi) one. It's much cleaner for some settings because it has no singularities or instabilities.
For the forward version of my alternative triplex, try this: ph = acos(zj/magn) if ph>pi/2 then ph = piph // or whatever the UF equivalent is ph = @mpwr*ph
Compared with the proper cos triplex, my alternative has two of the correct roots and two wrong, and misses two correct ones. So for the ones that are missing, you need to change phi to the wrong roots instead.



Logged




David Makin


« Reply #338 on: October 17, 2009, 05:01:49 PM » 

Excellent, Dave! I had managed to replicate that form with an inverse formula, but wasn't sure if it was right. I have it working for quadratic and expect to make it work for other powers. I've also solved the inverse trig version of the z=rsin(phi) one. It's much cleaner for some settings because it has no singularities or instabilities.
For the forward version of my alternative triplex, try this: ph = acos(zj/magn) if ph>pi/2 then ph = piph // or whatever the UF equivalent is ph = @mpwr*ph
Compared with the proper cos triplex, my alternative has two of the correct roots and two wrong, and misses two correct ones. So for the ones that are missing, you need to change phi to the wrong roots instead.
Thanks and thanks for the details for that "forward" version  will try it later In the meantime here's a Julia animation using the "correct" forwards cos triplex:



Logged




stigomaster
Guest


« Reply #339 on: October 17, 2009, 08:37:37 PM » 

Oh! I would like to see a seed morph of one of them julias!



Logged




David Makin


« Reply #340 on: October 17, 2009, 11:14:43 PM » 

Hi all, here's the "forwards" Mandelbrot for Garth's erroneous version of the cos triplex formula: http://www.fractalforums.com/gallery/?su=user;cat=95;u=141UF iteration: r = (magn=sqrt(magn))^@mpwr th = @mpwr*atan2(zri) if (ph = acos(zj/magn))>0.5*#pi ph = #pi  ph elseif ph<0.5*#pi ph = #pi  ph endif ph = @mpwr*ph zri = r*(cos(th)*sin(ph) + flip(sin(ph)*sin(th))) + cri zj = r*cos(ph) + cj magn = zri + sqr(zj)



Logged




David Makin


« Reply #341 on: October 18, 2009, 12:17:45 AM » 

Here's a standard escapetime render of the larger Julia Set that Garth uploaded (i.e. using the erroneous version of the cos triplex formula). http://www.fractalforums.com/gallery/?sa=view;id=998


« Last Edit: October 18, 2009, 04:02:05 AM by David Makin »

Logged




twinbee


« Reply #342 on: October 18, 2009, 02:45:11 AM » 

Great shape Garth  one can't get the resolution big enough for those methinks. Here's another couple of renders (bigger resolutions are on the way). The 2nd one is from the inside!!



Logged




bugman


« Reply #343 on: October 18, 2009, 03:06:13 AM » 

Great shape Garth  one can't get the resolution big enough for those methinks.
Here's another couple of renders (bigger resolutions are on the way). The 2nd one is from the inside!!
I love it! Are these also 8th order Mandelbrots of your formula (White's formula)?



Logged




xenodreambuie


« Reply #344 on: October 18, 2009, 03:23:14 AM » 

Dave, Fantastic! I wasn't sure if that would work. Slight differences from mine are because I changed the parameters a bit for the large render.
You shouldn't need the elseif check since acos results are from 0 to pi. Working with phi in 0 to 2pi creates a double cover, which is the cause of the asymmetry between forward and inverse iteration. In my naive cosine version (ignoring fractional power support for simplicity), I used
phi = (phi + (Np1)*2pi)*invpower theta = (theta + (Nt1)*2pi)*invpower
where Np and Nt are the choices of roots, from 0 to power1.
To get the true cosine version working, all it took was changing to
theta = (theta + (Nt1)*2pi + Np*pi)*invpower
For the trig sine version, it was a bit more complicated:
theta = (theta + (Nt1)*2pi + Np*pi)*invpower if phi<0 then phi= (phi  Np*pi)*invpower else phi= (phi + Np*pi)*invpower
But I also had to flip the sign of z only if it didn't already change; if z*newz>0 then newz= newz
Some time it will be convenient to adopt a simple naming convention.
Daniel; awesome pics!



Logged




