From 72777013d7fac77800f0c4fdc5d2a36fe8225639 Mon Sep 17 00:00:00 2001 From: buddhi1980 Date: Fri, 30 Mar 2018 18:27:25 +0200 Subject: [PATCH] Corrected 'if (z == oldZ)' in abox_mod12 formula. Corrected UI for amazing surf multi (scale was in wrong groupbox) Run populateUiInformation.php --- mandelbulber2/formula/opencl/abox_mod12.cl | 2 +- .../formula/opencl/amazing_surf_mod2.cl | 14 +- .../formula/opencl/box_fold_bulb_pow2_v3.cl | 2 +- mandelbulber2/formula/opencl/testing.cl | 3 +- mandelbulber2/formula/opencl/testing4d.cl | 14 +- .../formula/ui/fractal_abox_mod12.ui | 2 +- .../formula/ui/fractal_abox_mod_kali.ui | 2 +- .../formula/ui/fractal_amazing_surf.ui | 2 +- .../formula/ui/fractal_amazing_surf_mod2.ui | 14 +- .../formula/ui/fractal_amazing_surf_multi.ui | 294 +++++++++--------- mandelbulber2/formula/ui/fractal_buffalo.ui | 8 +- .../formula/ui/fractal_jos_kleinian.ui | 2 +- mandelbulber2/formula/ui/fractal_mandelbox.ui | 4 +- .../formula/ui/fractal_mandelbox_menger.ui | 4 +- mandelbulber2/formula/ui/fractal_menger4d.ui | 4 +- .../formula/ui/fractal_menger4d_mod1.ui | 4 +- .../formula/ui/fractal_menger_mod1.ui | 4 +- .../formula/ui/fractal_menger_octo.ui | 4 +- .../formula/ui/fractal_menger_smooth.ui | 4 +- .../formula/ui/fractal_menger_smooth_mod1.ui | 4 +- .../formula/ui/fractal_quaternion.ui | 2 +- mandelbulber2/formula/ui/fractal_testing.ui | 3 +- mandelbulber2/formula/ui/fractal_testing4d.ui | 13 +- .../ui/fractal_transf_iteration_weight.ui | 4 +- .../ui/fractal_transf_iteration_weight4d.ui | 4 +- .../fractal_transf_rotation_folding_plane.ui | 4 +- mandelbulber2/src/fractal_formulas.cpp | 15 +- 27 files changed, 231 insertions(+), 205 deletions(-) diff --git a/mandelbulber2/formula/opencl/abox_mod12.cl b/mandelbulber2/formula/opencl/abox_mod12.cl index 0cef4682f..d393ba577 100644 --- a/mandelbulber2/formula/opencl/abox_mod12.cl +++ b/mandelbulber2/formula/opencl/abox_mod12.cl @@ -172,7 +172,7 @@ REAL4 AboxMod12Iteration(REAL4 z, __constant sFractalCl *fractal, sExtendedAuxCl } // if not use standard Mbox sphere fold - if (z == oldZ) + if (z.x == oldZ.x && z.y == oldZ.y && z.z == oldZ.z && z.w == oldZ.w) { REAL MinR2 = fractal->transformCommon.minR2p25; REAL rr = dot(z, z); diff --git a/mandelbulber2/formula/opencl/amazing_surf_mod2.cl b/mandelbulber2/formula/opencl/amazing_surf_mod2.cl index 0de083cd1..d31d60a1a 100644 --- a/mandelbulber2/formula/opencl/amazing_surf_mod2.cl +++ b/mandelbulber2/formula/opencl/amazing_surf_mod2.cl @@ -220,9 +220,8 @@ REAL4 AmazingSurfMod2Iteration(REAL4 z, __constant sFractalCl *fractal, sExtende // standard functions if (fractal->transformCommon.functionEnabledAy) { - REAL rr; + REAL rr = dot(z, z); rrCol = rr; - rr = dot(z, z); if (fractal->transformCommon.functionEnabledFalse) // force cylinder fold rr -= z.z * z.z * fractal->transformCommon.scaleB1; // fold weight @@ -230,7 +229,6 @@ REAL4 AmazingSurfMod2Iteration(REAL4 z, __constant sFractalCl *fractal, sExtende if (aux->i >= fractal->transformCommon.startIterationsM && aux->i < fractal->transformCommon.stopIterationsM) { - z += fractal->mandelbox.offset; // if (r2 < 1e-21f) r2 = 1e-21f; @@ -276,13 +274,19 @@ REAL4 AmazingSurfMod2Iteration(REAL4 z, __constant sFractalCl *fractal, sExtende if (rrCol < fractal->transformCommon.maxR2d1) { + /*if (rrCol < fractal->transformCommon.minR2p25) + colorAdd += mad(fractal->mandelbox.color.factorSp1, (fractal->transformCommon.minR2p25 - + rrCol), fractal->mandelbox.color.factorSp2 + * (fractal->transformCommon.maxR2d1 - fractal->transformCommon.minR2p25)); + else + colorAdd += fractal->mandelbox.color.factorSp2 * (fractal->transformCommon.maxR2d1 - + rrCol);*/ + colorAdd += fractal->mandelbox.color.factorSp2 * (fractal->transformCommon.maxR2d1 - rrCol); if (rrCol < fractal->transformCommon.minR2p25) colorAdd += mad(fractal->mandelbox.color.factorSp1, (fractal->transformCommon.minR2p25 - rrCol), fractal->mandelbox.color.factorSp2 * (fractal->transformCommon.maxR2d1 - fractal->transformCommon.minR2p25)); - else - colorAdd += fractal->mandelbox.color.factorSp2 * (fractal->transformCommon.maxR2d1 - rrCol); } aux->color += colorAdd; diff --git a/mandelbulber2/formula/opencl/box_fold_bulb_pow2_v3.cl b/mandelbulber2/formula/opencl/box_fold_bulb_pow2_v3.cl index 39601a08e..dfe752d10 100644 --- a/mandelbulber2/formula/opencl/box_fold_bulb_pow2_v3.cl +++ b/mandelbulber2/formula/opencl/box_fold_bulb_pow2_v3.cl @@ -182,7 +182,7 @@ REAL4 BoxFoldBulbPow2V3Iteration(REAL4 z, __constant sFractalCl *fractal, sExten { aux->r_dz = mad(aux->r * aux->r_dz * 10.0f * fractal->analyticDE.scale1, native_sqrt(fractal->foldingIntPow.zFactor * fractal->foldingIntPow.zFactor + 2.0f - + fractal->analyticDE.offset2), + + fractal->analyticDE.offset2), fractal->analyticDE.offset1); } else diff --git a/mandelbulber2/formula/opencl/testing.cl b/mandelbulber2/formula/opencl/testing.cl index 44be6035d..4838312d8 100644 --- a/mandelbulber2/formula/opencl/testing.cl +++ b/mandelbulber2/formula/opencl/testing.cl @@ -239,8 +239,7 @@ REAL4 TestingIteration(REAL4 z, __constant sFractalCl *fractal, sExtendedAuxCl * // standard functions if (fractal->transformCommon.functionEnabledAy) { - REAL rr; - rr = dot(z, z); + REAL rr = dot(z, z); if (fractal->transformCommon.functionEnabledFalse) // force cylinder fold rr -= z.z * z.z * fractal->transformCommon.scaleB1; // fold weight diff --git a/mandelbulber2/formula/opencl/testing4d.cl b/mandelbulber2/formula/opencl/testing4d.cl index c6eddd349..48117834f 100644 --- a/mandelbulber2/formula/opencl/testing4d.cl +++ b/mandelbulber2/formula/opencl/testing4d.cl @@ -22,7 +22,7 @@ REAL4 Testing4dIteration(REAL4 z, __constant sFractalCl *fractal, sExtendedAuxCl REAL4 zCol = z; REAL4 oldZ = z; - // parabolic = paraOffset + iter *slope + (iter *iter *scale) + // parabolic.w = paraOffset + iter *slope + (iter *iter *scale) REAL paraAddP0 = 0.0f; if (fractal->Cpara.enabledParabFalse) { @@ -32,6 +32,17 @@ REAL4 Testing4dIteration(REAL4 z, __constant sFractalCl *fractal, sExtendedAuxCl paraAddP0 = fractal->Cpara.parabOffset0 + (aux->i * fractal->Cpara.parabSlope) + (parabScale); z.w += paraAddP0; } + + // sinusoidal *w + REAL sinAdd = 0.0f; + if (fractal->transformCommon.functionEnabledDFalse) + { + sinAdd = native_sin(native_divide( + (aux->i + fractal->transformCommon.offset0), fractal->transformCommon.scaleA1)) + * fractal->transformCommon.scaleC1; + z.w += sinAdd; + } + /* REAL4 temp = fractal->transformCommon.offset0000; REAL4 temp2 = temp * temp; @@ -64,6 +75,7 @@ REAL4 Testing4dIteration(REAL4 z, __constant sFractalCl *fractal, sExtendedAuxCl } REAL4 temp = fractal->transformCommon.offset0000; REAL4 temp2 = temp * temp; + if (z.w < 1e-016f) z.w = 1e-016f; z.x += (native_divide((8.0f * temp.x * temp2.x), ((z.x * z.x) + (4.0f * temp2.x))) - 2.0f * temp.x) diff --git a/mandelbulber2/formula/ui/fractal_abox_mod12.ui b/mandelbulber2/formula/ui/fractal_abox_mod12.ui index 74585486c..5a920a5ca 100644 --- a/mandelbulber2/formula/ui/fractal_abox_mod12.ui +++ b/mandelbulber2/formula/ui/fractal_abox_mod12.ui @@ -2432,7 +2432,7 @@ offset: <span style="color:#676767">}</span> <span style="color:#2929cc">// if not use standard Mbox sphere fold</span> - <span style="color:#2e8b57; font-weight:bold">if</span> <span style="color:#676767">(</span>z <span style="color:#676767">==</span> oldZ<span style="color:#676767">)</span> + <span style="color:#2e8b57; font-weight:bold">if</span> <span style="color:#676767">(</span>z<span style="color:#676767">.</span>x <span style="color:#676767">==</span> oldZ<span style="color:#676767">.</span>x <span style="color:#676767">&amp;&amp;</span> z<span style="color:#676767">.</span>y <span style="color:#676767">==</span> oldZ<span style="color:#676767">.</span>y <span style="color:#676767">&amp;&amp;</span> z<span style="color:#676767">.</span>z <span style="color:#676767">==</span> oldZ<span style="color:#676767">.</span>z <span style="color:#676767">&amp;&amp;</span> z<span style="color:#676767">.</span>w <span style="color:#676767">==</span> oldZ<span style="color:#676767">.</span>w<span style="color:#676767">)</span> <span style="color:#676767">{</span> <span style="color:#2e8b57; font-weight:bold">double</span> MinR2 <span style="color:#676767">=</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>minR2p25<span style="color:#676767">;</span> <span style="color:#2e8b57; font-weight:bold">double</span> rr <span style="color:#676767">=</span> z<span style="color:#676767">.</span><span style="color:#00008f">Dot</span><span style="color:#676767">(</span>z<span style="color:#676767">);</span> diff --git a/mandelbulber2/formula/ui/fractal_abox_mod_kali.ui b/mandelbulber2/formula/ui/fractal_abox_mod_kali.ui index cae53f8e1..60b4f7291 100644 --- a/mandelbulber2/formula/ui/fractal_abox_mod_kali.ui +++ b/mandelbulber2/formula/ui/fractal_abox_mod_kali.ui @@ -259,7 +259,7 @@ z <span style="color:#676767">=</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>additionConstant0555 <span style="color:#676767">-</span> <span style="color:#00008f">fabs</span><span style="color:#676767">(</span>z<span style="color:#676767">);</span> <span style="color:#2e8b57; font-weight:bold">double</span> rr <span style="color:#676767">=</span> z<span style="color:#676767">.</span><span style="color:#00008f">Dot</span><span style="color:#676767">(</span>z<span style="color:#676767">);</span> <span style="color:#2e8b57; font-weight:bold">double</span> MinR <span style="color:#676767">=</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>minR06<span style="color:#676767">;</span> - <span style="color:#2e8b57; font-weight:bold">double</span> dividend <span style="color:#676767">=</span> rr <span style="color:#676767">&lt;</span> MinR ? MinR <span style="color:#676767">:</span> <span style="color:#00008f">min</span><span style="color:#676767">(</span>rr<span style="color:#676767">,</span> <span style="color:#ff1493">1.0</span><span style="color:#676767">);</span> + <span style="color:#2e8b57; font-weight:bold">double</span> dividend <span style="color:#676767">=</span> rr <span style="color:#676767">&lt;</span> MinR <span style="color:#676767">?</span> MinR <span style="color:#676767">:</span> <span style="color:#00008f">min</span><span style="color:#676767">(</span>rr<span style="color:#676767">,</span> <span style="color:#ff1493">1.0</span><span style="color:#676767">);</span> <span style="color:#2e8b57; font-weight:bold">double</span> m <span style="color:#676767">=</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>scale015 <span style="color:#676767">/</span> dividend<span style="color:#676767">;</span> z <span style="color:#676767">=</span> z <span style="color:#676767">*</span> m<span style="color:#676767">;</span> aux<span style="color:#676767">.</span>DE <span style="color:#676767">=</span> aux<span style="color:#676767">.</span>DE <span style="color:#676767">*</span> <span style="color:#00008f">fabs</span><span style="color:#676767">(</span>m<span style="color:#676767">) +</span> <span style="color:#ff1493">1.0</span><span style="color:#676767">;</span> diff --git a/mandelbulber2/formula/ui/fractal_amazing_surf.ui b/mandelbulber2/formula/ui/fractal_amazing_surf.ui index 23829122d..b35001552 100644 --- a/mandelbulber2/formula/ui/fractal_amazing_surf.ui +++ b/mandelbulber2/formula/ui/fractal_amazing_surf.ui @@ -609,7 +609,7 @@ rr <span style="color:#676767">-=</span> z<span style="color:#676767">.</span>z <span style="color:#676767">*</span> z<span style="color:#676767">.</span>z<span style="color:#676767">;</span> <span style="color:#2e8b57; font-weight:bold">double</span> sqrtMinR <span style="color:#676767">=</span> <span style="color:#00008f">sqrt</span><span style="color:#676767">(</span>fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>minR05<span style="color:#676767">);</span> - <span style="color:#2e8b57; font-weight:bold">double</span> dividend <span style="color:#676767">=</span> rr <span style="color:#676767">&lt;</span> sqrtMinR ? sqrtMinR <span style="color:#676767">:</span> <span style="color:#00008f">min</span><span style="color:#676767">(</span>rr<span style="color:#676767">,</span> <span style="color:#ff1493">1.0</span><span style="color:#676767">);</span> + <span style="color:#2e8b57; font-weight:bold">double</span> dividend <span style="color:#676767">=</span> rr <span style="color:#676767">&lt;</span> sqrtMinR <span style="color:#676767">?</span> sqrtMinR <span style="color:#676767">:</span> <span style="color:#00008f">min</span><span style="color:#676767">(</span>rr<span style="color:#676767">,</span> <span style="color:#ff1493">1.0</span><span style="color:#676767">);</span> <span style="color:#2929cc">/*if (rr &lt; sqrtMinR)</span> <span style="color:#2929cc"> {</span> diff --git a/mandelbulber2/formula/ui/fractal_amazing_surf_mod2.ui b/mandelbulber2/formula/ui/fractal_amazing_surf_mod2.ui index 68013aa24..b2a4dc1f0 100644 --- a/mandelbulber2/formula/ui/fractal_amazing_surf_mod2.ui +++ b/mandelbulber2/formula/ui/fractal_amazing_surf_mod2.ui @@ -2911,9 +2911,8 @@ offset: <span style="color:#2929cc">// standard functions</span> <span style="color:#2e8b57; font-weight:bold">if</span> <span style="color:#676767">(</span>fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>functionEnabledAy<span style="color:#676767">)</span> <span style="color:#676767">{</span> - <span style="color:#2e8b57; font-weight:bold">double</span> rr<span style="color:#676767">;</span> + <span style="color:#2e8b57; font-weight:bold">double</span> rr <span style="color:#676767">=</span> z<span style="color:#676767">.</span><span style="color:#00008f">Dot</span><span style="color:#676767">(</span>z<span style="color:#676767">);</span> rrCol <span style="color:#676767">=</span> rr<span style="color:#676767">;</span> - rr <span style="color:#676767">=</span> z<span style="color:#676767">.</span><span style="color:#00008f">Dot</span><span style="color:#676767">(</span>z<span style="color:#676767">);</span> <span style="color:#2e8b57; font-weight:bold">if</span> <span style="color:#676767">(</span>fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>functionEnabledFalse<span style="color:#676767">)</span> <span style="color:#2929cc">// force cylinder fold</span> rr <span style="color:#676767">-=</span> z<span style="color:#676767">.</span>z <span style="color:#676767">*</span> z<span style="color:#676767">.</span>z <span style="color:#676767">*</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>scaleB1<span style="color:#676767">;</span> <span style="color:#2929cc">// fold weight</span> @@ -2921,7 +2920,6 @@ offset: <span style="color:#2e8b57; font-weight:bold">if</span> <span style="color:#676767">(</span>aux<span style="color:#676767">.</span>i <span style="color:#676767">&gt;=</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>startIterationsM <span style="color:#676767">&amp;&amp;</span> aux<span style="color:#676767">.</span>i <span style="color:#676767">&lt;</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>stopIterationsM<span style="color:#676767">)</span> <span style="color:#676767">{</span> - z <span style="color:#676767">+=</span> fractal<span style="color:#676767">-&gt;</span>mandelbox<span style="color:#676767">.</span>offset<span style="color:#676767">;</span> <span style="color:#2929cc">// if (r2 &lt; 1e-21) r2 = 1e-21;</span> @@ -2966,12 +2964,18 @@ offset: <span style="color:#2e8b57; font-weight:bold">if</span> <span style="color:#676767">(</span>rrCol <span style="color:#676767">&lt;</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>maxR2d1<span style="color:#676767">)</span> <span style="color:#676767">{</span> + <span style="color:#2929cc">/*if (rrCol &lt; fractal-&gt;transformCommon.minR2p25)</span> +<span style="color:#2929cc"> colorAdd += fractal-&gt;mandelbox.color.factorSp1 * (fractal-&gt;transformCommon.minR2p25 - rrCol)</span> +<span style="color:#2929cc"> + fractal-&gt;mandelbox.color.factorSp2</span> +<span style="color:#2929cc"> * (fractal-&gt;transformCommon.maxR2d1 - fractal-&gt;transformCommon.minR2p25);</span> +<span style="color:#2929cc"> else</span> +<span style="color:#2929cc"> colorAdd += fractal-&gt;mandelbox.color.factorSp2 * (fractal-&gt;transformCommon.maxR2d1 -</span> +<span style="color:#2929cc"> rrCol);*/</span> + colorAdd <span style="color:#676767">+=</span> fractal<span style="color:#676767">-&gt;</span>mandelbox<span style="color:#676767">.</span>color<span style="color:#676767">.</span>factorSp2 <span style="color:#676767">* (</span>fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>maxR2d1 <span style="color:#676767">-</span> rrCol<span style="color:#676767">);</span> <span style="color:#2e8b57; font-weight:bold">if</span> <span style="color:#676767">(</span>rrCol <span style="color:#676767">&lt;</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>minR2p25<span style="color:#676767">)</span> colorAdd <span style="color:#676767">+=</span> fractal<span style="color:#676767">-&gt;</span>mandelbox<span style="color:#676767">.</span>color<span style="color:#676767">.</span>factorSp1 <span style="color:#676767">* (</span>fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>minR2p25 <span style="color:#676767">-</span> rrCol<span style="color:#676767">)</span> <span style="color:#676767">+</span> fractal<span style="color:#676767">-&gt;</span>mandelbox<span style="color:#676767">.</span>color<span style="color:#676767">.</span>factorSp2 <span style="color:#676767">* (</span>fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>maxR2d1 <span style="color:#676767">-</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>minR2p25<span style="color:#676767">);</span> - <span style="color:#2e8b57; font-weight:bold">else</span> - colorAdd <span style="color:#676767">+=</span> fractal<span style="color:#676767">-&gt;</span>mandelbox<span style="color:#676767">.</span>color<span style="color:#676767">.</span>factorSp2 <span style="color:#676767">* (</span>fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>maxR2d1 <span style="color:#676767">-</span> rrCol<span style="color:#676767">);</span> <span style="color:#676767">}</span> aux<span style="color:#676767">.</span>color <span style="color:#676767">+=</span> colorAdd<span style="color:#676767">;</span> diff --git a/mandelbulber2/formula/ui/fractal_amazing_surf_multi.ui b/mandelbulber2/formula/ui/fractal_amazing_surf_multi.ui index f29330c19..d2fc7ddeb 100644 --- a/mandelbulber2/formula/ui/fractal_amazing_surf_multi.ui +++ b/mandelbulber2/formula/ui/fractal_amazing_surf_multi.ui @@ -1,6 +1,6 @@ - amazing_surf_multi + Form @@ -954,7 +954,7 @@ true - + 2 @@ -1432,153 +1432,153 @@ offset: + + + + + + + Scale + + + + 2 + + + 2 + + + 2 + + + 2 + - - - Scale + + + + + + 0 + 0 + + + + 999 + + + + + + + Stop Scale at iteration: + + + + + + + + 0 + 0 + + + + 0 + + + 999 + + + 0 + + + + + + + Start Scale at iteration: + + + + + + + + + 2 - - - 2 - - - 2 - - - 2 - - - 2 - - - - - - - - 0 - 0 - - - - 999 - - - - - - - Stop Scale at iteration: - - - - - - - - 0 - 0 - - - - 0 - - - 999 - - - 0 - - - - - - - Start Scale at iteration: - - - - - - - - - 2 - - - - - - 0 - 0 - - - - - - - - - - 6 - - - -100000.000000000000000 - - - 100000.000000000000000 - - - 0.100000000000000 - - - - - - - - 0 - 0 - - - - - - - - - - 6 - - - 0.000000000000000 - - - 10.000000000000000 - - - 0.100000000000000 - - - - - - - Scale and fold influence: - - - - - - - Scale: - - - - - - - + + + + + 0 + 0 + + + + + + + + + + 6 + + + -100000.000000000000000 + + + 100000.000000000000000 + + + 0.100000000000000 + + + + + + + + 0 + 0 + + + + + + + + + + 6 + + + 0.000000000000000 + + + 10.000000000000000 + + + 0.100000000000000 + + + + + + + Scale and fold influence: + + + + + + + Scale: + + + + diff --git a/mandelbulber2/formula/ui/fractal_buffalo.ui b/mandelbulber2/formula/ui/fractal_buffalo.ui index 0738bb732..ff81c986b 100644 --- a/mandelbulber2/formula/ui/fractal_buffalo.ui +++ b/mandelbulber2/formula/ui/fractal_buffalo.ui @@ -154,11 +154,11 @@ <span style="color:#2e8b57; font-weight:bold">double</span> temp <span style="color:#676767">=</span> <span style="color:#ff1493">1.0</span> <span style="color:#676767">-</span> z2 <span style="color:#676767">/ (</span>x2 <span style="color:#676767">+</span> y2<span style="color:#676767">);</span> <span style="color:#2e8b57; font-weight:bold">double</span> newx <span style="color:#676767">= (</span>x2 <span style="color:#676767">-</span> y2<span style="color:#676767">) *</span> temp<span style="color:#676767">;</span> <span style="color:#2e8b57; font-weight:bold">double</span> newy <span style="color:#676767">=</span> <span style="color:#ff1493">2.0</span> <span style="color:#676767">*</span> z<span style="color:#676767">.</span>x <span style="color:#676767">*</span> z<span style="color:#676767">.</span>y <span style="color:#676767">*</span> temp<span style="color:#676767">;</span> - <span style="color:#2e8b57; font-weight:bold">double</span> newz <span style="color:#676767">= (</span>fractal<span style="color:#676767">-&gt;</span>buffalo<span style="color:#676767">.</span>posz ? <span style="color:#ff1493">2.0</span> <span style="color:#676767">: -</span><span style="color:#ff1493">2.0</span><span style="color:#676767">) *</span> z<span style="color:#676767">.</span>z <span style="color:#676767">*</span> <span style="color:#00008f">sqrt</span><span style="color:#676767">(</span>x2 <span style="color:#676767">+</span> y2<span style="color:#676767">);</span> + <span style="color:#2e8b57; font-weight:bold">double</span> newz <span style="color:#676767">= (</span>fractal<span style="color:#676767">-&gt;</span>buffalo<span style="color:#676767">.</span>posz <span style="color:#676767">?</span> <span style="color:#ff1493">2.0</span> <span style="color:#676767">: -</span><span style="color:#ff1493">2.0</span><span style="color:#676767">) *</span> z<span style="color:#676767">.</span>z <span style="color:#676767">*</span> <span style="color:#00008f">sqrt</span><span style="color:#676767">(</span>x2 <span style="color:#676767">+</span> y2<span style="color:#676767">);</span> - z<span style="color:#676767">.</span>x <span style="color:#676767">=</span> fractal<span style="color:#676767">-&gt;</span>buffalo<span style="color:#676767">.</span>absx ? <span style="color:#00008f">fabs</span><span style="color:#676767">(</span>newx<span style="color:#676767">) :</span> newx<span style="color:#676767">;</span> - z<span style="color:#676767">.</span>y <span style="color:#676767">=</span> fractal<span style="color:#676767">-&gt;</span>buffalo<span style="color:#676767">.</span>absy ? <span style="color:#00008f">fabs</span><span style="color:#676767">(</span>newy<span style="color:#676767">) :</span> newy<span style="color:#676767">;</span> - z<span style="color:#676767">.</span>z <span style="color:#676767">=</span> fractal<span style="color:#676767">-&gt;</span>buffalo<span style="color:#676767">.</span>absz ? <span style="color:#00008f">fabs</span><span style="color:#676767">(</span>newz<span style="color:#676767">) :</span> newz<span style="color:#676767">;</span> + z<span style="color:#676767">.</span>x <span style="color:#676767">=</span> fractal<span style="color:#676767">-&gt;</span>buffalo<span style="color:#676767">.</span>absx <span style="color:#676767">?</span> <span style="color:#00008f">fabs</span><span style="color:#676767">(</span>newx<span style="color:#676767">) :</span> newx<span style="color:#676767">;</span> + z<span style="color:#676767">.</span>y <span style="color:#676767">=</span> fractal<span style="color:#676767">-&gt;</span>buffalo<span style="color:#676767">.</span>absy <span style="color:#676767">?</span> <span style="color:#00008f">fabs</span><span style="color:#676767">(</span>newy<span style="color:#676767">) :</span> newy<span style="color:#676767">;</span> + z<span style="color:#676767">.</span>z <span style="color:#676767">=</span> fractal<span style="color:#676767">-&gt;</span>buffalo<span style="color:#676767">.</span>absz <span style="color:#676767">?</span> <span style="color:#00008f">fabs</span><span style="color:#676767">(</span>newz<span style="color:#676767">) :</span> newz<span style="color:#676767">;</span> <span style="color:#676767">}</span> </pre> </body> diff --git a/mandelbulber2/formula/ui/fractal_jos_kleinian.ui b/mandelbulber2/formula/ui/fractal_jos_kleinian.ui index 6c55fd73c..ad6610324 100644 --- a/mandelbulber2/formula/ui/fractal_jos_kleinian.ui +++ b/mandelbulber2/formula/ui/fractal_jos_kleinian.ui @@ -476,7 +476,7 @@ <a href="This formula contains aux.color">This formula contains aux.color<br> </td></tr> </table> -<br><b>Examples using this formula</b><br>jos_kleinian 001.fract<br>Krzysztof Marczak collection - license Creative Commons (CC-BY 4.0)/jos_kleinian 002.fract<h3>Code</h3> +<br><b>Examples using this formula</b><br>jos_kleinian 001.fract<br>Krzysztof Marczak collection - license Creative Commons (CC-BY 4.0)/jos_kleinian 002.fract<br>Robert Pancoast collection - license Creative Commons (CC-BY 4.0)/jos_kleinian002.fract<h3>Code</h3> true diff --git a/mandelbulber2/formula/ui/fractal_mandelbox.ui b/mandelbulber2/formula/ui/fractal_mandelbox.ui index 29d5f5f58..ec291814a 100644 --- a/mandelbulber2/formula/ui/fractal_mandelbox.ui +++ b/mandelbulber2/formula/ui/fractal_mandelbox.ui @@ -1570,8 +1570,8 @@ fixed radius: <span style="color:#2e8b57; font-weight:bold">for</span> <span style="color:#676767">(</span><span style="color:#2e8b57; font-weight:bold">int</span> dim <span style="color:#676767">=</span> <span style="color:#ff1493">0</span><span style="color:#676767">;</span> dim <span style="color:#676767">&lt;</span> <span style="color:#ff1493">3</span><span style="color:#676767">;</span> dim<span style="color:#676767">++)</span> <span style="color:#676767">{</span> <span style="color:#2929cc">// handle each dimension x, y and z sequentially in pointer var dim</span> - <span style="color:#2e8b57; font-weight:bold">double</span> <span style="color:#676767">*</span>rotDim <span style="color:#676767">= (</span>dim <span style="color:#676767">==</span> <span style="color:#ff1493">0</span><span style="color:#676767">)</span> ? <span style="color:#676767">&amp;</span>zRotP<span style="color:#676767">[</span><span style="color:#ff1493">0</span><span style="color:#676767">] : ((</span>dim <span style="color:#676767">==</span> <span style="color:#ff1493">1</span><span style="color:#676767">)</span> ? <span style="color:#676767">&amp;</span>zRotP<span style="color:#676767">[</span><span style="color:#ff1493">1</span><span style="color:#676767">] : &amp;</span>zRotP<span style="color:#676767">[</span><span style="color:#ff1493">2</span><span style="color:#676767">]);</span> - <span style="color:#2e8b57; font-weight:bold">const double</span> <span style="color:#676767">*</span>colorFactor <span style="color:#676767">= (</span>dim <span style="color:#676767">==</span> <span style="color:#ff1493">0</span><span style="color:#676767">)</span> ? <span style="color:#676767">&amp;</span>colP<span style="color:#676767">[</span><span style="color:#ff1493">0</span><span style="color:#676767">] : ((</span>dim <span style="color:#676767">==</span> <span style="color:#ff1493">1</span><span style="color:#676767">)</span> ? <span style="color:#676767">&amp;</span>colP<span style="color:#676767">[</span><span style="color:#ff1493">1</span><span style="color:#676767">] : &amp;</span>colP<span style="color:#676767">[</span><span style="color:#ff1493">2</span><span style="color:#676767">]);</span> + <span style="color:#2e8b57; font-weight:bold">double</span> <span style="color:#676767">*</span>rotDim <span style="color:#676767">= (</span>dim <span style="color:#676767">==</span> <span style="color:#ff1493">0</span><span style="color:#676767">) ? &amp;</span>zRotP<span style="color:#676767">[</span><span style="color:#ff1493">0</span><span style="color:#676767">] : ((</span>dim <span style="color:#676767">==</span> <span style="color:#ff1493">1</span><span style="color:#676767">) ? &amp;</span>zRotP<span style="color:#676767">[</span><span style="color:#ff1493">1</span><span style="color:#676767">] : &amp;</span>zRotP<span style="color:#676767">[</span><span style="color:#ff1493">2</span><span style="color:#676767">]);</span> + <span style="color:#2e8b57; font-weight:bold">const double</span> <span style="color:#676767">*</span>colorFactor <span style="color:#676767">= (</span>dim <span style="color:#676767">==</span> <span style="color:#ff1493">0</span><span style="color:#676767">) ? &amp;</span>colP<span style="color:#676767">[</span><span style="color:#ff1493">0</span><span style="color:#676767">] : ((</span>dim <span style="color:#676767">==</span> <span style="color:#ff1493">1</span><span style="color:#676767">) ? &amp;</span>colP<span style="color:#676767">[</span><span style="color:#ff1493">1</span><span style="color:#676767">] : &amp;</span>colP<span style="color:#676767">[</span><span style="color:#ff1493">2</span><span style="color:#676767">]);</span> zRot <span style="color:#676767">=</span> fractal<span style="color:#676767">-&gt;</span>mandelbox<span style="color:#676767">.</span>rot<span style="color:#676767">[</span><span style="color:#ff1493">0</span><span style="color:#676767">][</span>dim<span style="color:#676767">].</span><span style="color:#00008f">RotateVector</span><span style="color:#676767">(</span>z<span style="color:#676767">);</span> <span style="color:#2e8b57; font-weight:bold">if</span> <span style="color:#676767">(*</span>rotDim <span style="color:#676767">&gt;</span> fractal<span style="color:#676767">-&gt;</span>mandelbox<span style="color:#676767">.</span>foldingLimit<span style="color:#676767">)</span> diff --git a/mandelbulber2/formula/ui/fractal_mandelbox_menger.ui b/mandelbulber2/formula/ui/fractal_mandelbox_menger.ui index 1648cdb75..796ab368d 100644 --- a/mandelbulber2/formula/ui/fractal_mandelbox_menger.ui +++ b/mandelbulber2/formula/ui/fractal_mandelbox_menger.ui @@ -3332,8 +3332,8 @@ offset: <span style="color:#2e8b57; font-weight:bold">for</span> <span style="color:#676767">(</span><span style="color:#2e8b57; font-weight:bold">int</span> dim <span style="color:#676767">=</span> <span style="color:#ff1493">0</span><span style="color:#676767">;</span> dim <span style="color:#676767">&lt;</span> <span style="color:#ff1493">3</span><span style="color:#676767">;</span> dim<span style="color:#676767">++)</span> <span style="color:#676767">{</span> <span style="color:#2929cc">// handle each dimension x, y and z sequentially in pointer var dim</span> - <span style="color:#2e8b57; font-weight:bold">double</span> <span style="color:#676767">*</span>rotDim <span style="color:#676767">= (</span>dim <span style="color:#676767">==</span> <span style="color:#ff1493">0</span><span style="color:#676767">)</span> ? <span style="color:#676767">&amp;</span>zRotP<span style="color:#676767">[</span><span style="color:#ff1493">0</span><span style="color:#676767">] : ((</span>dim <span style="color:#676767">==</span> <span style="color:#ff1493">1</span><span style="color:#676767">)</span> ? <span style="color:#676767">&amp;</span>zRotP<span style="color:#676767">[</span><span style="color:#ff1493">1</span><span style="color:#676767">] : &amp;</span>zRotP<span style="color:#676767">[</span><span style="color:#ff1493">2</span><span style="color:#676767">]);</span> - <span style="color:#2e8b57; font-weight:bold">const double</span> <span style="color:#676767">*</span>colorFactor <span style="color:#676767">= (</span>dim <span style="color:#676767">==</span> <span style="color:#ff1493">0</span><span style="color:#676767">)</span> ? <span style="color:#676767">&amp;</span>colP<span style="color:#676767">[</span><span style="color:#ff1493">0</span><span style="color:#676767">] : ((</span>dim <span style="color:#676767">==</span> <span style="color:#ff1493">1</span><span style="color:#676767">)</span> ? <span style="color:#676767">&amp;</span>colP<span style="color:#676767">[</span><span style="color:#ff1493">1</span><span style="color:#676767">] : &amp;</span>colP<span style="color:#676767">[</span><span style="color:#ff1493">2</span><span style="color:#676767">]);</span> + <span style="color:#2e8b57; font-weight:bold">double</span> <span style="color:#676767">*</span>rotDim <span style="color:#676767">= (</span>dim <span style="color:#676767">==</span> <span style="color:#ff1493">0</span><span style="color:#676767">) ? &amp;</span>zRotP<span style="color:#676767">[</span><span style="color:#ff1493">0</span><span style="color:#676767">] : ((</span>dim <span style="color:#676767">==</span> <span style="color:#ff1493">1</span><span style="color:#676767">) ? &amp;</span>zRotP<span style="color:#676767">[</span><span style="color:#ff1493">1</span><span style="color:#676767">] : &amp;</span>zRotP<span style="color:#676767">[</span><span style="color:#ff1493">2</span><span style="color:#676767">]);</span> + <span style="color:#2e8b57; font-weight:bold">const double</span> <span style="color:#676767">*</span>colorFactor <span style="color:#676767">= (</span>dim <span style="color:#676767">==</span> <span style="color:#ff1493">0</span><span style="color:#676767">) ? &amp;</span>colP<span style="color:#676767">[</span><span style="color:#ff1493">0</span><span style="color:#676767">] : ((</span>dim <span style="color:#676767">==</span> <span style="color:#ff1493">1</span><span style="color:#676767">) ? &amp;</span>colP<span style="color:#676767">[</span><span style="color:#ff1493">1</span><span style="color:#676767">] : &amp;</span>colP<span style="color:#676767">[</span><span style="color:#ff1493">2</span><span style="color:#676767">]);</span> zRot <span style="color:#676767">=</span> fractal<span style="color:#676767">-&gt;</span>mandelbox<span style="color:#676767">.</span>rot<span style="color:#676767">[</span><span style="color:#ff1493">0</span><span style="color:#676767">][</span>dim<span style="color:#676767">].</span><span style="color:#00008f">RotateVector</span><span style="color:#676767">(</span>z<span style="color:#676767">);</span> <span style="color:#2e8b57; font-weight:bold">if</span> <span style="color:#676767">(*</span>rotDim <span style="color:#676767">&gt;</span> fractal<span style="color:#676767">-&gt;</span>mandelbox<span style="color:#676767">.</span>foldingLimit<span style="color:#676767">)</span> diff --git a/mandelbulber2/formula/ui/fractal_menger4d.ui b/mandelbulber2/formula/ui/fractal_menger4d.ui index edaf71fb4..467c56ca6 100644 --- a/mandelbulber2/formula/ui/fractal_menger4d.ui +++ b/mandelbulber2/formula/ui/fractal_menger4d.ui @@ -1362,8 +1362,8 @@ <span style="color:#2e8b57; font-weight:bold">if</span> <span style="color:#676767">(</span>fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>functionEnabledFalse<span style="color:#676767">)</span> <span style="color:#676767">{</span> - CVector4 zA4 <span style="color:#676767">= (</span>aux<span style="color:#676767">.</span>i <span style="color:#676767">==</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>intA<span style="color:#676767">)</span> ? z <span style="color:#676767">:</span> <span style="color:#00008f">CVector4</span><span style="color:#676767">();</span> - CVector4 zB4 <span style="color:#676767">= (</span>aux<span style="color:#676767">.</span>i <span style="color:#676767">==</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>intB<span style="color:#676767">)</span> ? z <span style="color:#676767">:</span> <span style="color:#00008f">CVector4</span><span style="color:#676767">();</span> + CVector4 zA4 <span style="color:#676767">= (</span>aux<span style="color:#676767">.</span>i <span style="color:#676767">==</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>intA<span style="color:#676767">) ?</span> z <span style="color:#676767">:</span> <span style="color:#00008f">CVector4</span><span style="color:#676767">();</span> + CVector4 zB4 <span style="color:#676767">= (</span>aux<span style="color:#676767">.</span>i <span style="color:#676767">==</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>intB<span style="color:#676767">) ?</span> z <span style="color:#676767">:</span> <span style="color:#00008f">CVector4</span><span style="color:#676767">();</span> z <span style="color:#676767">= (</span>z <span style="color:#676767">*</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>scale<span style="color:#676767">) + (</span>zA4 <span style="color:#676767">*</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>offset<span style="color:#676767">)</span> <span style="color:#676767">+ (</span>zB4 <span style="color:#676767">*</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>offset0<span style="color:#676767">);</span> diff --git a/mandelbulber2/formula/ui/fractal_menger4d_mod1.ui b/mandelbulber2/formula/ui/fractal_menger4d_mod1.ui index ba1b8bc80..413f6a989 100644 --- a/mandelbulber2/formula/ui/fractal_menger4d_mod1.ui +++ b/mandelbulber2/formula/ui/fractal_menger4d_mod1.ui @@ -1633,8 +1633,8 @@ <span style="color:#2e8b57; font-weight:bold">if</span> <span style="color:#676767">(</span>fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>functionEnabledFalse<span style="color:#676767">)</span> <span style="color:#676767">{</span> - CVector4 zA4 <span style="color:#676767">= (</span>aux<span style="color:#676767">.</span>i <span style="color:#676767">==</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>intA<span style="color:#676767">)</span> ? z <span style="color:#676767">:</span> <span style="color:#00008f">CVector4</span><span style="color:#676767">();</span> - CVector4 zB4 <span style="color:#676767">= (</span>aux<span style="color:#676767">.</span>i <span style="color:#676767">==</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>intB<span style="color:#676767">)</span> ? z <span style="color:#676767">:</span> <span style="color:#00008f">CVector4</span><span style="color:#676767">();</span> + CVector4 zA4 <span style="color:#676767">= (</span>aux<span style="color:#676767">.</span>i <span style="color:#676767">==</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>intA<span style="color:#676767">) ?</span> z <span style="color:#676767">:</span> <span style="color:#00008f">CVector4</span><span style="color:#676767">();</span> + CVector4 zB4 <span style="color:#676767">= (</span>aux<span style="color:#676767">.</span>i <span style="color:#676767">==</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>intB<span style="color:#676767">) ?</span> z <span style="color:#676767">:</span> <span style="color:#00008f">CVector4</span><span style="color:#676767">();</span> z <span style="color:#676767">= (</span>z <span style="color:#676767">*</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>scale<span style="color:#676767">) + (</span>zA4 <span style="color:#676767">*</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>offset<span style="color:#676767">)</span> <span style="color:#676767">+ (</span>zB4 <span style="color:#676767">*</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>offset0<span style="color:#676767">);</span> diff --git a/mandelbulber2/formula/ui/fractal_menger_mod1.ui b/mandelbulber2/formula/ui/fractal_menger_mod1.ui index 5316322dc..69d92d35e 100644 --- a/mandelbulber2/formula/ui/fractal_menger_mod1.ui +++ b/mandelbulber2/formula/ui/fractal_menger_mod1.ui @@ -1019,8 +1019,8 @@ <span style="color:#2e8b57; font-weight:bold">if</span> <span style="color:#676767">(</span>fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>functionEnabledFalse<span style="color:#676767">)</span> <span style="color:#676767">{</span> - CVector4 zA <span style="color:#676767">= (</span>aux<span style="color:#676767">.</span>i <span style="color:#676767">==</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>intA<span style="color:#676767">)</span> ? z <span style="color:#676767">:</span> <span style="color:#00008f">CVector4</span><span style="color:#676767">();</span> - CVector4 zB <span style="color:#676767">= (</span>aux<span style="color:#676767">.</span>i <span style="color:#676767">==</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>intB<span style="color:#676767">)</span> ? z <span style="color:#676767">:</span> <span style="color:#00008f">CVector4</span><span style="color:#676767">();</span> + CVector4 zA <span style="color:#676767">= (</span>aux<span style="color:#676767">.</span>i <span style="color:#676767">==</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>intA<span style="color:#676767">) ?</span> z <span style="color:#676767">:</span> <span style="color:#00008f">CVector4</span><span style="color:#676767">();</span> + CVector4 zB <span style="color:#676767">= (</span>aux<span style="color:#676767">.</span>i <span style="color:#676767">==</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>intB<span style="color:#676767">) ?</span> z <span style="color:#676767">:</span> <span style="color:#00008f">CVector4</span><span style="color:#676767">();</span> z <span style="color:#676767">= (</span>z <span style="color:#676767">*</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>scale1<span style="color:#676767">) + (</span>zA <span style="color:#676767">*</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>offset<span style="color:#676767">)</span> <span style="color:#676767">+ (</span>zB <span style="color:#676767">*</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>offset0<span style="color:#676767">);</span> diff --git a/mandelbulber2/formula/ui/fractal_menger_octo.ui b/mandelbulber2/formula/ui/fractal_menger_octo.ui index 75e7db3ee..46b4ddbdd 100644 --- a/mandelbulber2/formula/ui/fractal_menger_octo.ui +++ b/mandelbulber2/formula/ui/fractal_menger_octo.ui @@ -2171,8 +2171,8 @@ offset: <span style="color:#2929cc">// iter weight</span> <span style="color:#2e8b57; font-weight:bold">if</span> <span style="color:#676767">(</span>fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>functionEnabledFalse<span style="color:#676767">)</span> <span style="color:#676767">{</span> - CVector4 zA <span style="color:#676767">= (</span>aux<span style="color:#676767">.</span>i <span style="color:#676767">==</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>intA<span style="color:#676767">)</span> ? z <span style="color:#676767">:</span> <span style="color:#00008f">CVector4</span><span style="color:#676767">();</span> - CVector4 zB <span style="color:#676767">= (</span>aux<span style="color:#676767">.</span>i <span style="color:#676767">==</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>intB<span style="color:#676767">)</span> ? z <span style="color:#676767">:</span> <span style="color:#00008f">CVector4</span><span style="color:#676767">();</span> + CVector4 zA <span style="color:#676767">= (</span>aux<span style="color:#676767">.</span>i <span style="color:#676767">==</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>intA<span style="color:#676767">) ?</span> z <span style="color:#676767">:</span> <span style="color:#00008f">CVector4</span><span style="color:#676767">();</span> + CVector4 zB <span style="color:#676767">= (</span>aux<span style="color:#676767">.</span>i <span style="color:#676767">==</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>intB<span style="color:#676767">) ?</span> z <span style="color:#676767">:</span> <span style="color:#00008f">CVector4</span><span style="color:#676767">();</span> z <span style="color:#676767">= (</span>z <span style="color:#676767">*</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>scale1<span style="color:#676767">) + (</span>zA <span style="color:#676767">*</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>offsetA0<span style="color:#676767">)</span> <span style="color:#676767">+ (</span>zB <span style="color:#676767">*</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>offsetB0<span style="color:#676767">);</span> diff --git a/mandelbulber2/formula/ui/fractal_menger_smooth.ui b/mandelbulber2/formula/ui/fractal_menger_smooth.ui index 6f84fca11..136f24f5f 100644 --- a/mandelbulber2/formula/ui/fractal_menger_smooth.ui +++ b/mandelbulber2/formula/ui/fractal_menger_smooth.ui @@ -738,8 +738,8 @@ <span style="color:#2e8b57; font-weight:bold">if</span> <span style="color:#676767">(</span>fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>functionEnabledzFalse<span style="color:#676767">)</span> <span style="color:#676767">{</span> - CVector4 zA <span style="color:#676767">= (</span>aux<span style="color:#676767">.</span>i <span style="color:#676767">==</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>intA<span style="color:#676767">)</span> ? z <span style="color:#676767">:</span> <span style="color:#00008f">CVector4</span><span style="color:#676767">();</span> - CVector4 zB <span style="color:#676767">= (</span>aux<span style="color:#676767">.</span>i <span style="color:#676767">==</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>intB<span style="color:#676767">)</span> ? z <span style="color:#676767">:</span> <span style="color:#00008f">CVector4</span><span style="color:#676767">();</span> + CVector4 zA <span style="color:#676767">= (</span>aux<span style="color:#676767">.</span>i <span style="color:#676767">==</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>intA<span style="color:#676767">) ?</span> z <span style="color:#676767">:</span> <span style="color:#00008f">CVector4</span><span style="color:#676767">();</span> + CVector4 zB <span style="color:#676767">= (</span>aux<span style="color:#676767">.</span>i <span style="color:#676767">==</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>intB<span style="color:#676767">) ?</span> z <span style="color:#676767">:</span> <span style="color:#00008f">CVector4</span><span style="color:#676767">();</span> z <span style="color:#676767">= (</span>z <span style="color:#676767">*</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>scale1<span style="color:#676767">) + (</span>zA <span style="color:#676767">*</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>offsetA0<span style="color:#676767">)</span> <span style="color:#676767">+ (</span>zB <span style="color:#676767">*</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>offsetB0<span style="color:#676767">);</span> aux<span style="color:#676767">.</span>DE <span style="color:#676767">*=</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>scale1<span style="color:#676767">;</span> diff --git a/mandelbulber2/formula/ui/fractal_menger_smooth_mod1.ui b/mandelbulber2/formula/ui/fractal_menger_smooth_mod1.ui index a9093218e..1dd68f152 100644 --- a/mandelbulber2/formula/ui/fractal_menger_smooth_mod1.ui +++ b/mandelbulber2/formula/ui/fractal_menger_smooth_mod1.ui @@ -1226,8 +1226,8 @@ <span style="color:#2e8b57; font-weight:bold">if</span> <span style="color:#676767">(</span>fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>functionEnabledzFalse<span style="color:#676767">)</span> <span style="color:#676767">{</span> - CVector4 zA <span style="color:#676767">= (</span>aux<span style="color:#676767">.</span>i <span style="color:#676767">==</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>intA<span style="color:#676767">)</span> ? z <span style="color:#676767">:</span> <span style="color:#00008f">CVector4</span><span style="color:#676767">();</span> - CVector4 zB <span style="color:#676767">= (</span>aux<span style="color:#676767">.</span>i <span style="color:#676767">==</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>intB<span style="color:#676767">)</span> ? z <span style="color:#676767">:</span> <span style="color:#00008f">CVector4</span><span style="color:#676767">();</span> + CVector4 zA <span style="color:#676767">= (</span>aux<span style="color:#676767">.</span>i <span style="color:#676767">==</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>intA<span style="color:#676767">) ?</span> z <span style="color:#676767">:</span> <span style="color:#00008f">CVector4</span><span style="color:#676767">();</span> + CVector4 zB <span style="color:#676767">= (</span>aux<span style="color:#676767">.</span>i <span style="color:#676767">==</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>intB<span style="color:#676767">) ?</span> z <span style="color:#676767">:</span> <span style="color:#00008f">CVector4</span><span style="color:#676767">();</span> z <span style="color:#676767">= (</span>z <span style="color:#676767">*</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>scale1<span style="color:#676767">) + (</span>zA <span style="color:#676767">*</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>offsetA0<span style="color:#676767">)</span> <span style="color:#676767">+ (</span>zB <span style="color:#676767">*</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>offsetB0<span style="color:#676767">);</span> diff --git a/mandelbulber2/formula/ui/fractal_quaternion.ui b/mandelbulber2/formula/ui/fractal_quaternion.ui index 0c0326748..cc081ba79 100644 --- a/mandelbulber2/formula/ui/fractal_quaternion.ui +++ b/mandelbulber2/formula/ui/fractal_quaternion.ui @@ -70,7 +70,7 @@ <tr><th>Reference</th><td><a href="http://www.fractalforums.com/3d-fractal-generation/true-3d-mandlebrot-type-fractal/">http://www.fractalforums.com/3d-fractal-generation/true-3d-mandlebrot-type-fractal/<br> </td></tr> </table> -<br><b>Examples using this formula</b><br>hybrid001.fract<br>quaternion_001.fract<br>Krzysztof Marczak collection - license Creative Commons (CC-BY 4.0)/hybrid14.fract<br>Krzysztof Marczak collection - license Creative Commons (CC-BY 4.0)/hybrid15.fract<br>Krzysztof Marczak collection - license Creative Commons (CC-BY 4.0)/hybrid16.fract<h3>Code</h3> +<br><b>Examples using this formula</b><br>hybrid001.fract<br>quaternion_001.fract<br>Krzysztof Marczak collection - license Creative Commons (CC-BY 4.0)/hybrid14.fract<br>Krzysztof Marczak collection - license Creative Commons (CC-BY 4.0)/hybrid15.fract<br>Krzysztof Marczak collection - license Creative Commons (CC-BY 4.0)/hybrid16.fract<br>...<h3>Code</h3> true diff --git a/mandelbulber2/formula/ui/fractal_testing.ui b/mandelbulber2/formula/ui/fractal_testing.ui index aeff63042..807254874 100644 --- a/mandelbulber2/formula/ui/fractal_testing.ui +++ b/mandelbulber2/formula/ui/fractal_testing.ui @@ -3081,8 +3081,7 @@ offset: <span style="color:#2929cc">// standard functions</span> <span style="color:#2e8b57; font-weight:bold">if</span> <span style="color:#676767">(</span>fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>functionEnabledAy<span style="color:#676767">)</span> <span style="color:#676767">{</span> - <span style="color:#2e8b57; font-weight:bold">double</span> rr<span style="color:#676767">;</span> - rr <span style="color:#676767">=</span> z<span style="color:#676767">.</span><span style="color:#00008f">Dot</span><span style="color:#676767">(</span>z<span style="color:#676767">);</span> + <span style="color:#2e8b57; font-weight:bold">double</span> rr <span style="color:#676767">=</span> z<span style="color:#676767">.</span><span style="color:#00008f">Dot</span><span style="color:#676767">(</span>z<span style="color:#676767">);</span> <span style="color:#2e8b57; font-weight:bold">if</span> <span style="color:#676767">(</span>fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>functionEnabledFalse<span style="color:#676767">)</span> <span style="color:#2929cc">// force cylinder fold</span> rr <span style="color:#676767">-=</span> z<span style="color:#676767">.</span>z <span style="color:#676767">*</span> z<span style="color:#676767">.</span>z <span style="color:#676767">*</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>scaleB1<span style="color:#676767">;</span> <span style="color:#2929cc">// fold weight</span> diff --git a/mandelbulber2/formula/ui/fractal_testing4d.ui b/mandelbulber2/formula/ui/fractal_testing4d.ui index 1bfe5ed28..14d9803ef 100644 --- a/mandelbulber2/formula/ui/fractal_testing4d.ui +++ b/mandelbulber2/formula/ui/fractal_testing4d.ui @@ -2213,7 +2213,7 @@ CVector4 zCol <span style="color:#676767">=</span> z<span style="color:#676767">;</span> CVector4 oldZ <span style="color:#676767">=</span> z<span style="color:#676767">;</span> - <span style="color:#2929cc">// parabolic = paraOffset + iter *slope + (iter *iter *scale)</span> + <span style="color:#2929cc">// parabolic.w = paraOffset + iter *slope + (iter *iter *scale)</span> <span style="color:#2e8b57; font-weight:bold">double</span> paraAddP0 <span style="color:#676767">=</span> <span style="color:#ff1493">0.0</span><span style="color:#676767">;</span> <span style="color:#2e8b57; font-weight:bold">if</span> <span style="color:#676767">(</span>fractal<span style="color:#676767">-&gt;</span>Cpara<span style="color:#676767">.</span>enabledParabFalse<span style="color:#676767">)</span> <span style="color:#676767">{</span> @@ -2223,6 +2223,16 @@ paraAddP0 <span style="color:#676767">=</span> fractal<span style="color:#676767">-&gt;</span>Cpara<span style="color:#676767">.</span>parabOffset0 <span style="color:#676767">+ (</span>aux<span style="color:#676767">.</span>i <span style="color:#676767">*</span> fractal<span style="color:#676767">-&gt;</span>Cpara<span style="color:#676767">.</span>parabSlope<span style="color:#676767">) + (</span>parabScale<span style="color:#676767">);</span> z<span style="color:#676767">.</span>w <span style="color:#676767">+=</span> paraAddP0<span style="color:#676767">;</span> <span style="color:#676767">}</span> + + <span style="color:#2929cc">// sinusoidal w</span> + <span style="color:#2e8b57; font-weight:bold">double</span> sinAdd <span style="color:#676767">=</span> <span style="color:#ff1493">0.0</span><span style="color:#676767">;</span> + <span style="color:#2e8b57; font-weight:bold">if</span> <span style="color:#676767">(</span>fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>functionEnabledDFalse<span style="color:#676767">)</span> + <span style="color:#676767">{</span> + sinAdd <span style="color:#676767">=</span> <span style="color:#00008f">sin</span><span style="color:#676767">((</span>aux<span style="color:#676767">.</span>i <span style="color:#676767">+</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>offset0<span style="color:#676767">) /</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>scaleA1<span style="color:#676767">)</span> + <span style="color:#676767">*</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>scaleC1<span style="color:#676767">;</span> + z<span style="color:#676767">.</span>w <span style="color:#676767">+=</span> sinAdd<span style="color:#676767">;</span> + <span style="color:#676767">}</span> + <span style="color:#2929cc">/* CVector4 temp = fractal-&gt;transformCommon.offset0000;</span> <span style="color:#2929cc"> CVector4 temp2 = temp * temp;</span> <span style="color:#2929cc"></span> @@ -2251,6 +2261,7 @@ <span style="color:#676767">}</span> CVector4 temp <span style="color:#676767">=</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>offset0000<span style="color:#676767">;</span> CVector4 temp2 <span style="color:#676767">=</span> temp <span style="color:#676767">*</span> temp<span style="color:#676767">;</span> + <span style="color:#2e8b57; font-weight:bold">if</span> <span style="color:#676767">(</span>z<span style="color:#676767">.</span>w <span style="color:#676767">&lt;</span> <span style="color:#ff1493">1e-016</span><span style="color:#676767">)</span> z<span style="color:#676767">.</span>w <span style="color:#676767">=</span> <span style="color:#ff1493">1e-016</span><span style="color:#676767">;</span> z<span style="color:#676767">.</span>x <span style="color:#676767">+= ((</span><span style="color:#ff1493">8.0</span> <span style="color:#676767">*</span> temp<span style="color:#676767">.</span>x <span style="color:#676767">*</span> temp2<span style="color:#676767">.</span>x<span style="color:#676767">) / ((</span>z<span style="color:#676767">.</span>x <span style="color:#676767">*</span> z<span style="color:#676767">.</span>x<span style="color:#676767">) + (</span><span style="color:#ff1493">4.0</span> <span style="color:#676767">*</span> temp2<span style="color:#676767">.</span>x<span style="color:#676767">)) -</span> <span style="color:#ff1493">2.0</span> <span style="color:#676767">*</span> temp<span style="color:#676767">.</span>x<span style="color:#676767">) *</span> <span style="color:#00008f">sign</span><span style="color:#676767">(</span>z<span style="color:#676767">.</span>x<span style="color:#676767">)</span> <span style="color:#676767">*</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>scale1<span style="color:#676767">;</span> diff --git a/mandelbulber2/formula/ui/fractal_transf_iteration_weight.ui b/mandelbulber2/formula/ui/fractal_transf_iteration_weight.ui index fba044f68..926f1a28b 100644 --- a/mandelbulber2/formula/ui/fractal_transf_iteration_weight.ui +++ b/mandelbulber2/formula/ui/fractal_transf_iteration_weight.ui @@ -268,8 +268,8 @@ <body style="background-color:#fff5ee"> <pre style="color:#000000; background-color:#fff5ee; font-family:'Courier New',monospace;"><span style="color:#2e8b57; font-weight:bold">void</span> <span style="color:#00008f">TransfIterationWeightIteration</span><span style="color:#676767">(</span>CVector4 <span style="color:#676767">&amp;</span>z<span style="color:#676767">,</span> <span style="color:#2e8b57; font-weight:bold">const</span> sFractal <span style="color:#676767">*</span>fractal<span style="color:#676767">,</span> sExtendedAux <span style="color:#676767">&amp;</span>aux<span style="color:#676767">)</span> <span style="color:#676767">{</span> - CVector4 zA <span style="color:#676767">= (</span>aux<span style="color:#676767">.</span>i <span style="color:#676767">==</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>intA<span style="color:#676767">)</span> ? z <span style="color:#676767">:</span> <span style="color:#00008f">CVector4</span><span style="color:#676767">();</span> - CVector4 zB <span style="color:#676767">= (</span>aux<span style="color:#676767">.</span>i <span style="color:#676767">==</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>intB<span style="color:#676767">)</span> ? z <span style="color:#676767">:</span> <span style="color:#00008f">CVector4</span><span style="color:#676767">();</span> + CVector4 zA <span style="color:#676767">= (</span>aux<span style="color:#676767">.</span>i <span style="color:#676767">==</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>intA<span style="color:#676767">) ?</span> z <span style="color:#676767">:</span> <span style="color:#00008f">CVector4</span><span style="color:#676767">();</span> + CVector4 zB <span style="color:#676767">= (</span>aux<span style="color:#676767">.</span>i <span style="color:#676767">==</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>intB<span style="color:#676767">) ?</span> z <span style="color:#676767">:</span> <span style="color:#00008f">CVector4</span><span style="color:#676767">();</span> z <span style="color:#676767">= (</span>z <span style="color:#676767">*</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>scale<span style="color:#676767">) + (</span>zA <span style="color:#676767">*</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>offset<span style="color:#676767">)</span> <span style="color:#676767">+ (</span>zB <span style="color:#676767">*</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>offset0<span style="color:#676767">);</span> diff --git a/mandelbulber2/formula/ui/fractal_transf_iteration_weight4d.ui b/mandelbulber2/formula/ui/fractal_transf_iteration_weight4d.ui index fb0f62755..d39cb5051 100644 --- a/mandelbulber2/formula/ui/fractal_transf_iteration_weight4d.ui +++ b/mandelbulber2/formula/ui/fractal_transf_iteration_weight4d.ui @@ -268,8 +268,8 @@ <body style="background-color:#fff5ee"> <pre style="color:#000000; background-color:#fff5ee; font-family:'Courier New',monospace;"><span style="color:#2e8b57; font-weight:bold">void</span> <span style="color:#00008f">TransfIterationWeight4dIteration</span><span style="color:#676767">(</span>CVector4 <span style="color:#676767">&amp;</span>z<span style="color:#676767">,</span> <span style="color:#2e8b57; font-weight:bold">const</span> sFractal <span style="color:#676767">*</span>fractal<span style="color:#676767">,</span> sExtendedAux <span style="color:#676767">&amp;</span>aux<span style="color:#676767">)</span> <span style="color:#676767">{</span> - CVector4 zA4 <span style="color:#676767">= (</span>aux<span style="color:#676767">.</span>i <span style="color:#676767">==</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>intA<span style="color:#676767">)</span> ? z <span style="color:#676767">:</span> <span style="color:#00008f">CVector4</span><span style="color:#676767">();</span> - CVector4 zB4 <span style="color:#676767">= (</span>aux<span style="color:#676767">.</span>i <span style="color:#676767">==</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>intB<span style="color:#676767">)</span> ? z <span style="color:#676767">:</span> <span style="color:#00008f">CVector4</span><span style="color:#676767">();</span> + CVector4 zA4 <span style="color:#676767">= (</span>aux<span style="color:#676767">.</span>i <span style="color:#676767">==</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>intA<span style="color:#676767">) ?</span> z <span style="color:#676767">:</span> <span style="color:#00008f">CVector4</span><span style="color:#676767">();</span> + CVector4 zB4 <span style="color:#676767">= (</span>aux<span style="color:#676767">.</span>i <span style="color:#676767">==</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>intB<span style="color:#676767">) ?</span> z <span style="color:#676767">:</span> <span style="color:#00008f">CVector4</span><span style="color:#676767">();</span> z <span style="color:#676767">= (</span>z <span style="color:#676767">*</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>scale<span style="color:#676767">) + (</span>zA4 <span style="color:#676767">*</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>offset<span style="color:#676767">)</span> <span style="color:#676767">+ (</span>zB4 <span style="color:#676767">*</span> fractal<span style="color:#676767">-&gt;</span>transformCommon<span style="color:#676767">.</span>offset0<span style="color:#676767">);</span> diff --git a/mandelbulber2/formula/ui/fractal_transf_rotation_folding_plane.ui b/mandelbulber2/formula/ui/fractal_transf_rotation_folding_plane.ui index c565fc261..e5ff57c25 100644 --- a/mandelbulber2/formula/ui/fractal_transf_rotation_folding_plane.ui +++ b/mandelbulber2/formula/ui/fractal_transf_rotation_folding_plane.ui @@ -1041,8 +1041,8 @@ <span style="color:#2e8b57; font-weight:bold">for</span> <span style="color:#676767">(</span><span style="color:#2e8b57; font-weight:bold">int</span> dim <span style="color:#676767">=</span> <span style="color:#ff1493">0</span><span style="color:#676767">;</span> dim <span style="color:#676767">&lt;</span> <span style="color:#ff1493">3</span><span style="color:#676767">;</span> dim<span style="color:#676767">++)</span> <span style="color:#676767">{</span> <span style="color:#2929cc">// handle each dimension x, y and z sequentially in pointer var dim</span> - <span style="color:#2e8b57; font-weight:bold">double</span> <span style="color:#676767">*</span>rotDim <span style="color:#676767">= (</span>dim <span style="color:#676767">==</span> <span style="color:#ff1493">0</span><span style="color:#676767">)</span> ? <span style="color:#676767">&amp;</span>zRotP<span style="color:#676767">[</span><span style="color:#ff1493">0</span><span style="color:#676767">] : ((</span>dim <span style="color:#676767">==</span> <span style="color:#ff1493">1</span><span style="color:#676767">)</span> ? <span style="color:#676767">&amp;</span>zRotP<span style="color:#676767">[</span><span style="color:#ff1493">1</span><span style="color:#676767">] : &amp;</span>zRotP<span style="color:#676767">[</span><span style="color:#ff1493">2</span><span style="color:#676767">]);</span> - <span style="color:#2e8b57; font-weight:bold">const double</span> <span style="color:#676767">*</span>colorFactor <span style="color:#676767">= (</span>dim <span style="color:#676767">==</span> <span style="color:#ff1493">0</span><span style="color:#676767">)</span> ? <span style="color:#676767">&amp;</span>colP<span style="color:#676767">[</span><span style="color:#ff1493">0</span><span style="color:#676767">] : ((</span>dim <span style="color:#676767">==</span> <span style="color:#ff1493">1</span><span style="color:#676767">)</span> ? <span style="color:#676767">&amp;</span>colP<span style="color:#676767">[</span><span style="color:#ff1493">1</span><span style="color:#676767">] : &amp;</span>colP<span style="color:#676767">[</span><span style="color:#ff1493">2</span><span style="color:#676767">]);</span> + <span style="color:#2e8b57; font-weight:bold">double</span> <span style="color:#676767">*</span>rotDim <span style="color:#676767">= (</span>dim <span style="color:#676767">==</span> <span style="color:#ff1493">0</span><span style="color:#676767">) ? &amp;</span>zRotP<span style="color:#676767">[</span><span style="color:#ff1493">0</span><span style="color:#676767">] : ((</span>dim <span style="color:#676767">==</span> <span style="color:#ff1493">1</span><span style="color:#676767">) ? &amp;</span>zRotP<span style="color:#676767">[</span><span style="color:#ff1493">1</span><span style="color:#676767">] : &amp;</span>zRotP<span style="color:#676767">[</span><span style="color:#ff1493">2</span><span style="color:#676767">]);</span> + <span style="color:#2e8b57; font-weight:bold">const double</span> <span style="color:#676767">*</span>colorFactor <span style="color:#676767">= (</span>dim <span style="color:#676767">==</span> <span style="color:#ff1493">0</span><span style="color:#676767">) ? &amp;</span>colP<span style="color:#676767">[</span><span style="color:#ff1493">0</span><span style="color:#676767">] : ((</span>dim <span style="color:#676767">==</span> <span style="color:#ff1493">1</span><span style="color:#676767">) ? &amp;</span>colP<span style="color:#676767">[</span><span style="color:#ff1493">1</span><span style="color:#676767">] : &amp;</span>colP<span style="color:#676767">[</span><span style="color:#ff1493">2</span><span style="color:#676767">]);</span> zRot <span style="color:#676767">=</span> fractal<span style="color:#676767">-&gt;</span>mandelbox<span style="color:#676767">.</span>rot<span style="color:#676767">[</span><span style="color:#ff1493">0</span><span style="color:#676767">][</span>dim<span style="color:#676767">].</span><span style="color:#00008f">RotateVector</span><span style="color:#676767">(</span>z<span style="color:#676767">);</span> <span style="color:#2e8b57; font-weight:bold">if</span> <span style="color:#676767">(*</span>rotDim <span style="color:#676767">&gt;</span> fractal<span style="color:#676767">-&gt;</span>mandelbox<span style="color:#676767">.</span>foldingLimit<span style="color:#676767">)</span> diff --git a/mandelbulber2/src/fractal_formulas.cpp b/mandelbulber2/src/fractal_formulas.cpp index 2e6f0674f..87ffd7105 100644 --- a/mandelbulber2/src/fractal_formulas.cpp +++ b/mandelbulber2/src/fractal_formulas.cpp @@ -1386,7 +1386,7 @@ void AboxMod12Iteration(CVector4 &z, const sFractal *fractal, sExtendedAux &aux) } // if not use standard Mbox sphere fold - if (z == oldZ) + if (z.x == oldZ.x && z.y == oldZ.y && z.z == oldZ.z && z.w == oldZ.w) { double MinR2 = fractal->transformCommon.minR2p25; double rr = z.Dot(z); @@ -2310,7 +2310,6 @@ void AmazingSurfMod2Iteration(CVector4 &z, const sFractal *fractal, sExtendedAux } } - if (fractal->mandelbox.mainRotationEnabled && aux.i >= fractal->transformCommon.startIterationsR && aux.i < fractal->transformCommon.stopIterationsR) z = fractal->mandelbox.mainRot.RotateVector(z); @@ -2334,14 +2333,13 @@ void AmazingSurfMod2Iteration(CVector4 &z, const sFractal *fractal, sExtendedAux + fractal->mandelbox.color.factorSp2 * (fractal->transformCommon.maxR2d1 - fractal->transformCommon.minR2p25); else - colorAdd += fractal->mandelbox.color.factorSp2 * (fractal->transformCommon.maxR2d1 - rrCol);*/ + colorAdd += fractal->mandelbox.color.factorSp2 * (fractal->transformCommon.maxR2d1 - + rrCol);*/ colorAdd += fractal->mandelbox.color.factorSp2 * (fractal->transformCommon.maxR2d1 - rrCol); if (rrCol < fractal->transformCommon.minR2p25) colorAdd += fractal->mandelbox.color.factorSp1 * (fractal->transformCommon.minR2p25 - rrCol) - + fractal->mandelbox.color.factorSp2 - * (fractal->transformCommon.maxR2d1 - fractal->transformCommon.minR2p25); - - + + fractal->mandelbox.color.factorSp2 + * (fractal->transformCommon.maxR2d1 - fractal->transformCommon.minR2p25); } aux.color += colorAdd; @@ -12884,11 +12882,10 @@ void Testing4dIteration(CVector4 &z, const sFractal *fractal, sExtendedAux &aux) if (fractal->transformCommon.functionEnabledDFalse) { sinAdd = sin((aux.i + fractal->transformCommon.offset0) / fractal->transformCommon.scaleA1) - * fractal->transformCommon.scaleC1; + * fractal->transformCommon.scaleC1; z.w += sinAdd; } - /* CVector4 temp = fractal->transformCommon.offset0000; CVector4 temp2 = temp * temp;