Levi
|
|
« on: April 06, 2013, 09:53:12 PM » |
|
Hi all, Here's my first shot at the holy grail! Basically my idea was to take advantage of the fact that, given the set of all points in the planes of every Julia set, you have a 4D space which, when sliced in a certain way, will produce an image of a Mandelbrot. I figured that, if you take a 3D slice instead of a 2D slice, you'll get a 3D analog of the Mandelbrot set...but alas, the shape created was basically just an extruded Mandelbrot, tilted at some angle. But it gave me a few other ideas which involve exploring the 4D Julia space in different ways. Probably the coolest shape I've found so far is this: Unfortunately I'm not very familiar with ray-casting/marching, so the simplest way I could think of to draw it was with an escape-time algorithm and some transparency. Don't know if this has been used with 3d fractals much, but it looks cool right? The dark transparent stuff is the set itself, and the colored transparent stuff is the places that took a long time to escape. The algorithm for generating this fractal is: Given a certain point (rx, ry, rz), calculate an initial position z and a Julia seed j like this: z.real = rx + abs(rz)*cos(zdir)*zvel z.imag = abs(ry) + abs(rz)*sin(zdir)*zvel j.real = rx + abs(rz)*cos(jdir)*jvel j.imag = abs(ry) + abs(rz)*sin(jdir)*jvel Then iterate using the rule z->z*z+j until the magnitude of z is greater than your escape radius. zdir, zvel, jdir, and jvel are variables which specify a 'trajectory' for z and j. The image above was created using: zdir = pi/2, zvel = -1 jdir = pi/2, jvel = 1 I have a 'video' program showing a revolving model of this fractal, unfortunately the only way I know to make videos is to save a bunch of pictures and show them in sequence. You have to download all the pictures for the video program to work, or you could just look at the pictures in order and pretend its a video that way you don't have to download anything. Here's the link : https://www.dropbox.com/sh/q5s2rof0vznhmo5/sZ21jpjEuMIt's not the Holy Grail itself, but I do think it's pretty cool And maybe using non-linear trajectories for z and j would create some really neat shapes!
|
|
« Last Edit: April 06, 2013, 11:02:57 PM by Levi »
|
Logged
|
Math isn't the solution, math is the question.
|
|
|
Levi
|
|
« Reply #1 on: April 07, 2013, 10:51:05 PM » |
|
Just for some perspective, here's a power-8 Mandelbulb rendered with the same parameters. And here are some pictures of the fractal using a line-trap method of rendering, so you can see the set itself instead of the compliment. The trap is the z-axis. As you can see there is banding parallel to the yz-plane, which makes sense since given the trajectory of the points for this fractal.
|
|
« Last Edit: April 07, 2013, 10:53:21 PM by Levi »
|
Logged
|
Math isn't the solution, math is the question.
|
|
|
Alef
|
|
« Reply #2 on: April 17, 2013, 02:30:26 PM » |
|
IMHO you just invented bicycle. There are quite a few raytracers rendering 3D fractals as plain solids. Or maybe a raytracing feature, so far 2D grey areas weren't displayed as fog. As for a Holy Grail, there are lots of candidates. Unless you'll prove, say in arxiv, that it's a genuine 3D version of Mandelbrot, it woun't be counted as such. Here it's judged by its visual appeal. And I think problem with 3D versions of mandelbrot is not blablabla latin, but that they just aren't very beautifull. I have a version, which when zoomed looks as what I could expect from mandelbrot expanded in 3 dimensions, so it could be a candidate, but since it just don't looks beautifull, its fallen in obscurity. http://www.fractalforums.com/new-theories-and-research/how-to-recognize-the-holy-grail-fractal/msg58417/#msg58417Some pattern creating formula or very printable fractal shape probably would be more revarding thing to seek.
|
|
« Last Edit: April 17, 2013, 02:35:44 PM by Alef »
|
Logged
|
fractal catalisator
|
|
|
Levi
|
|
« Reply #3 on: April 17, 2013, 06:27:28 PM » |
|
Thanks for the response Alef! IMHO you just invented bicycle. I'm not sure if that's a good thing or a bad thing? Haha. I like the images produced but I realize its probably been done before. Imo it shows a lot more about the quality of the fractal if you illustrate the escaping points as well, not just the trapped ones. I mean, in 2D a picture of just the plain Mandelbrot set would seem fairly boring (probably even ugly), and yet somehow the colored escape-time images are both beautiful and full of valuable information. As for a Holy Grail, there are lots of candidates. Unless you'll prove, say in arxiv, that it's a genuine 3D version of Mandelbrot, it woun't be counted as such. Yeah mine definitely isn't anything profound. I just thought it looked kinda cool and I put a lot of time into it. But I think/hope that a similar technique (exploring the 4D 'Julia space' in some other way) might make for some very interesting fractals. I'll keep looking into it, for now I'm just rewriting my 3D escape-time engine. Here are some improved images (same fractal, but better illustrated imo). Next step: add perspective and get some zoom images!
|
|
« Last Edit: April 17, 2013, 06:54:06 PM by Levi »
|
Logged
|
Math isn't the solution, math is the question.
|
|
|
Alef
|
|
« Reply #4 on: April 18, 2013, 06:14:42 PM » |
|
Imo it shows a lot more about the quality of the fractal if you illustrate the escaping points as well, not just the trapped ones. I mean, in 2D a picture of just the plain Mandelbrot set would seem fairly boring (probably even ugly), and yet somehow the colored escape-time images are both beautiful and full of valuable information.
Idea of your rendering technique is pretty interesting. The closest is that in M3D you can render dynamic fog on say 5th iteration. Or strange atractors in Chaos Pro with plasma or flame settings with some transparency. There are certain tricks for a smooth images, rendering image twice the size and then resizing in any graphical soft can do a wonders, thats why fractalforums pictures of fractal hybrids is so smooth when in 1:1 they look like sand. unfortunately the only way I know to make videos is to save a bunch of pictures and show them in sequence. Most of videos in video section is made as a sequence of pictures, who then are united in a video by dedicated soft. Well, maybe try some other formulas. Mandelbox in outside should not produce anything other than it would produce with small iteration number. But there are formula "Folding Int Power" or Mandelex and Swirlbox in neigbouring threads. And maybe they would bring up something intereting in slowly escaping areas.
|
|
|
Logged
|
fractal catalisator
|
|
|
David Makin
|
|
« Reply #5 on: April 22, 2013, 03:41:42 PM » |
|
Thought I'd add this to the thread, I just tried an idea expecting it to produce something looking like the normal bicomplex/hypercomplex "squarry" form, but it didn't so here's the squaring function in case it gives anyone else some new ideas: (unoptimised) input z and w as 2 complex numbers for 4D:
float m = sqrt(|z|+|w|) ; fractint/uf definition of |z| z = z*z w = w*w complex t = z*z - w*w w = 2.0*z*w float m1 = sqrt(|z|+|w|) if m1>0.0 m = m/m1 z = m*z w = m*w endif
It's more interesting when changing:
complex t = z*z - w*w w = 2.0*z*w
to:
complex t = sqr(real(z)+flip(real(w))) - sqr(imag(z)+flip(imag(w))) w = 2.0*(real(z)+flip(real(w)))*(imag(z)+flip(imag(w)))
Other such alterations may also be of interest....
|
|
|
Logged
|
|
|
|
Levi
|
|
« Reply #6 on: April 22, 2013, 06:32:39 PM » |
|
I'm not familiar with fractint, but I'm guessing |z| is defined as sqrt(z.real*z.real + z.imag*z.imag) ? How exactly is the flip(x) functioned defined?
|
|
|
Logged
|
Math isn't the solution, math is the question.
|
|
|
cKleinhuis
|
|
« Reply #7 on: April 22, 2013, 07:46:07 PM » |
|
flip flips the real/imaginary parts
and it is used in ultrafractal to create a full complex number
flip(real, imaginary)=(imaginary,real)
short: 1+flip(1) = is (1+1i) long (1,0i)+flip(1,0i)=(1,0i)+(0,1i)=(1+1i)
i never understood why ultrafractal does not allow the comma separated notation for complex numbers...
|
|
|
Logged
|
---
divide and conquer - iterate and rule - chaos is No random!
|
|
|
cKleinhuis
|
|
« Reply #8 on: April 22, 2013, 07:50:34 PM » |
|
and warning here, |z| is in ultrafractal ommiting the square root, it is just (z.real*z.real + z.imag*z.imag) because for bailout testing it is not neccessary to call the square root, just square the bailout as well
|
|
|
Logged
|
---
divide and conquer - iterate and rule - chaos is No random!
|
|
|
Levi
|
|
« Reply #9 on: April 22, 2013, 09:47:02 PM » |
|
Okay thank you for the explanation cKleinhuis! I'll try out your formula when I have some time David, I'm interested to see what this looks like. EDIT: Tried it out. Maybe I messed something up, but I just got a torus-like shape or a dumbell, depending on how I project to 3D: After simplification the code came out to this: m0 = |(w,z)| w = 2*z*z*w*w z = z*z m1 = |(w,z)| if (m1 > 0) { z = z*m0/m1 w = w*m0/m1 } Where |(w,z)| = sqrt(w.real*w.real + w.imag*w.imag + z.real*z.real + z.imag*z.imag) When using the alternate version (with the flips), I just get fog: Notably t does not appear anywhere in the equations. Let me know if I did something wrong, I'll try it again.
|
|
« Last Edit: April 23, 2013, 02:37:08 AM by Levi »
|
Logged
|
Math isn't the solution, math is the question.
|
|
|
|
Levi
|
|
« Reply #11 on: April 25, 2013, 06:37:12 PM » |
|
In my opinion one of the most important things for a 3D Mandelbrot is that the intrinsic nature and beauty of the fractal areas are preserved. For example, I would expect the branches to look like an intuitive 3D branch. I would expect places like the Seahorse-valleys to look like crazy seashells patterns. And the new details added by the 3rd dimension would have to be fractal in nature as well, otherwise you just have some 3D transformation of the 2D set.
The fractal in the link you posted, like many others I've seen, has a certain stretched-taffy look in the fractal areas. This is not truly fractal in three dimensions, as it is simply taking flat fractals and extruding them into three dimensional spirals (hence it is literally stretching them like taffy).
Also, I believe that the fractal areas should be dense. This rules out fractals like the Mandelbulb, because they are similar to the Cantor set in that they have points which are fractal, but no range of the surface (with a positive area) is fractal. I.e., if you take any range of the surface of Mandelbulb, it will contain non-fractal areas, because only infinitesimally small points on the surface are truly fractal. For any two fractal points, there is a stretch of non-fractal area in between. It may appear to have fractal areas because these fractal points cluster together, but zooming reveals non-fractal areas in between.
This does not necessarily mean that the entire surface has to be fractally dense. I would just hope that a significant percentage of the surface is.
As for a definition for differentiating shapes that are fractal in three dimensions versus those that aren't truly fractal in the third dimension: if, for every point on the surface of the set, you can find another point on the surface connected to it by a finite-distance path that moves entirely along the surface, it seems that it would not truly be fractal in all its dimensions.
And, of course, in the end the determining factor for the "Holy Grail" is simply whether or not it looks good.
What do you guys think?
|
|
« Last Edit: April 25, 2013, 06:42:03 PM by Levi »
|
Logged
|
Math isn't the solution, math is the question.
|
|
|
Dinkydau
|
|
« Reply #12 on: April 30, 2013, 06:05:10 AM » |
|
As Levi says the escape time information is very important and makes the mandelbrot set beautiful. In many images there's nothing of the actual set visible, just colors. So we have details that fill the entire plane. We can only see all those details at once because we can look at them from above. Expand that to 3d and you would get something that fills the entire space. Unless you have 4d eyes, you won't be able to see the true details. I'm afraid that even if a true 3d mandelbrot set is found, there's no way to appreciate the 3-dimensional details.
|
|
|
Logged
|
|
|
|
Levi
|
|
« Reply #13 on: May 07, 2013, 07:34:36 PM » |
|
|
|
« Last Edit: May 09, 2013, 06:48:35 PM by Levi »
|
Logged
|
Math isn't the solution, math is the question.
|
|
|
Alef
|
|
« Reply #14 on: May 13, 2013, 06:14:28 PM » |
|
Maybe you can speed it up by choosing 3-4 types of regions. High iter solid, low iter solid, outside.
|
|
|
Logged
|
fractal catalisator
|
|
|
|