Aller au contenu

Fichier:Newton-lplane-Mandelbrot-smooth.jpg

Le contenu de la page n’est pas pris en charge dans d’autres langues.
Une page de Wikipédia, l'encyclopédie libre.

Fichier d’origine(6 000 × 4 800 pixels, taille du fichier : 14,19 Mio, type MIME : image/jpeg)

Ce fichier et sa description proviennent de Wikimedia Commons.

Wikipédia

 Ceci est une image remarquable sur la Wikipédia en allemand (Exzellente Bilder) et est considéré(e) comme l'une de nos meilleures images.

Si vous pensez que ce fichier doit être une Image remarquable de
Wikimedia Commons
, vous pouvez le proposer.

Si vous avez une image de qualité similaire qui peut être publiée sous une licence compatible, vous pouvez l’importer, y apposer le bandeau de licence adéquat, et la proposer.

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 Travail personnel
Auteur Georg-Johann Lay
Autorisation
(Réutilisation de ce fichier)
Public domain Moi, propriétaire des droits d’auteur sur cette œuvre, la place dans le domaine public. Ceci s'applique dans le monde entier.
Dans certains pays, ceci peut ne pas être possible ; dans ce cas :
J’accorde à toute personne le droit d’utiliser cette œuvre dans n’importe quel but, sans aucune condition, sauf celles requises par la loi.

Description

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

Légendes

Ajoutez en une ligne la description de ce que représente ce fichier

Éléments décrits dans ce fichier

dépeint

Historique du fichier

Cliquer sur une date et heure pour voir le fichier tel qu'il était à ce moment-là.

Date et heureVignetteDimensionsUtilisateurCommentaire
actuel18 octobre 2008 à 01:44Vignette pour la version du 18 octobre 2008 à 01:446 000 × 4 800 (14,19 Mio)Georg-Johann{{Information |Description= |Source= |Date= |Author= |Permission= |other_versions= }}
11 avril 2008 à 22:06Vignette pour la version du 11 avril 2008 à 22:066 000 × 4 800 (1,96 Mio)Georg-Johann{{PD-self}}

La page suivante utilise ce fichier :

Usage global du fichier

Métadonnées