bugman
|
 |
« on: January 02, 2010, 11:10:51 PM » |
|
"The Mandelbrot Set Meets Indra's Pearls" As you may know, an alternate way to visualize the Mandelbrot set is by its orbits, which are shaped like a bunch of circles and cardioids. The Mandelbrot set is defined by iterating f(z) = z² + c. For example: 1st level: F(z) = f(z) = (z² + c)² + c 2nd level: F(z) = f(f(z)) = (z² + c)² + c 3rd level: F(z) = f(f(f(z))) = ((z² + c)² + c)² + c Without going into detail, an orbit is defined as the set of c such that there exists an attractive fixed point z0 where F(z0) = z0 and |F'(z0)| < 1. I thought it might look nice to render these orbits as 3D "pearls" instead of 2D circles and cardioids. The first image uses a sphere with a dimple ("tomato"-shape) for the 3D cardioids (actually a lathed 2D cardoid), and the second image uses "heart"-shaped 3D cardioids. In order to further enhance the image, I also added some Mandelbrot polynomial roots to the image as discussed in my previous post here: http://www.fractalforums.com/theory/the-mandelbrot-polynomial-roots-challenge/Then I added some thin rings around the pearls (like silver settings) and a hint of the escape time field to fill in some gaps. Here is the result. I think it looks like jewelry:
|
|
« Last Edit: January 08, 2010, 04:06:18 PM by bugman »
|
Logged
|
|
|
|
bugman
|
 |
« Reply #1 on: January 02, 2010, 11:11:18 PM » |
|
Now I know what you're thinking... if only there were some way to spread these pearls around in 3D? I suppose a simple rotation around the x-axis looks pretty, but it's certainly no way to create the "true 3D Mandelbrot" that we've been searching for. Perhaps a better approach would be to try to find some fancy algorithm for rotating and branching the pearls in 3D around their parent pearls. But even this is too simple an approach for the true 3D Mandelbrot, because the sizes of the branching pearls might vary as well.
|
|
« Last Edit: January 11, 2010, 07:19:43 AM by bugman »
|
Logged
|
|
|
|
David Makin
|
 |
« Reply #2 on: January 02, 2010, 11:27:17 PM » |
|
Hi Paul, here's an idea also based loosely on Indra's Pearls - a non-affine IFS of translated quaternionic Julias for z^2+0 i.e. translate z to z-Pn, calculate z^2, translate to z+Pn for each transform n. I suggested it a while ago in the original thread and was going to try it since one could quite easily use a distance estimation method for rendering the basic idea but I obviously got sidetracked by the Mandelbulb - like everybody else  Here's my original post with a render of a 2D complex version: http://www.fractalforums.com/3d-fractal-generation/true-3d-mandlebrot-type-fractal/msg7090/#msg7090
|
|
|
Logged
|
|
|
|
David Makin
|
 |
« Reply #3 on: January 02, 2010, 11:54:40 PM » |
|
Hi Paul, here's an idea also based loosely on Indra's Pearls - a non-affine IFS of translated quaternionic Julias for z^2+0 i.e. translate z to z-Pn, calculate z^2, translate to z+Pn for each transform n. I suggested it a while ago in the original thread and was going to try it since one could quite easily use a distance estimation method for rendering the basic idea but I obviously got sidetracked by the Mandelbulb - like everybody else  Here's my original post with a render of a 2D complex version: http://www.fractalforums.com/3d-fractal-generation/true-3d-mandlebrot-type-fractal/msg7090/#msg7090Just out of interest does anyone know if there's an iterated formula similar to z^2+0 that will produce a cardioid rather than a sphere ?
|
|
« Last Edit: January 02, 2010, 11:56:14 PM by David Makin »
|
Logged
|
|
|
|
msltoe
Iterator

Posts: 187
|
 |
« Reply #4 on: January 03, 2010, 12:23:38 AM » |
|
Paul,
It looks you are inching ever closer to the holy grail even it's by logical construction. The z^n+c multibrots, with y and z coordinates, where n = 3,4,5, seem like the optimal reference for how the spheres should get smaller and smaller and even move inwards as one rotates along the x-axis starting from the top.
The problem I've had is matching the z^2+c mandelbrot's circles (pearls) exactly with the bulbs of the n=3-5. For example in ChaosPro notation:
a = real(pixel)^(1/1.5); b = imag(pixel)^1.5*sqrt(2); z = z^3 + a + flip(b);
This will vertically line up the bulbs of the z^3 multibrot with the z^2.
-mike
|
|
« Last Edit: January 03, 2010, 03:07:44 AM by msltoe, Reason: The second paragraph was replaced. »
|
Logged
|
|
|
|
bugman
|
 |
« Reply #5 on: January 04, 2010, 06:53:16 AM » |
|
Hi Paul, here's an idea also based loosely on Indra's Pearls - a non-affine IFS of translated quaternionic Julias for z^2+0 i.e. translate z to z-Pn, calculate z^2, translate to z+Pn for each transform n. I suggested it a while ago in the original thread and was going to try it since one could quite easily use a distance estimation method for rendering the basic idea but I obviously got sidetracked by the Mandelbulb - like everybody else  Here's my original post with a render of a 2D complex version: http://www.fractalforums.com/3d-fractal-generation/true-3d-mandlebrot-type-fractal/msg7090/#msg7090Yes, I remember that one, David. But I don't understand it. Can you render a ray-traced version of it?
|
|
|
Logged
|
|
|
|
David Makin
|
 |
