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

 Pages: [1]   Go Down
 Author Topic: Questions about behaviors, formulas and parameters  (Read 926 times) Description: Help on specific usage and image creation on Mandelbulber 0 Members and 1 Guest are viewing this topic.
polterbyte
Forums Newbie

Posts: 4

 « on: April 02, 2017, 01:13:30 PM »

Hi!

I am trying to understand the concepts behind Mandelbulber formulas, the effect of the myriad of parameters and, especially the interactions between formulas when we use the "hybrid" tab. Since I'm coming up with maybe two or three questions every day, and there doesn't seem to be manuals and tutorials that answer them, I decided to start this topic, where I (and, hopefully others) can ask specific questions on the behaviors, formulas and parameters in Mandelbulber.

My first question is about—for my lack of a better name for it—noise in fractals. Take the two images below. Both of them were made using the same formulas (#1: Menger-Mod1, and #2: AboxMod1) with the same hybrid settings: repeating from fractal #1 and Spherical folding. on the blue-pink image I just set the z.x multiplier to 3, leaving all other parameters in their default positions. In the yellow-blue image I also changed the foldM x parameter to 0.3. On both images there is noise, little fuzzy black-dotted regions, which are much more pronounced in the yellow-blue image.

photo sharing sites

So, Why do I get this black noise on both images? Why is it more pronounced on the second one? How do I get rid of it on my images?

Here are the .fract settings for both of them:

Blue-Pink:

# Mandelbulber settings file
# version 2.10
# only modified parameters
[main_parameters]
ambient_occlusion 1,5;
ambient_occlusion_enabled true;
camera 0,7482060271178772 3,901021234470435 0,7643944131192546;
camera_distance_to_target 4,045006520342419;
camera_rotation 169,1426662893869 -10,89281816373087 0;
camera_top -0,03559561879585153 -0,185589610005714 0,9819824074699443;
delta_DE_function 2;
flight_last_to_render 0;
formula_1 61;
formula_2 64;
hybrid_fractal_enable true;
image_height 1080;
image_width 1920;
keyframe_last_to_render 0;
mat1_is_defined true;
mat1_surface_color_palette fd6029 698403 fff59c f5bd22 0b5e87 9c6b5f 941a5b 2d52c6 d4ffd4 aba53c;
raytraced_reflections true;
spherical_folding true;
[fractal_1]
IFS_rotation_enabled true;
mandelbox_scale -1,9;
transf_constant_multiplier_111 3 1 1;
[fractal_2]
IFS_abs_x true;
IFS_abs_y true;
IFS_abs_z true;
IFS_direction_0 2,618 1 -1,618;
IFS_direction_1 -1,618 2,618 1;
IFS_direction_2 1 -1,618 2,618;
IFS_enabled_0 true;
IFS_enabled_1 true;
IFS_enabled_2 true;
IFS_offset 1 1 1;
IFS_rotation_enabled true;
IFS_scale 2,618034;
[fractal_3]
IFS_rotation_enabled true;
[fractal_4]
IFS_rotation_enabled true;

__________________________________________

Yellow-Blue:

# Mandelbulber settings file
# version 2.10
# only modified parameters
[main_parameters]
ambient_occlusion 1,5;
ambient_occlusion_enabled true;
camera 0,7772536648650633 3,894811623192553 0,778154809512912;
camera_distance_to_target 4,047123144564551;
camera_rotation 168,7142385497866 -11,08549688499985 0;
camera_top -0,03762840768556099 -0,1885556366484212 0,9813413650830975;
delta_DE_function 2;
flight_last_to_render 0;
formula_1 61;
formula_2 64;
hybrid_fractal_enable true;
image_height 1080;
image_width 1920;
keyframe_last_to_render 0;
mat1_is_defined true;
mat1_surface_color_palette fd6029 698403 fff59c f5bd22 0b5e87 9c6b5f 941a5b 2d52c6 d4ffd4 aba53c;
raytraced_reflections true;
spherical_folding true;
[fractal_1]
IFS_rotation_enabled true;
mandelbox_scale -1,9;
transf_constant_multiplier_111 3 1 1;
[fractal_2]
IFS_abs_x true;
IFS_abs_y true;
IFS_abs_z true;
IFS_direction_0 2,618 1 -1,618;
IFS_direction_1 -1,618 2,618 1;
IFS_direction_2 1 -1,618 2,618;
IFS_enabled_0 true;
IFS_enabled_1 true;
IFS_enabled_2 true;
IFS_offset 1 1 1;
IFS_rotation_enabled true;
IFS_scale 2,618034;
[fractal_3]
IFS_rotation_enabled true;
[fractal_4]
IFS_rotation_enabled true;

Thanks!
 « Last Edit: April 02, 2017, 01:25:11 PM by polterbyte » Logged
Buddhi
Fractal Iambus

Posts: 895

 « Reply #1 on: April 02, 2017, 07:01:25 PM »

Black noise occurs because for this particular hybrid fractal distance estimation is not accurate.
You should go to Rendering engine tab and press Optimization / Medium Quality button. The program will automatically calculate the best value for ray marching step multiplier. You should get something about 0.3 fot these fractals.
This parameter controls quality of rendering. For most of fractals, value 1.0 works well. But for these has to be much lower. Lower value gives more accurate calculation but longer rendering.

 Logged

polterbyte
Forums Newbie

Posts: 4

 « Reply #2 on: April 03, 2017, 12:28:06 AM »

Thank you, Buddhi! that worked like a charm. Nice to understand how something works by other means than trial and error.

Here's another question: I understand how hybrid boolean operators work, but I can't understand what box folding does, nor spherical folding, nor, for that matter, what happens when none of them are selected (only "Enable hybrid fractals, with "repeat sequence from fractal #" set.

Is theere a place (text, manual, article, etc.) where I can get an explanation for that?

Once again, thanks!
 Logged
mclarekin
Fractal Senior

Posts: 1739

 « Reply #3 on: April 03, 2017, 12:37:15 AM »

Here is the quick answer, change your settings and you should get a nice zero in the statistics at the bottom.
There are linear formulas so DeltaDE log  was not a good choice

The manual ( drop down menu Help) does not cover all of this yet.

I will add some more details about how it all works later.

And thanks for starting this post.
 p.jpg (196.21 KB, 553x977 - viewed 270 times.) Logged
mclarekin
Fractal Senior

Posts: 1739

 « Reply #4 on: April 03, 2017, 12:40:10 AM »

The box fold and spherical fold in the Hybrid tab  are a relic for  backwards compatibility for early versions of the program, so I would not use them.
 Logged
mclarekin
Fractal Senior

Posts: 1739

 « Reply #5 on: April 03, 2017, 12:45:33 AM »

There are the current formulas that are set up to use analytical Logarithmic DE

(I am just dumping info for now, more explanation later)

case benesi:
case benesiPineTree:
case benesiT1PineTree:
case benesiPwr2Mandelbulb:
case bristorbrot:
case bristorbrot4d:
case buffalo:
case eiffieMsltoe:
case mandelbulbPower2:
case hypercomplex:
case iqBulb:
case mandelbulb:
case mandelbulb2:
case mandelbulb3:
case mandelbulb4:
case mandelbulbBermarte:
case mandelbulbKali:
case mandelbulbKaliMulti:
case mandelbulbMulti:
case mandelbulbMulti2:
case mandelbulbVaryPowerV1:
case msltoeSym2Mod:
case msltoeSym3Mod:
case msltoeSym3Mod2:
case msltoeSym3Mod3:
case msltoeSym4Mod:
case msltoeToroidal:         // TODO fix??
case msltoeToroidalMulti: // TODO fix??
case quaternion:
case transfQuaternionFold: // hmmm, this issue again
case quaternion3d:
case xenodreambuie:
 Logged
mclarekin
Fractal Senior

Posts: 1739

 « Reply #6 on: April 03, 2017, 01:13:26 AM »

There are two Distance Estimation (DE) methods  Analytical and DeltaDE.   My approach is to use analytical because it is the fastest, and only try DeltaDE when analytical is not giving a good image.

There are two types of functions, Linear and Logarithmic. This is dependent on the maths of the fractal formula. I have listed the current Analytical logarithmic formulas above.

Linear is currently subdivided into three types and it gets a bit confusing.:

1) standard linear

case mandelbox:
case mandelboxMenger:
case mandelboxSmooth:
case mandelboxVaryScale4d:
case generalizedFoldBox:
case foldBoxMod1:
case aboxModKali:
case aboxModKaliEiffie:
case aboxMod1:
case aboxMod2:
case aboxMod11:
case amazingSurf:
case amazingSurfMod1:
case amazingSurfMulti:
case kalisets1:
case aboxVSIcen1:
case pseudoKleinian1:
case abox4d:

2) standard with a  tweak

