Coloring the Mandelbrot set using iterated points

754 Views Asked by At

I'm working on rendering the Mandelbrot set using K. I. Martin's method (http://www.superfractalthing.co.nf/sft_maths.pdf), and I am able to successfully use it to approximate the values of points in the set under iteration. However, now I have found myself faced with a small problem that I can't seem to get around.

Usually points not in the Mandelbrot set are colored based on the number of iterations it takes for them to escape, but since I only have access to the value of the points after a certain number of iterations and not the number of iterations it would have taken those points to escape, I have no way of creating the usual image of the Mandelbrot set.

I've tried using methods like taking one divided by the absolute value of the point (since larger points generally would have diverged faster), but methods like these leave me with pictures like this:

[1] https://i.stack.imgur.com/FuKmQ.png

So, my question is, how can you color a point in the Mandelbrot set knowing only the value of that point after a certain number of iterations and not the number of iterations it took to diverge?

2

There are 2 best solutions below

0
On BEST ANSWER

K.I. Martin's paper has 2 techniques. The first is perturbation, where iterations of a pixel can be performed in low precision relative to a high precision reference. The second is series approximation, which allows to initialize all the pixels to a neighbourhood of the high precision reference after skipping some iterations. You can combine both techniques.

Typically you would use series approximation to initialize your pixels, then iterate them with the perturbed iteration formula until they or the reference escapes, or you reach a maximum iteration limit (if the reference escapes early, you need to find a better one).

An issue not mentioned it the paper is the occurence of "glitches", where the dynamics of the pixel differ too much from the dynamics of the reference. These can be detected and corrected by using a more appropriate reference.

More information on this stuff can be found (historical archive) at http://www.fractalforums.com and (current research) https://fractalforums.org .

4
On

You need to modify your program to repeat the iterations after iterations. For example if you need 200 iterations and you only have access to 100 iterations, you save the values after the first 100 iterates and then iterate again to get to your 200 iterations.