highlighting parts of the Mandelbrot set in renders

• 3 Replies
• 214 Views

0 Members and 1 Guest are viewing this topic.

• 3c
• Posts: 895

highlighting parts of the Mandelbrot set in renders

« on: November 03, 2018, 06:54:35 PM »
In this thread I will show various ways to highlight different parts of the Mandelbrot set in renders.

First up, minibrots (and other mu-units) via renormalization.

The idea is to see when f_c^p(0) escapes a small region around 0 (for other formulas, replace 0 with a critical point).  This is explained more thoroughly in Demo 5 of Mandel 5.15 by Wolf Jung. The software is GPL but I couldn't decipher it (too much mutable state and magic values), consider the code on the linked web page a public domain implementation.

0. set ER2 = 4
1. find the nucleus C and period P of the owning atom, for example by Newton's method
2. find the d/dz of the nucleus' periodic cycle starting from Z=C (the product of 2Z excluding the Z=0)
4. set er2 = 4 / |d/dz|^2
5. iterate
Code: [Select]
    double _Complex z = 0;    double _Complex dc = 0;    double de = -1;    double DE = -1;    for (int k = 0; k < N; ++k)    {      if (cnorm(z) > er2 && de < 0)        de = sqrt(cnorm(z)/er2) * log2(2*cnorm(z)/er2) / (cabs(dc) * pixel_spacing);      for (int l = 0; l < period; ++l)      {        if (cnorm(z) > ER2 && DE < 0)          DE = sqrt(cnorm(z)/ER2) * log2(2*cnorm(z)/ER2) / (cabs(dc) * pixel_spacing);        dc = 2 * z * dc + 1;        z = z * z + c;      }      if (de >= 0 && DE >= 0) break;    }    double MU = tanh(fmax(DE, 0));    double mu = tanh(fmax(fmax(de, DE) * 4 / (period * period), 0)); // this 4/p^2 scale factor is preliminary, needs more research!    colour = mix(red, mix(black, white, MU), mu);
full code and more example images at: https://mathr.co.uk/mandelbrot/mu-unit/
the attached shows a period 9 island in the antenna of the 1/3 mu-unit

I modified the distance estimation formula to avoid glitches near iteration band boundaries in the far exterior.  Seems to work, but I'm not sure if it will break in other views.

I suspect the 4/period^2 factor should really be "1 / feigenbaum constant ^ log2(period)" for period double bifurcations?  and other sequences of multiply islands etc might benefit from different factors?  To be researched!

References:
http://mndynamics.com/indexp.html
http://www.mrob.com/pub/muency/muunit.html

• 3c
• Posts: 895

Re: highlighting parts of the Mandelbrot set in renders

« Reply #1 on: November 04, 2018, 03:19:43 PM »
Next, mu-atoms aka hyperbolic components via multiplier map:

If |z| reaches a new minimum at iteration p, find the limit cycle z_0 = f_c^p(z_0) by Newton's method.  c is in a hyperbolic component of period p when |d/dz f_c^p(z_0)| <= 1.

Code: [Select]
    double _Complex z = 0;    double _Complex dc = 0;    double M = 1.0 / 0.0;    double DE = -1;    int highlight = 0;    for (int k = 1; k < N; ++k)    {        dc = 2 * z * dc + 1; z = z * z + c;        if (cnorm(z) < M)        {          M = cnorm(z);          double _Complex w = z;          double _Complex du;          for (int l = 0; l < 30; ++l)          {            double _Complex u = w;            du = 1;            for (int m = 0; m < k; ++m)            {              du = 2 * u * du;              u = u * u + c;            }            w -= (u - w) / (du - 1);          }          if (cnorm(du) < 1)          {            DE = 0;            highlight = k == period;            break;          }        }        if (cnorm(z) > ER2)        {          DE = sqrt(cnorm(z)/ER2) * log2(2*cnorm(z)/ER2) / (cabs(dc) * r0 / H);          break;        }    }
More images and full code at https://mathr.co.uk/mandelbrot/mu-atom/

(In fact the d/dz is a conformal map from the mu-atom to the unit disc, this can be used for other colouring algorithms.)

• Fractal Friar
• Posts: 125

Re: highlighting parts of the Mandelbrot set in renders

« Reply #2 on: November 04, 2018, 05:25:52 PM »

• Posts: 167

Re: highlighting parts of the Mandelbrot set in renders

« Reply #3 on: November 23, 2018, 05:29:50 PM »
(inside) mmf3.ucl:periodicity set to true periodicity, for some reason I never considered restricting the colours to particular periodicities, easy enough to add though

Am guessing this method is slower then Claude's though the attached image takes exactly the same time as inside "none" on my system !!
Of course Claude's method probably doesn't require such a high iteration count......(this was 2500 though lower would be OK at this res)
The meaning and purpose of life is to give life purpose and meaning.

Similar Topics

Mapping images into fractal renders

Started by FractalDave on Fractal Mathematics And New Theories

5 Replies
175 Views
November 25, 2018, 08:14:59 AM
by xenodreambuie
Mandelbrot Burning Ship Mandelbrot Mandelbrot hybrid 2

Started by claude on Fractal Image Gallery

0 Replies
155 Views
January 17, 2018, 12:10:56 AM
by claude
Mandelbrot Burning Ship Mandelbrot Mandelbrot hybrid 3

Started by claude on Fractal Image Gallery

0 Replies
181 Views
January 17, 2018, 12:26:38 AM
by claude
(Mandelbrot / Burning Ship / Mandelbrot / Mandelbrot) Hybrid

Started by claude on Fractal movie gallery

15 Replies
520 Views
February 06, 2018, 04:56:54 AM
by claude
Mandelbrot Burning Ship Mandelbrot Mandelbrot hybrid

Started by claude on Fractal Image Gallery

0 Replies
170 Views
January 16, 2018, 11:30:30 PM
by claude