case kaleidoscopicIFS:
case mengerSponge:
case mengerCrossKIFS:
case mengerCrossMod1:
case mengerPrismShape:
case mengerPrismShape2:
case collatz:
case collatzMod:
case mengerMod1:
case mengerMiddleMod:
case transfMengerFold: // hmmm, this issue again
case mengerPwr2Poly:
case mixPinski4d:
case sierpinski4d:
case sierpinski3d:
case menger4d:
case menger4dMod1:
case mengerSmooth:
case mengerSmoothMod1:
case mengerOcto:

3) pseudo kleinian

case pseudoKleinian
case pseudoKleinianMod1
case pseudoKleinianMod2:

The rest are either DeltaDE linear or Delta DE logarithmic by default (i.e. where analytical does not work)

When you choose a formula ,  the Preferred method is loaded by default, it is only when you start doing some weird types of hybrids that you may wish to change from Preferred.

 Logged
polterbyte
Forums Newbie

Posts: 4

 « Reply #7 on: April 03, 2017, 01:52:45 PM »

First of all, thank you mclarekin, for the detailed explanations on DE and the classification of formulas for that purpose. I did some initial tests and the correct method can be quite a time saver.

Regarding this comment:

The box fold and spherical fold in the Hybrid tab  are a relic for  backwards compatibility for early versions of the program, so I would not use them.

OK, this comes as a surprise, as combining different formulas seems to yield great results (if one is obstinate enough to keep on combining, refining and searching). So, if not by hybrids, is there another way within Mandelbulber to combine different formulas? I may be inferring too much from your answer, but it seems to me that there are better mechanisms to achieve similar results in the program. Is this a correct assessment? Are there resources of which you are aware that teach how to do it?
 Logged
mclarekin
Fractal Senior

Posts: 1739

 « Reply #8 on: April 03, 2017, 02:24:34 PM »

In the formula list, down in the transforms section, there is a T>Box Fold and a T>Sphereical Fold, which do the same maths but are more flexible in their use.

Example using the folds in the Hybrid Tab
Iteration loop runs .      Box Fold - Spherical Fold - then  any formulas in the nine formula slots, then starts  the sequence again with Boxfold , repeating until termination.

Example using Transforms.
Here we can put the spherical fold in front of box fold, or we can put another formula between the two transforms, we can set the box fold  to start at iteration 4 and stop at iteration count number 6 etc etc

So using the transform versions, allows for a lot more possibilities.
 Logged
 Pages: [1]   Go Down