File:Newton-lplane-Mandelbrot-smooth.jpg

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

Original file(6,000 × 4,800 pixels, file size: 14.19 MB, MIME type: image/jpeg)

Captions

Captions

Add a one-line explanation of what this file represents

Wikipedia

 This is a featured picture on the German language Wikipedia (Exzellente Bilder) and is considered one of the finest images. See its nomination here.

If you think this file should be featured on Wikimedia Commons as well, feel free to nominate it.
If you have an image of similar quality that can be published under a suitable copyright license, be sure to upload it, tag it, and nominate it.

Description
English: Computergraphical study of the critical point 0 of Newton's method for a family of cubic polynomials in the complex -plane. For details see below. Mandelbrot set occurring in the analysis of Newton's method (detail
Date
Source Own work
Author Georg-Johann Lay
Permission
(Reusing this file)
Public domain I, the copyright holder of this work, release this work into the public domain. This applies worldwide.
In some countries this may not be legally possible; if so:
I grant anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law.

Summary[edit]

Overview over λ-plane in the range [-2.5,2.5]×[-2.5,2.5]i
discrete colors
English: Fate of zero, one of the critical points of for polynomials from the family

in the complex plane. denotes the Newton operator

For in the black part of the plane, the critical point 0 of does not converge to a zero of . This means that the set of start values for which Newton's method does not converge to a zero of is a set of full measure. The black set is

The center of the region is at about .

Coloring[edit]

Note: I added the relevant part of the C-source to document what went on.

getLambdaColor
gets the color for one pixel
Nf
perform one step of Newton's method, returns the next z als well as the value of the hard coded ƒλ(z)
cpolar
transform from cartesian coordinates to polar coordinates
hsv2rgb
map HSV to RGB color space
argd[]
some values that can be passed via command line to fine trim the coloring function.

The coloring function itself cannot be derived or explained at this point. It is based on trial and error, observation, intuition and experience to get a function that yields appealing results.

Resolution (both arithmetic and graphical) and graphics are taken care of by higher level procedures which do not contribute to the basic understanding.

Color getLambdaColor (double x, double y)
{
    cplx z = {0,0};
    lambda = (cplx) {x+argd[2], y+argd[3]};
    
    int i;
    cplx f;
    double eps = 1e-8;
    double le = 1./log(eps);
    
    for (i=0; i < argd[1]; i++)
    {
        double v, s, h, b2;
        z = Nf(z, &f);
        if (isinf (z.x) || isinf (z.y))
            return Cwhite;
        if (isinf (f.x) || isinf (f.y))
            return Cwhite;
            
        b2 = f.x*f.x + f.y*f.y;
        if (isinf(b2)) exit(4);
        if (b2 < eps*eps)
        {
            double b = 0.5*log(b2)*le;
            if (isinf(b)) b = 2;

            b = i-b;
            z = cpolar(z);
            h = z.y/2/M_PI-.09;
            
            v = b / argd[4];
            s = 0.9-0.7*pow(v, 1.5);
            if (v >= 1)
            {
                double q = 1.-log (b-argd[4])/log(argd[1]-argd[4]);
                s = 4*q*(1-q);
                if (s > 1) s = 1;
                if (s< 0) s = 0;
                s = 0.2+0.6*pow(s, 10);
                v = 1;
            }
            
            return hsv2rgb (h, s, v);
        }
    }
    
    return Cblack;
}

cplx Nf (cplx z, cplx *f)
{
    cplx z2 = cprod (z,z);
    
    *f = csum (z2, lambda);
    *f = ccsum (-1, *f);
    *f = cprod (*f, z);
    *f = cdiff (*f, lambda);
    
    cplx N = ccprod (3., z2);
    N = csum (N, lambda);
    N = ccsum (-1, N);
    
    cplx Z = cprod (z, z2);
    Z = csum (Z, Z);
    Z = csum (Z, lambda);
    
    return cquot (Z, N);
}

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current23:44, 17 October 2008Thumbnail for version as of 23:44, 17 October 20086,000 × 4,800 (14.19 MB)Georg-Johann (talk | contribs){{Information |Description= |Source= |Date= |Author= |Permission= |other_versions= }}
20:06, 11 April 2008Thumbnail for version as of 20:06, 11 April 20086,000 × 4,800 (1.96 MB)Georg-Johann (talk | contribs){{PD-self}}

File usage on other wikis

Metadata