Différences entre les versions de « Programmation objet et géométrie/Les rectangles de canvas »

script de Yohannbec
(Annulation des modifications 446842 de CommonsDelinker (discussion))
(script de Yohannbec)
 
[[Fichier:figurecanvas6.svg]]
 
=Pixels vus comme rectangles=
 
Si la longueur et la largeur d'un rectangle font 1 pixel chacun, on peut remplir ce pixel seul avec un rectangle de dimensions 1 et 1.
 
==Ensemble de Mandelbrot==
 
Voici un code informatique pour dessiner l'[[w:ensemble de Mandelbrot|ensemble de Mandelbrot]] en Javascript dans le canvas, cette méthode va dessiner la fractale en entier :
 
<source lang="javascript">
var b = document.body;
var c = document.getElementsByTagName('theCanvas')[0];
var a = c.getContext('2d');
 
var w = c.width; // longueur du canvas
var h = c.height; // largeur du canvas
 
// Zoom pour dessiner la fractale dans tout le canvas
x1 = ((-2.1*w)/500);
x2 = ((0.6*w)/500);
y1 = ((-1.2*h)/250);
y2 = ((1.2*h)/250);
zm = 100; // valeur du zoom
im = 50; // nombre d'itération maximum
 
ix = (x2-x1)*zm;
iy = (y2-y1)*zm;
 
for(x=0;x<ix;x++){
for(y=0;y<iy;y++){
cr=x/zm+x1; //partie réelle du nombre complexe c
ci=y/zm+y1; // partie imaginaire du nombre complexe c
zr=0;
zi=0;
i=0;
 
do{
tmp = zr;
zr=zr*zr-zi*zi+cr; // partie réelle de Zn
zi= 2*tmp*zi+ci; // partie imaginaire de Zn
i++;
} while(zr*zr+zi*zi<4 && i<im);
if (i==im){
a.fillRect(x,y,1,1);
}
}
}
</source>
 
[[Catégorie:Programmation objet et géométrie]]
1 277

modifications