POV-Ray : Newsgroups : povray.binaries.images : Cubic Mandelbrot isosurface (complete!) [~180KB] Server Time
14 Nov 2024 06:14:09 EST (-0500)
  Cubic Mandelbrot isosurface (complete!) [~180KB] (Message 1 to 9 of 9)  
From: Andrew C on Mozilla
Subject: Cubic Mandelbrot isosurface (complete!) [~180KB]
Date: 31 Jul 2004 04:38:40
Message: <410b5a90@news.povray.org>
Well, here it is!

I terminated my previous attempt to render this after waiting some 5 
*days* or so...

Special thanks to my new best friend, Tor Olav Kristensen, who showed me 
a significantly faster way to calculate the image. Thanks to him, I was 
able to re-render the same image, with *two* light sources instead of 
one, and a significantly higher max_gradient...

...in only 15 hours!

Personally, I think it looks *cool*! (I think it could _still_ do with a 
slightly might max_gradient - or possibly the accuracy needs changing. I 
only recently discovered the accuracy parameter - it can make quite a 
difference!)

In my lunch break at work, I have done several other plots - many of 
which are truely stunning. But I don't have them with me here to post.

My current work is on dividing space into lots of cubes, and figuring 
out which of those cubes actually contain some surface. It seems if I 
tell POV-Ray to render only those cubes, I get *massive* render speedups...

...OTOH, computing this grid takes a significant amount of time. And 
lots of the higher-iteration forms have very long, thin "shoots" on 
them, which tend to get "missed", resulting in them being incorrectly 
cut off in the render...

(I'm actually not sure why the grid computation goes so increadibly 
slowly... maybe I'll implement it in some other programming language... 
but hey!)

I hope to post much, much more... but it'll take time! ;-)

Andrew @ home.


Post a reply to this message


Attachments:
Download 'cubic-mp-b-az-iter6-final.jpg' (143 KB) Download 'us-ascii' (37 KB)

Preview of image 'cubic-mp-b-az-iter6-final.jpg'
cubic-mp-b-az-iter6-final.jpg

From: Slime
Subject: Re: Cubic Mandelbrot isosurface (complete!) [~180KB]
Date: 31 Jul 2004 04:45:30
Message: <410b5c2a@news.povray.org>
> My current work is on dividing space into lots of cubes, and figuring
> out which of those cubes actually contain some surface. It seems if I
> tell POV-Ray to render only those cubes, I get *massive* render
speedups...

Have you considered just using something like marching cubes? Who knows, you
might even be able to make an animation =)

I'm slowly becoming a believer that as long as things look good, speed >
accuracy.

 - Slime
 [ http://www.slimeland.com/ ]


Post a reply to this message

From: Christoph Hormann
Subject: Re: Cubic Mandelbrot isosurface (complete!) [~180KB]
Date: 31 Jul 2004 05:05:02
Message: <cefn6q$3ga$1@chho.imagico.de>
Andrew C on Mozilla wrote:
> 
> My current work is on dividing space into lots of cubes, and figuring 
> out which of those cubes actually contain some surface. It seems if I 
> tell POV-Ray to render only those cubes, I get *massive* render speedups...

Well - you have just reinvented bounding trees...

http://www.tu-bs.de/%7Ey0013390/fast_iso/patch.html

Christoph

-- 
POV-Ray tutorials, include files, Sim-POV,
HCR-Edit and more: http://www.tu-bs.de/~y0013390/
Last updated 06 Jul. 2004 _____./\/^>_*_<^\/\.______


Post a reply to this message

From: oskar bertrand
Subject: Re: Cubic Mandelbrot isosurface (complete!) [~180KB]
Date: 31 Jul 2004 13:21:03
Message: <410bd4ff$1@news.povray.org>
Andrew C on Mozilla wrote:
> Well, here it is!

I like the coloring very much.

Oskar


Post a reply to this message

From: Andrew C on Mozilla
Subject: Re: Cubic Mandelbrot isosurface (complete!) [~180KB]
Date: 1 Aug 2004 10:48:02
Message: <410d02a2$1@news.povray.org>
>> My current work is on dividing space into lots of cubes, and figuring 
>> out which of those cubes actually contain some surface. It seems if I 
>> tell POV-Ray to render only those cubes, I get *massive* render 
>> speedups...
> 
> 
> Well - you have just reinvented bounding trees...
> 
> http://www.tu-bs.de/%7Ey0013390/fast_iso/patch.html

...and where did you think I got the idea from? ;-)

Question: if it works so well, how come POV-Ray doesn't do this by 
default anyway?

Andrew @ home.


Post a reply to this message

From: Andrew C on Mozilla
Subject: Re: Cubic Mandelbrot isosurface (complete!) [~180KB]
Date: 1 Aug 2004 10:49:05
Message: <410d02e1$1@news.povray.org>
oskar bertrand wrote:

> Andrew C on Mozilla wrote:
> 
>> Well, here it is!
> 
> 
> I like the coloring very much.

Yeah, good isn't it? 2 light sources - one yellow, one cyan. (But the 
object itself is magenta - with a slight specular hilight.)

It makes it a little easier to figure out what shape you're actually 
looking at anyway...

Andrew @ home.


Post a reply to this message

From: miriam english
Subject: Re: Cubic Mandelbrot isosurface (complete!) [~180KB]
Date: 7 Sep 2004 04:30:00
Message: <web.413d70f1b6a1a17838f1caf60@news.povray.org>
This is lovely!
I went to a talk by Dr Alan Norton (I think that was his name) almost 20
years ago where he showed pictures similar to this he'd rendered at IBM
Bell Labs in USA. Ever since then I've wanted to attempt something like
that but unfortunately my mathematical ability is pathetic. He used 3d
"cross-sections" thru a 4d mandelbrot object calculated using quaternions.

