## The All New FractalForums is now in Public Beta Testing! Visit FractalForums.org and check it out!

 Pages: [1]   Go Down
 Author Topic: The cover image from "The Science of Fractal images"  (Read 2170 times) Description: My attempt to duplicate the cover image from "The Science of Fractal images" 0 Members and 1 Guest are viewing this topic.
Duncan C
Fractal Fanatic

Posts: 348

 « on: August 29, 2008, 02:54:44 AM »

The creator of the cover image for the book "The Science of Fractal Images," Hartmut Jürgens, is apparently a Macintosh user, and has started using my application, FractalWorks. He tells me he found my app when searching the internet for images related to the book "The Beauty of Fractals."

We've been corrisponding, and he challenged me to try to duplicate the cover image from "The Science of Fractal Images." I took a stab at it, and think I got reasonably close. Here is my image:

And here is a link to an image of the cover of the book:

That image is quite small. The one on the cover of the book is much clearer.

I suspect I'm using a different algorithm to calculate my height values (I'm using distance estimates, and I think Herr Jürgens is using continuous potential values) so the landscape has a somewhat different topology, but this seems fairly close.

What does everybody think?

 Logged

Regards,

Duncan C
Duncan C
Fractal Fanatic

Posts: 348

 « Reply #1 on: September 05, 2008, 03:39:26 PM »

Potential values give a different shape to the 3D image than distance estimates. I really need to add continuous potential values as an option. Then I could probably recreate the look of this cover image much more accurately.

However, the data structures start to get quite large. I already offer distance estimates and fractional iteration values for every pixel. Both are arrays of floats, at 32 bits/pixel. Adding continuous potential would increase my memory use by another 32 bits/pixel. (16 bits/pixel for iteration value, 32 bits for DE values, 32 bits for fractional iteration value, plus 32 bits/pixel for potential value, not to mention display color values, 3D vertex and normal data, etc, etc.

I might fudge my fractional iteration values to be only the fractional part, since I store the integer iteration value separately. I could probably get away with a single byte, since fractional iteration values are really only used for smooth color transitions. I suspect 256 shades of color between iteration values would be plenty for smooth shading.

Duncan C
 Logged

Regards,

Duncan C
HPDZ
Iterator

Posts: 157

 « Reply #2 on: January 22, 2009, 07:20:26 PM »

Any progress on this endeavor?

It looks to me like perhaps the fractal values were clipped to a ceiling value. Near the set, everything gets flat. In other words, something like this:
Code:
if (count>limit) count=limit
I've tried to recreate it with smoothed count values usnig Mathematica for the 3-D rendering and got reasonably close but not exactly the same.

Regarding the details of memory usage and representing the image: You could decrease your memory usage by not saving all the different calculation results, but only the ones you are actually using in a particular image (i.e. if an image isn't using distance estimator data, don't save the DE values). I use a 32-bit number to hold counts + fractional value; I multiply the count by a factor F and add the fractional count value, which is scaled to range from 0 to F-1. Usually I use F=1000, but when I start to get squeezed by needing higher counts (in some unusual deep zooms) I have found that as few as F=10 will work pretty well. An 8-bit value should be fine, and 16 bits would be way more than enough.
 Logged

Zoom deeply.
www.hpdz.net
 Pages: [1]   Go Down