Rendering Fractals: The Mobius Transformation and The Newtonian Basin

645 views Asked by At

I understand how to render (two dimensional) "Escape Time Group" fractals (Julia and Mandelbrot), but I can't seem to get a Mobius Transformation or a Newton Basin rendered.

I'm trying to render them using the same method (by recursively using the polynomial equation on each pixel 'n' times), but I have a feeling these fractals are rendered using totally different methods. Mobius 'Transformation' implies that an image must already exist, and then be transformed to produce the geometry, and the Newton Basin seems to plot each point, not just points that fall into a set.

How are these fractals graphed? Are they graphed using the same iterative methods as the Julia and Mandelbrot?

Equations I'm Using:

Julia: Zn+1 = Zn^2 + C

Where Z is a complex number representing a pixel, and C is a complex constant (Correct).

Mandelbrot: Cn+1 = Cn^2 + Z

Where Z is a complex number representing a pixel, and C is the complex number (0, 0), and is compounded each step (The reverse of the Julia, correct).

Newton Basin: Zn+1 = Zn - (Zn^x - a) / (Zn^y - a)

Where Z is a complex number representing a pixel, x and y are exponents of various degrees, and a is a complex constant (Incorrect - creating a centered, eight legged 'line star').

Mobius Transformation: Zn+1 = (aZn + b) / (cZn + d)

Where Z is a complex number representing a pixel, and a, b, c, and d are complex constants (Incorrect, everything falls into the set).

So how are the Newton Basin and Mobius Transformation plotted on the complex plane?

Update: Mobius Transformations are just that; transformations.

"Every Möbius transformation is
a composition of translations,
rotations, zooms (dilations) and
inversions."

To perform a Mobius Transformation, a shape, picture, smear, etc. must be present already in order to transform it.

Now how about those Newton Basins?

Update 2: My math was wrong for the Newton Basin. The denominator at the end of the equation is (supposed to be) the derivative of the original function. The function can be understood by studying 'NewtonRoot.m' from the MIT MatLab source-code. A search engine can find it quite easily. I'm still at a loss as to how to graph it on the complex plane, though...

Newton Basin:

f(x) = x - f(x) / f'(x)
1

There are 1 answers

2
Searles On BEST ANSWER

In Mandelbrot and Julia sets you terminate the inner loop if it exceeds a certain threshold as a measurement how fast the orbit "reaches" infinity

if(|z| > 4) { stop }

For newton fractals it is the other way round: Since the newton method is usually converging towards a certain value we are interested how fast it reaches its limit, which can be done by checking when the difference of two consecutive values drops below a certain value (usually 10^-9 is a good value)

if(|z[n] - z[n-1]| < epsilon) { stop }