By the way, did you intend to send the source with this? If so only the
render text output came. Do you intend to post the source? I would *love*
to look at it.

Best wishes,

- Miriam


Post a reply to this message

From: Andrew C on Mozilla
Subject: Re: Cubic Mandelbrot isosurface (complete!) [~180KB]
Date: 12 Sep 2004 10:44:42
Message: <414460da$1@news.povray.org>
> This is lovely!

Thanks.

> I went to a talk by Dr Alan Norton (I think that was his name) almost 20
> years ago where he showed pictures similar to this he'd rendered at IBM
> Bell Labs in USA. Ever since then I've wanted to attempt something like
> that but unfortunately my mathematical ability is pathetic. He used 3d
> "cross-sections" thru a 4d mandelbrot object calculated using quaternions.

Yes, POV-Ray has the ability to slice 3D cross sections of various 4D 
Julia sets - but not Mandelbrot sets.

Quaternions (and hypercomplex numbers) are ways of taking any fractal 
defined in ordinary complex numbers, and doubling the number of 
dimensions. The usual quadratic Mandelbrot set is 2D, so if you compute 
it using quaternions or hypercomplexes, you get a 4D figure. 
Unfortunately, IIRC it's just a surface of (double?) rotation...

My image is basic on the *cubic* Mandelbrot set. Without launching into 
a huge maths lecture... your generic quadratic equation is something 
like Ax^2 + Bx + C, where A, B and C are constants. However, more any 
values of A, B and C, you can an image that is a rotated and/or scaled 
version of something you could compute with z^2 + c. Thus, this 
simplified formula is general enough to demonstrate anything worth seeing.

Since there is 1 (complex number) parameter, that means the 
parameter-space (in which the Mandelbrot set lives) is 2D.

Similarly, your generic cubis is something like Ax^3 + Bx^2 + Cx + D. 
However, anything this can draw can also be drawn (maybe rotated and/or 
scaled) by z^3 - 2(A^2)z + B, so that's what they use. Notice that the 
dynamic space still consists of 1 variable - z - so the Julia sets are 
still 2D. However, since there are now *two* parameters, both 
complex-valued, the Mandelbrot set is 4D. And it's not just a surface of 
revolution; there are REAL DETAILS in all 4 axis.

> By the way, did you intend to send the source with this? If so only the
> render text output came. Do you intend to post the source? I would *love*
> to look at it.

To draw it - simple. (Thanks again to Tor for pointing out this more 
efficient method.) To make it go fast - well, that's much harder! Take a 
look at my original post - 15 hours!!!

(I wonder how long it took the poor bloke from IBM! Admittedly he was 
probably using a custom-writted tool highly optimised just for this 
particular task. But even so, it can't have been fast...)

I will post the exact source if enough people are interested. It's not 
complex.

Andrew @ home.


Post a reply to this message

From: Andrew C on Mozilla
Subject: Re: Cubic Mandelbrot isosurface (complete!) [~180KB]
Date: 12 Sep 2004 10:50:42
Message: <41446242$1@news.povray.org>
> Yes, POV-Ray has the ability to slice 3D cross sections of various 4D 
> Julia sets - but not Mandelbrot sets.
> 
> Quaternions (and hypercomplex numbers) are ways of taking any fractal 
> defined in ordinary complex numbers, and doubling the number of 
> dimensions. The usual quadratic Mandelbrot set is 2D, so if you compute 
> it using quaternions or hypercomplexes, you get a 4D figure. 
> Unfortunately, IIRC it's just a surface of (double?) rotation...
> 
> My image is basic on the *cubic* Mandelbrot set. Without launching into 
> a huge maths lecture... your generic quadratic equation is something 
> like Ax^2 + Bx + C, where A, B and C are constants. However, more any 
> values of A, B and C, you can an image that is a rotated and/or scaled 
> version of something you could compute with z^2 + c. Thus, this 
> simplified formula is general enough to demonstrate anything worth seeing.
> 
> Since there is 1 (complex number) parameter, that means the 
> parameter-space (in which the Mandelbrot set lives) is 2D.
> 
> Similarly, your generic cubis is something like Ax^3 + Bx^2 + Cx + D. 
> However, anything this can draw can also be drawn (maybe rotated and/or 
> scaled) by z^3 - 2(A^2)z + B, so that's what they use. Notice that the 
> dynamic space still consists of 1 variable - z - so the Julia sets are 
> still 2D. However, since there are now *two* parameters, both 
> complex-valued, the Mandelbrot set is 4D. And it's not just a surface of 
> revolution; there are REAL DETAILS in all 4 axis.

OK, *how many* typing mistakes are there in there?! Oh dear...

Most significantly, it's z^3 - 3(A^2)z + B. (i.e., the linear 
coefficient is multiplied by *3*, not *2*!)

Also forgot to mention... to compute the quadratic Mandelbrot set, 
iterate the critical point 0 and see what it does. However, to compute 
the cubic Mandelbrot set, you must example *two* orbits - these are +A 
and -A. (Don't use 0; it renders wrong.) Some authors define a set 
called M+ = {all (A, B) where the orbit of +A is bounded} and another 
set called M- = {all (A, B) where the orbit of -A is bounded}. The usual 
Mandelbrot set M is then the intersection of these two sets.

The set I pictured is just M+; I have some neat pictures showing M+ and 
M- on the same plot...

Andrew @ home.


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.