import matplotlib.pyplot as plt
import numpy as np
def mandelbrot_set(width, height, zoom=1, x_off=0, y_off=0, niter=256):
w,h = width, height
pixels = np.arange(w*h, dtype=np.uint16).reshape(h, w)
for x in range(w):
for y in range(h):
zx = 1.5*(x + x_off - 3*w/4)/(0.5*zoom*w)
zy = 1.0*(y + y_off - h/2)/(0.5*zoom*h)
z = complex(zx, zy)
c = complex(0, 0)
for i in range(niter):
if abs(c) > 4: break
c = c**2 + z
color = (i << 21) + (i << 10) + i * 8
pixels[y,x] = color
return pixels
def display(width=1024, height=768, zoom=1.0, x_off=0, y_off=0, cmap='viridis'):
pixels = mandelbrot_set(width, height, zoom=zoom, x_off=x_off, y_off=y_off)
plt.axis('off')
plt.imshow(pixels, cmap=cmap)
plt.show()
#display(zoom=2.0, x_off=-300)
display(cmap='magma')
Zurück zur Kurseinheit: 01 Variablen