Obtention de l’ensemble de Mandelbrot en utilisant quelques instructions du langage de programmation de Mathematica et en tirant profit des possibilités de représentation graphique de ce logiciel.
L’ensemble de Mandelbrot compte parmi les objets mathématiques les plus complexes qui aient été donnés à voir. Il est l’analogue de l’idée musicale de « variations sur un thème » : les mêmes formes se répètent partout, mais chaque répétition est différente. Cette richesse aurait été absolument impossible à découvrir sans recourir à l’ordinateur et aux techniques d’itérations.
N. B. Pour faire apparaître et utiliser une mini-application dans cette fenêtre, vous devez installer Wolfram CDF Player sur votre poste.
Pour dessiner l’ensemble de Mandelbrot, nous allons utiliser quelques instructions du langage de programmation de Mathematica. L’exécution d’un programme nécessite l’évaluation d’une séquence d’expressions. Dans les programmes simples, les expressions sont séparées par des points-virgules et évaluées l’une après l’autre. Mais, souvent, les expressions doivent être évaluées plusieurs fois dans une « boucle ». Les fonctions While et For permettent de créer de telles boucles.
While et For
Si vous souhaitez imprimer les entiers naturels de 1 à 9 par exemple, vous pouvez écrire :
ou encore :
La boucle continue jusqu’au moment ou la condition (i < 10) n’est plus vraie. Les fonctions While et For de Mathematica sont similaires à celles du langage de programmation C. Il y a toutefois des différences importantes : le rôle de la virgule et du point-virgule sont inversés dans Mathematica. While et For évaluent toujours le test de la boucle avant d’évaluer le corps. Si le test échoue, les instructions While et For se terminent. Le corps de la boucle n’est donc évalué que dans les situations pour lesquelles le test donne au moins une fois True.
Activités proposées
– Expliquez ce que fait l’instruction While dans la fonction mandelbrotC.
– Quels sont les tests utilisés par While dans cette fonction ?
– Combien d’arguments la fonction mandelbrotC reçoit-elle ? A quoi correspondent ces arguments ?
– Evaluez la fonction mandelbrotC en attribuant différentes valeurs aux arguments. Que retourne la fonction lorsqu’elle est évaluée ?
– Comment pourrait-on utiliser la fonction mandelbrotC pour dessiner l’ensemble de Mandelbrot ?
Ensemble de Mandelbrot : Les possibilités de représentation graphique sont multiples dans Mathematica : « Plot3D » par exemple permet une représentation en 3 dimensions.
– Que font les instructions Compile et Module ?
– Comparez le temps nécessaire pour dessiner l’ensemble de Mandelbrot avec une fonction compilée à celui requis lorsque la fonction n’est pas compilée.
Voir aussi, from Wolfram Demonstrations Project :
– Mandelbrot Set Doodle
– Mandelbrot Set Print
– Divergence from the Mandelbrot Set
– Julia Sets and the Mandelbrot Set
– Limited Mandelbar Sets