13Fermer15
HippopotameLe 26/03/2008 à 15:43
De plus, quand je dis que l'image est fabriquée par bloc, j'ai l'impression que ça avance diagonalement comme ceci, mais pas toujours exactement de la même manière:


Dans le temps j'avais programmé ça sur HP48.

Par exemple, disons qu'on veut dessiner l'ensemble de Mandelbrot (ou un ensemble de Julia connexe):

1) On peut tester (avec une bonne approximation) si un point appartient à l'ensemble : il suffit de voir si la suite z(n+1)=z(n)^2+c diverge (en voyant si son module dépasse une certaine borne B en moins d'un certain nombre N d'itérations).

2) Si tous les points des quatre côtés d'un rectangle sont dans l'ensemble, alors tout l'intérieur du rectangle est dans l'ensemble.
Si tous les points des quatre côtés d'un rectangle (pas trop grand le rectangle) sont à l'extérieur de l'ensemble, alors tout l'intérieur du rectangle est à l'extérieur de l'ensemble.

Donc l'algorithme est :
On part d'un rectangle qui couvre toute l'image qu'on veut dessiner. On calcule tous les points des bords. S'ils sont tous à l'intérieur, ou tous à l'extérieur du Mandelbrot, on remplit uniformément le rectangle. Sinon on coupe le rectangle en deux et on continue récursivement, jusqu'à ce que le rectangle soit réduit à un pixel.

C'est pas trop compliqué à programmer et ça économise une grosse quantité de calcul.