Mandelbrot

En mathématiques, l'ensemble de Mandelbrot est une fractale définie comme l'ensemble des points c du plan complexe pour lesquels la suite de nombres complexes définie par récurrence par :.

$$ z_0 = x+i*y \\ z_{n+1} = z_n^2+c $$ Avec $$ c= x+i*y$$
Portfolio
Portfolio
Portfolio
Portfolio

Implémenataion

Avec Matlab


function iter=fractale_mandelbrot(x,y,Nbmax_iter)
    zn=x+i*y;
    for iter=0:Nbmax_iter
    zn=zn^2+x+i*y;
        if abs(zn)>2 
            break
        end
    end
end
                    

Avec Python (Source)


def Mandelbrot(x,y,max_iter):
    z_x=x
    z_y=y
    for nb_iter in range(max_iter+1):
        z_tx=z_x
        
        z_x=(z_x*z_x)-(z_y*z_y)+x
        z_y=2*z_tx*z_y+y

        if (z_x*z_x+z_y*z_y)>4:
            break
    return nb_iter
                    

Avec Javascript Demo 1 (Source 1) Demo 2 (Source 2)


function Mandelbrot(x, y) {
	var iter = 0;
	
	var zReal = 0;
	var zImag = 0;
	var zRealTmp = 0;
	
	var X_pos=coordComplex(x, true);
	var Y_pos=coordComplex(y, false);
	
	var p=Math.sqrt((x-(1/4))*(x-(1/4))+y*y)
	var p2=p-2*p*p;
	
	var d=(x+1)*(x+1)+y*y;
	
	if (X_pos < p2 || d<1/16)
	{
		return maxIter;
	}
	
	
	while (zReal * zReal + zImag * zImag < 4 && iter <= maxIter) {
		zRealTmp = zReal;
		zReal = zReal * zReal - zImag * zImag + coordComplex(x, true);
		zImag = 2 * zRealTmp * zImag + coordComplex(y, false);
		iter++;
	}
	return iter;
}