
L’insieme di Mandelbrot o frattale di Mandelbrot è l’insieme dei numeri complessi c \in \displaystyle{C} per i quali la successione definita da:
è limitata.
Nonostante la semplicità della definizione, l’insieme ha una forma complessa il cui contorno è un frattale.
Qui, la funzione per la costruzione della matrice da diagrammare:
1 2 3 4 5 6 7 8 | def plotter(n, vallim, itlim, xi,xs,yi,ys): image = np.full((n,n), 0 ) Xp = np.linspace(xi,xs,n) Yp = np.linspace(yi,ys,n) for x in range (n): for y in range (n): image[y][x] = divergetest( complex (Xp[x],Yp[y]),vallim, itlim) return image |
Di seguito, invece, la routine per verificare la convergenza della successione:
1 2 3 4 5 6 7 | def divergetest(c, vallim, itlim): z = c i = 0 while i < itlim and np.sqrt((z.real) * * 2 + (z.imag) * * 2 )< vallim: z = z * * 2 + c i = i + 1 return i |
Il programma principale:
1 2 3 4 5 6 7 8 9 10 11 12 | n = 5000 xi,xs,yi,ys = - 3 , 1 , - 2 , 2 vallim = 5 itlim = 30 mandelbrot = plotter(n,vallim,itlim,xi,xs,yi,ys) plt.figure( 1 ,figsize = [ 8 , 8 ]) plt.title( 'Mandelbrot Set' ) plt.imshow(mandelbrot,extent = [ - 3 , 1 , - 2 , 2 ]) plt.xlabel( 'Real' ) plt.ylabel( 'Complex' ) plt.show() |
Di seguito, l’output del programma:
