Le concept
L'ensemble de Mandelbrot est défini par l'itération z = z² + c dans le plan complexe. Pour chaque point c, si la suite diverge rapidement, le point est à l'extérieur (coloré selon la vitesse de divergence). Sinon, il est dans l'ensemble (noir). Le résultat est une fractale d'une complexité infinie à toute échelle.
Le code
// Mandelbrot set
function setup() { createCanvas(400, 280); pixelDensity(1); noLoop(); }
function draw() {
loadPixels();
for (let px=0;px<width;px++) for (let py=0;py<height;py++) {
let x0=map(px,0,width,-2.5,1), y0=map(py,0,height,-1.2,1.2);
let x=0,y=0,i=0;
while(x*x+y*y<4&&i<80){let t=x*x-y*y+x0;y=2*x*y+y0;x=t;i++;}
let c=map(i,0,80,0,255); let idx=(py*width+px)*4;
pixels[idx]=c*0.2;pixels[idx+1]=c*0.7;pixels[idx+2]=c*0.9;pixels[idx+3]=255;
}
updatePixels();
}Pour aller plus loin
Explorez les autres cours gratuits sur la page Apprendre, ou réservez un appel pour discuter de votre projet.
Envie d'aller plus loin ?
Réserver un appel découverte →