Naar inhoud springen

Bestand:Newton-lplane-Mandelbrot-smooth.jpg

Pagina-inhoud wordt niet ondersteund in andere talen.
Uit Wikivoyage

Oorspronkelijk bestand(6.000 × 4.800 pixels, bestandsgrootte: 14,19 MB, MIME-type: image/jpeg)

Wikipedia

 Dit is een uitgelichte afbeelding op de Duitstalige Wikipedia (Exzellente Bilder) en wordt beschouwd als een van de beste afbeeldingen.

Als u vindt dat dit bestand ook op Wikimedia Commons een uitgelichte afbeelding zou moeten worden, voelt u zich dan vrij het te nomineren.
Als u een bestand van vergelijkbare kwaliteit heeft dat kan worden gepubliceerd onder een geschikte copyrightlicentie, upload het dan, voeg een licentie toe, en nomineer het.

Beschrijving
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
Datum
Bron Eigen werk
Auteur Georg-Johann Lay
Toestemming
(Hergebruik van dit bestand)
Public domain Ik, de auteursrechthebbende van dit werk, geef dit werk vrij in het publieke domein. Dit is wereldwijd van toepassing.
In sommige landen is dit wettelijk niet mogelijk; in die gevallen geldt:
Ik sta iedereen toe dit werk voor eender welk doel te gebruiken, zonder enige voorwaarden, tenzij zulke voorwaarden door de wet worden voorgeschreven.

Beschrijving

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

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);
}

Bijschriften

Beschrijf in één regel wat dit bestand voorstelt

Items getoond in dit bestand

beeldt af

Bestandsgeschiedenis

Klik op een datum/tijd om het bestand te zien zoals het destijds was.

Datum/tijdMiniatuurAfmetingenGebruikerOpmerking
huidige versie18 okt 2008 01:44Miniatuurafbeelding voor de versie van 18 okt 2008 01:446.000 × 4.800 (14,19 MB)Georg-Johann{{Information |Description= |Source= |Date= |Author= |Permission= |other_versions= }}
11 apr 2008 22:06Miniatuurafbeelding voor de versie van 11 apr 2008 22:066.000 × 4.800 (1,96 MB)Georg-Johann{{PD-self}}

Geen enkele pagina gebruikt dit bestand.

Globaal bestandsgebruik

Metadata