Title: Smooth color transitions Post by: Kalles Fraktaler on November 11, 2013, 05:04:16 PM Elaborating with smooth color transitions.
By using the value of z when exceeding 2 in the Mandelbrot function nearby color indexes are combined to create smooth color transitions. This function is not available in my program, but can be added if wanted? The key-frames to this 6 minutes long video took only 8 minutes to render on my quad-core laptop!!! http://www.youtube.com/watch?v=1KQDeoNguCk Title: Re: Smooth color transitions Post by: hobold on November 11, 2013, 06:33:42 PM By using the value of z when exceeding 2 in the Mandelbrot function nearby color indexes are combined to create smooth color transitions. The same principle is being used in the "standard" method for smooth iteration count (called "continuous potential method" in The Science of Fractal Images book). In theory, it works best for a bailout radius much larger than 2. Much further away from the Mandelbrot set, subsequent level sets (i.e. adjacent color bands) are both much better approximations to concentric circles. So one can use some expression based on |z| to interpolate between adjacent colours.Title: Re: Smooth color transitions Post by: Kalles Fraktaler on November 11, 2013, 09:56:21 PM The same principle is being used in the "standard" method for smooth iteration count (called "continuous potential method" in The Science of Fractal Images book). In theory, it works best for a bailout radius much larger than 2. Much further away from the Mandelbrot set, subsequent level sets (i.e. adjacent color bands) are both much better approximations to concentric circles. So one can use some expression based on |z| to interpolate between adjacent colours. Unfortunately I don't know about the standard method, but I would like to know.If it involves taking account of the values for all iterations it might not be possible to combine it with pertubation and series approximation though. Title: Re: Smooth color transitions Post by: panzerboy on November 11, 2013, 11:30:28 PM :joy: Woohoo :banana:
Smooth Shading! :worm: I suspect Hobold is referring to this http://linas.org/art-gallery/escape/smooth.html (http://linas.org/art-gallery/escape/smooth.html) method. I copied it for my Smooth Shading plugin for Fractal Extreme http://sourceforge.net/projects/fxsmoothbrot/ (http://sourceforge.net/projects/fxsmoothbrot/) A good clear example of the algorithm http://www.codeproject.com/Articles/18361/Mandelbrot-Set-with-Smooth-Drawing (http://www.codeproject.com/Articles/18361/Mandelbrot-Set-with-Smooth-Drawing) Perhaps you are already using the mu = N + 1 - log (log |Z(N)|) / log 2 method without the 2 extra iterations or a larger bailout of 4? Those two extra iterations and larger bailout was a challenge for the FX plugin. FX has a extended precision format that is an array of words (32 or 64 bit). The most significant word contains a fixed decimal place and a small number of bits to store the integer portion of the numbers. Increasing the bailout and doing 2 extra iterations meant blowing the largest possible integer that could be represented in 5 bits. So I added a whole word of integers to the array and added another word of decimals (bicimals?) at the other end of the array to preserve accuray. I only add the extra words once the loop exceeds the ordinary bailout of 2, that way there's no extra arithmetic until the end of the iterations. There are other wrinkles, like how to extend the high precision array if the value is a negative twos' compliment representation, adding a method to convert from high precision to double float for the final logarithms. Its all in my code, if you can read it, sorry I'm not a regular c++ coder so it might be a little ugly. :ugly: Title: Re: Smooth color transitions Post by: Kalles Fraktaler on November 12, 2013, 12:27:35 PM OK, then I recognize it. I have tried using N + 1 - log (log |Z(N)|) / log 2 before, but the term log (log |Z(N)|) / log 2 sometimes get negative and I have problems with that.
I wanted a value between 0 and 1 to combine the color index N-1 with the color index N. I thought "how near was the previous iteration to reach bailout". So, if the value of |Z(N-1)| was 1.9 and |Z(N)| was 13, then the color should be very close to the color index N-1. But if the value of |Z(N-1)| was 1.9 and |Z(N)| was 2.001 the color should be very close to the color index N. My formula is therefore ( |Z(N)| - 2 ) / ( |Z(N)| - |Z(N-1)| ) and it seems to be as smooth as the standard method. Now I only need to get it working combined with dividing the iterations and color cycling... :) Title: Re: Smooth color transitions Post by: Kalles Fraktaler on November 14, 2013, 12:59:05 PM And here is another - with color cycling :)
http://www.youtube.com/watch?v=gxfdT0mO5Ak Title: Re: Smooth color transitions Post by: SeryZone on November 30, 2013, 08:09:29 PM Hello! How to solve glitches at minibrot? I find center of glitch (errors) and set main reference at center-glitch point. But this is don't help :((
Title: Re: Smooth color transitions Post by: Kalles Fraktaler on December 01, 2013, 11:18:00 AM Hello! How to solve glitches at minibrot? I find center of glitch (errors) and set main reference at center-glitch point. But this is don't help :(( No, sometimes you need to add several references in the center of glitches. |