Fichier:Newton-lplane-Mandelbrot-smooth.jpg
Ce fichier provient de Wikimedia Commons et peut être utilisé par d'autres projets. Sa description sur sa page de description est affichée ci-dessous.
|
| DescriptionNewton-lplane-Mandelbrot-smooth.jpg |
English: Computergraphical study of the critical point 0 of Newton's method for a family of cubic polynomials |
|||
| Date | ||||
| Source | Travail personnel | |||
| Auteur | Georg-Johann Lay | |||
| Autorisation (Réutilisation de ce fichier) |
|
Description


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
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
Éléments décrits dans ce fichier
dépeint
Valeur sans élément de Wikidata
11 avril 2008
14 878 776 octet
4 800 pixel
6 000 pixel
image/jpeg
ca6373286247ee085cecc61db96fab895af121b0
Historique du fichier
Cliquer sur une date et heure pour voir le fichier tel qu'il était à ce moment-là.
| Date et heure | Vignette | Dimensions | Utilisateur | Commentaire | |
|---|---|---|---|---|---|
| actuel | 18 octobre 2008 à 00:44 | 6 000 × 4 800 (14,19 Mio) | wikimediacommons>Georg-Johann | {{Information |Description= |Source= |Date= |Author= |Permission= |other_versions= }} |
Utilisation du fichier
La page suivante utilise ce fichier :