« Reply #6 on: January 04, 2010, 01:15:08 PM » |
|
Hi Paul, here's an idea also based loosely on Indra's Pearls - a non-affine IFS of translated quaternionic Julias for z^2+0 i.e. translate z to z-Pn, calculate z^2, translate to z+Pn for each transform n. I suggested it a while ago in the original thread and was going to try it since one could quite easily use a distance estimation method for rendering the basic idea but I obviously got sidetracked by the Mandelbulb - like everybody else  Here's my original post with a render of a 2D complex version: http://www.fractalforums.com/3d-fractal-generation/true-3d-mandlebrot-type-fractal/msg7090/#msg7090Yes, I remember that one, David. But I don't understand it. Can you render a ray-traced version of it? I can (I think) when I get some time - I really want to get my class-based 3D renderer for UF sorted first  As to understanding it, it's really just simple IFS but using non-linear transforms. The 2D example above was something like this: IFS transform 1: Process: p = p - 1 then p = p^2 then p = p + 1 i.e. p = (p-1)^2 + 1 IFS transform 2: Process: p = p + 1 then p = p^2 then p = p - 1 i.e. p = (p+1)^2 - 1 IFS transform 3: Process: p = p - i then p = p^2 then p = p + i i.e. p = (p-i)^2 + i IFS transform 4: Process: p = p + i tthen p = p^2 then p = p - i i.e. p = (p+i)^2 - i The IFS was rendered using the escape-time method basically using the above transforms (but I think I included some scaling and the offsets may not have been units). You could probably adapt your MIIM code to do the same using the reverse method ? Edit: Obviously for the 3D cut-down quaternionic version you'd probably use 6 transforms (and 8 for the full 4D version).
|
|
« Last Edit: January 04, 2010, 02:11:23 PM by David Makin »
|
Logged
|
|
|
|
mrrgu
Guest
|
 |
« Reply #7 on: January 04, 2010, 02:25:14 PM » |
|
That is beautiful!
|
|
|
Logged
|
|
|
|
David Makin
|
 |
« Reply #8 on: January 04, 2010, 02:37:54 PM » |
|
Just out of interest does anyone know if there's an iterated formula similar to z^2+0 that will produce a cardioid rather than a sphere ?
Actually I think I can work that out - it just needs the same method applying to z^2 i.e. find a transform that transforms the main cardioid to the unit circle/sphere and apply that first, then apply z^2 and then apply a transform that transforms the unit circle/sphere to the main cardioid.
|
|
|
Logged
|
|
|
|
bib
|
 |
« Reply #9 on: January 04, 2010, 03:03:19 PM » |
|
Congratulations bugman! Building a fake 3D Mandelbrot this way is something I have suggested in several posts. I'm glad you found a way to "emulate" that. To be honest, when I saw the last image, I thought that you had found the Grail. Anyway, these images are beautiful and I'm sure it could be a starting point to get closer to the real thing. Up to the mad coders! 
|
|
|
Logged
|
Between order and disorder reigns a delicious moment. (Paul Valéry)
|
|
|
twinbee
|
 |
« Reply #10 on: January 04, 2010, 03:18:17 PM » |
|
To be honest, when I saw the last image, I thought that you had found the Grail. Haha, so did I almost for a split second! Great renders anyway; nice and shiny  We should make a collection of all the more 'artistic' attempts to create a 3D Mandelbrot. I know of only around three or four so far.
|
|
|
Logged
|
|
|
|
BradC
|
 |
« Reply #11 on: January 06, 2010, 03:36:10 PM » |
|
Cool!  How did you find the centers and radii of the circles/spheres?
|
|
|
Logged
|
|
|
|
bugman
|
 |
« Reply #12 on: January 06, 2010, 07:13:10 PM » |
|
|
|
|
Logged
|
|
|
|
bugman
|
 |
« Reply #13 on: January 06, 2010, 07:22:28 PM » |
|
Here is the main 3D cardioid for the quadratic Mandelbulb set (based on the Daniel White's original negative z-component formula). The mathematical derivation is shown below.
The image also shows 3 roots for finding the second cycle 3D orbits, although I wasn't able to solve for the shape of those orbits. I also tried to solve the first cycle 3D orbits for higher power Mandelbulb sets, but no luck.
Notice the strange distortions at the poles. I think this might shed some light on what is the problem with the Mandelbulb formula. Suppose instead that we choose the shape of the main 3D cardioid we wish to have and then work backwards to find what squaring function creates it? Unfortunately, I do not think we can simply use a sphere with a dimple for our main 3D cardioid ("tomato" shape) because that will merely take us back to the lathed Mandelbrot (typical of the quaternion squarring function, see below).
|
|
« Last Edit: January 07, 2010, 06:56:16 AM by bugman »
|
Logged
|
|
|
|
|
|