Wie könnte ich einen generierten Mandelbrot -Set vergrößern, ohne zu viele Ressourcen zu konsumieren?
Posted: 29 Apr 2025, 13:58
Ich versuche, eine Mandelbrot -Set -Anzeige mit dem folgenden Code zu erstellen: < /p>
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['toolbar'] = 'None'
def mandelbrot(c, max_iter):
z = 0
for n in range(max_iter):
if abs(z) > 2:
return n
z = z*z + c
return max_iter
def mandelbrot_set(xmin, xmax, ymin, ymax, width, height, max_iter):
r1 = np.linspace(xmin, xmax, width)
r2 = np.linspace(ymin, ymax, height)
n3 = np.empty((width, height))
for i in range(width):
for j in range(height):
n3[i, j] = mandelbrot(r1 + 1j*r2[j], max_iter)
return n3.T
# Settings
xmin, xmax, ymin, ymax = -2.0, 1.0, -1.5, 1.5
width, height = 800, 800
max_iter = 256
# Generate Mandelbrot set
mandelbrot_image = mandelbrot_set(xmin, xmax, ymin, ymax, width, height, max_iter)
# Window
fig = plt.figure(figsize=(5, 5))
fig.canvas.manager.set_window_title('Mandelbrot Set')
ax = fig.add_axes([0, 0, 1, 1]) # Fill the whole window
ax.set_axis_off()
# Show fractal
ax.imshow(mandelbrot_image, extent=(xmin, xmax, ymin, ymax), cmap='hot')
plt.show()
< /code>
Wie könnte ich den Fraktal kontinuierlich vergrößern, ohne zu viele Ressourcen aufzunehmen? Ich renne auf einem Mittelbereich-Laptop und es dauert derzeit lange, bis das Fraktal erzeugt wird. Gibt es eine schnellere Möglichkeit, dies bei der Implementierung einer Zoomfunktion zu tun?
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['toolbar'] = 'None'
def mandelbrot(c, max_iter):
z = 0
for n in range(max_iter):
if abs(z) > 2:
return n
z = z*z + c
return max_iter
def mandelbrot_set(xmin, xmax, ymin, ymax, width, height, max_iter):
r1 = np.linspace(xmin, xmax, width)
r2 = np.linspace(ymin, ymax, height)
n3 = np.empty((width, height))
for i in range(width):
for j in range(height):
n3[i, j] = mandelbrot(r1 + 1j*r2[j], max_iter)
return n3.T
# Settings
xmin, xmax, ymin, ymax = -2.0, 1.0, -1.5, 1.5
width, height = 800, 800
max_iter = 256
# Generate Mandelbrot set
mandelbrot_image = mandelbrot_set(xmin, xmax, ymin, ymax, width, height, max_iter)
# Window
fig = plt.figure(figsize=(5, 5))
fig.canvas.manager.set_window_title('Mandelbrot Set')
ax = fig.add_axes([0, 0, 1, 1]) # Fill the whole window
ax.set_axis_off()
# Show fractal
ax.imshow(mandelbrot_image, extent=(xmin, xmax, ymin, ymax), cmap='hot')
plt.show()
< /code>
Wie könnte ich den Fraktal kontinuierlich vergrößern, ohne zu viele Ressourcen aufzunehmen? Ich renne auf einem Mittelbereich-Laptop und es dauert derzeit lange, bis das Fraktal erzeugt wird. Gibt es eine schnellere Möglichkeit, dies bei der Implementierung einer Zoomfunktion zu tun?