Übungsblatt Nr. 9

Aufgabe (20 Punkte)

Im Unterpunkt C++ Container und die vector Klasse der Standardbibliothek hatten wir mittels des C++-Programms Mandelbrot_1.cpp die Mandelbrot-Menge berechnet (siehe nebenstehende Abbildung). Lagern Sie den Kern-Algorithmus der Berechnung der Mandelbrot-Menge in eine C++ Klasse aus. Mittels der Argumentenliste des Konstruktors der Klasse sollte man dabei einfach den gewünschten Zahlenraum der komplexen Zahlen $c = x +i \cdot y \in ℂ$ der Mandelbrot-Menge auswählen können.
Überprüfen Sie ihr Programm, indem Sie die Berechnungen mit den im Unterpunkt C++ Container und die vector Klasse der Standardbibliothek dargestellten Ergebnissen vergleichen. Erstellen Sie hierzu ebenfalls ein Bild mittels des Python-Skripts Mandelbrot.py, wobei Sie eine andere Farbskalierung Ihrer Wahl verwenden sollten (siehe Choosing Colormaps in Matplotlib). Stellen Sie zusätzlich den folgenden Bereich der Mandelbrot-Menge in einer geeigneten Auflösung dar (Re(c)$=x \in [-0.74675, -0.74575]$ und Im(c)$=y \in [0.098, 0.0991]$).
Erzeugen Sie zuletzt, mittels matplotlib.animation, eine animierte Grafik (ein Video) das in einer Zoom-Bilder-Serie die Selbstähnlichkeit und Skaleninvarianz der Mandelbrot-Menge visualisiert (siehe z.B. das Video Mandelbrot Zoom Sequence).

Die Musterlösung der Aufgabe des Übungsblattes Nr. 9 finden Sie unter dem folgenden Link:
Musterlösung Übungsblatt Nr. 9