Apfelmännchen selbst programmiert



Ähnliche Dokumente
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Professionelle Seminare im Bereich MS-Office

Oberstufe Mathematik - Fraktale Annika Maier, Anja Schmid; Abitur Fraktale

Zeichen bei Zahlen entschlüsseln

Primzahlen und RSA-Verschlüsselung

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

Informationsblatt Induktionsbeweis

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Lineare Funktionen. 1 Proportionale Funktionen Definition Eigenschaften Steigungsdreieck 3

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

1 Mathematische Grundlagen

Jede Zahl muss dabei einzeln umgerechnet werden. Beginnen wir also ganz am Anfang mit der Zahl,192.

Informatik Kurs Simulation. Hilfe für den Consideo Modeler

Berechnungen in Access Teil I

Plotten von Linien ( nach Jack Bresenham, 1962 )

5. Bildauflösung ICT-Komp 10

6.2 Scan-Konvertierung (Scan Conversion)

Terminabgleich mit Mobiltelefonen

Sollsaldo und Habensaldo

Alle gehören dazu. Vorwort

Erstellen von x-y-diagrammen in OpenOffice.calc

Lineare Gleichungssysteme

Info zum Zusammenhang von Auflösung und Genauigkeit

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Anleitung über den Umgang mit Schildern

Modellbildungssysteme: Pädagogische und didaktische Ziele

ZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht BREMERHAVEN. Der Zauberwürfel-Roboter. Paul Giese. Schule: Wilhelm-Raabe-Schule

Und was uns betrifft, da erfinden wir uns einfach gegenseitig.

Bilder zum Upload verkleinern

Microsoft Access 2013 Navigationsformular (Musterlösung)

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Woche 1: Was ist NLP? Die Geschichte des NLP.

Zahlen auf einen Blick

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

5.2 Neue Projekte erstellen

Das Leitbild vom Verein WIR

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

impact ordering Info Produktkonfigurator

ONLINE-AKADEMIE. "Diplomierter NLP Anwender für Schule und Unterricht" Ziele

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Leichte-Sprache-Bilder

Zwischenablage (Bilder, Texte,...)

Dieses erste Kreisdiagramm, bezieht sich auf das gesamte Testergebnis der kompletten 182 getesteten Personen. Ergebnis

Festigkeit von FDM-3D-Druckteilen

3. GLIEDERUNG. Aufgabe:

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

Grundlagen der Theoretischen Informatik, SoSe 2008

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Technische Analyse der Zukunft

Jeopardy and andere Quizformate im bilingualen Sachfachunterricht Tipps zur Erstellung mit Powerpoint

Kreativ visualisieren

1 topologisches Sortieren

DHBW Karlsruhe, Vorlesung Programmieren, Klassen (2)

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)

Erfahrungen mit Hartz IV- Empfängern

Gutes Leben was ist das?

Startseite, wenn Sie auf unseren Online-Shop gehen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

So gehts Schritt-für-Schritt-Anleitung

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

1. LINEARE FUNKTIONEN IN DER WIRTSCHAFT (KOSTEN, ERLÖS, GEWINN)

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

Farbtypen. Bedeutung von Farben 1. Drucken. Arbeiten mit Farben. Papierhandhabung. Wartung. Problemlösung. Verwaltung. Index

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Sowohl die Malstreifen als auch die Neperschen Streifen können auch in anderen Stellenwertsystemen verwendet werden.

Virtuelle Fotografie (CGI)

Lichtbrechung an Linsen

1. Einführung. 2. Alternativen zu eigenen Auswertungen. 3. Erstellen eigener Tabellen-Auswertungen

Mediator 9 - Lernprogramm

Gezielt über Folien hinweg springen

Im Original veränderbare Word-Dateien

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten!

Guide DynDNS und Portforwarding

Programmierung von Konturzügen aus Geraden und Kreisbögen

Computeria Rorschach Mit Excel Diagramme erstellen

1. Einführung. 2. Die Abschlagsdefinition

Geld Verdienen im Internet leicht gemacht

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar ZID Dezentrale Systeme

IRF2000 Application Note Lösung von IP-Adresskonflikten bei zwei identischen Netzwerken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Anmeldung und Zugang zum Webinar des Deutschen Bibliotheksverbandes e.v. (dbv)

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 3 1. Semester ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN

Mind Mapping am PC. für Präsentationen, Vorträge, Selbstmanagement. von Isolde Kommer, Helmut Reinke. 1. Auflage. Hanser München 1999

Anmeldung und Zugang zum Webinar des Deutschen Bibliotheksverbandes e.v. (dbv)

Was ich als Bürgermeister für Lübbecke tun möchte

Eine Logikschaltung zur Addition zweier Zahlen

Versetzungsgefahr als ultimative Chance. ein vortrag für versetzungsgefährdete

Animationen erstellen

Inhalt 1. Was wird gefördert? Bausparverträge

Gratis Excel SVERWEIS Funktions-Anleitung, Tutorial, ebook, PDF-E-Book

Professionelle Seminare im Bereich MS-Office

ARCO Software - Anleitung zur Umstellung der MWSt

Kostenstellen verwalten. Tipps & Tricks

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über

iloq Privus Bedienungsanleitung Schließanlagen Programmierung Version 1 - Copyright 2013

Bestellablauf Online Shop

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Transkript:

Apfelmännchen selbst programmiert Von Klaus G. Schröder In der Tat habe ich keine Zweifel, dass das Entzücken, wenn es messbar wäre, exakte mathematische Verhältnisse aufwiese. Edgar Allan Poe Als Benoit B. Mandelbrot 1980 zum ersten Mal auf seinem Computermonitor die heute nach ihm benannte Menge erblickte, ahnte er vermutlich nicht, dass er damit ein Objekt entdeckt hatte, das die Mathematik revolutionieren würde. Aus der Mandelbrotmenge, die im deutschsprachigen Raum auch den Namen Apfelmännchen trägt, entwickelte sich das Gebiet der experimentellen Mathematik, d.h. ein Gebiet der Mathematik, in dem Computerexperimente mit ihren grafischen Darstellungen im Mittelpunkt stehen. Die Mandelbrotmenge (s. Abb. 1 und 5) ist mittlerweile wohl das bekannteste Gebilde der mathematischen Computergrafik. Sie enthält einen faszinierenden unendlichen Formenreichtum, der zu immer neuen, sich nie wiederholenden Computerkunstwerken zusammengestellt werden kann. Abb. 1: Die Mandelbrotmenge, im deutschen Sprachraum auch "Apfelmänn chen" genannt. Da uns die mathematischen Eigenschaften der Mandelbrotmenge weniger interessieren, sei hier nur soviel bemerkt: Der Rand der Mandelbrotmenge ist ein Fraktal großer Komplexität, das - zumindest auf den ersten Blick - die Eigenschaft der Selbstähnlichkeit aufweist. So wiederholt sich z.b. die Apfelmännchen-

grundfigur unendlich oft in unterschiedlichen Verkleinerungsstufen auf ihrem Rand. Wenn man genauer hinsieht, bemerkt man jedoch jedes Mal geringfügige Änderungen. Das Grundprinzip für die Programmierung des Apfelmännchens ist verblüffend einfach: die Mandelbrotmenge ist eine grafische Darstellung des Verhaltens von Rekursionen an der Funktionenschar f(z) = z 2 c (1) für unterschiedliche Werte von c (bei Verwendung von f(z) = z 2 + c ergibt sich eine an der y-achse gespiegelte Grafik): d.h. der Wert, den die Funktion für ein vorgewähltes konstantes c und ein bestimmtes z liefert, wird erneut in die Funktion eingesetzt und liefert einen neuen Wert für z, der erneut in die Funktion eingesetzt wird, usw.. Aus der Entwicklung dieser Rekursion lässt sich dann die Farbe der Grafik an der zu c gehörenden Stelle ermitteln. Das einzige Problem für uns, um damit auch die erwähnten Computergrafiken zu erzeugen, ist dabei, dass z und c als komplexe Zahlen zu wählen sind. Komplexe Zahlen Die Rechnung mit komplexen Zahlen ist jedoch keineswegs so komplex wie der Name vermuten lassen könnte. Eine komplexe Zahl besteht aus zwei reellen (normalen) Zahlen, die zu einem Zahlentupel z = (x y) zusammengefasst sind, z.b. z 1 = (2,1 3) oder z 2 = (1,5-0,5), usw. Die erste Zahl im Tupel nennt man Realteil, die zweite Imaginärteil von z. Für zwei komplexe Zahlen z 1 = (x 1 y 1 ) und z 2 =(x 2 y 2 ) definiert man die Addition als: z 1 + z 2 := (x 1 + x 2 y 1 + y 2 ), (d.h. man addiert einfach getrennt die Realteile und die Imaginärteile der beiden komplexen Zahlen!) die Subtraktion als: z 1 - z 2 := (x 1 - x 2 y 1 - y 2 ) (auch hier werden einfach die Realteile und die Imaginärteile der beiden komplexen Zahlen getrennt subtrahiert!) und die Multiplikation als: z 1 z 2 := (x 1 x 2 y 1 y 2 lx 1 y 2 + x 2 y 1 ) (diese Operation ist also tatsächlich komplexer!). Zusätzlich definiert man noch den Betrag einer Zahl z = (x y) als: 2 z = x + y 2. Mit unseren Beispielen ist somit z 1 +z 2 = (2,1+1,5 3+(-0,5)) = (3,6 2,5), z 1 -z 2 = (2,1-1,5 3-(-0,5)) = (0,6 3,5), z 1 z 2 = (2,1 1,5-3 (-0,5) 12,1 (-0,5) + 1,5 3) = (4,65 3,45), z 1 = ( 2,1)² + 3² = 13, 41 = 3,66196... und z 2 = 2, 5 = 1,58113....

Die Programmierung des Apfelmännchens Mit diesem Wissen führen wir nun unsere Rekursion an (1) durch: Als ersten Schritt denken wir uns dazu eine Koordinatenebene im Bereich -1 x 2. und -1 y. 1 in unserem Grafikbereich dargestellt. Aus dieser Ebene wählen wir zunächst einen Punkt aus und nehmen dessen x und y Koordinaten als Realbzw. Imaginärteil für die Komplexe Zahl c in (1). Mit dem Startwert z o = (0 0) beginnen wir dann die Rekursion: - 1.0 0,5 o -o,5.1,0-0,5 Abb. 2: So liegt das "Apfelmännchen" in der komplexen Ebene Haben wir z.b. c = (0,2 0,3) gewählt, so lautet die der Rekursion zugrunde liegende Funktion f(z) = z 2 - (0,2 0,3), und es ergibt sich nach dem ersten Rekursionsschritt mit z o = (0 0) Nach dem zweiten Schritt: Nach dem dritten Schritt: z 1 = f(z o ) = f((0 0)) = (0 0)²-(0,2 0,3) = (-0,2-0,3). z 2 = f(z 1 ) = f ((-0,2-0,3)) = (-0,2-0,3) 2 -(0,2 0,3) = (0,04-0,09 0,06+0,06)-(0,2 0,3) = (-0,25-0,18). z 3 = f(z 2 ) = (-0,25I-0,18) 2 -(0,2 0,3) = (-0,1699-0,255), usw..

Tabelle: Rekursionen an f(z) = z 2 -c c = (1 0,5): n z n f(z n ) f(z n ) 0 (0 0) (-1-0,5) 1,118033 1 (-1-0,5) (-0,25 0,5) 0,559016 2 (-0,25 0,5) (-1,1875-0,75) 1,404512 3 (-1,1875-0,75) (-0,15234 1,28125) 1,290275 4 (-0,15234 1,28125) (-2,61839-0,89038) 2,765639 Abbruchbedingung f(z n ) 2 bei n=4 erreicht c gehört nicht zur Mandelbrotmenge! c = (0,5 0,3): n z n f(z n ) f(z n ) 0 (0 0) (-0,5-0,3) 1 (-0,5-0,3) (-0,34 0) 0,34 2 (0,34 0) (-0,3844-0,3) 0,487609 3 (-0,3844-0,3) (-0,44223-0,06936) 0,447642 4 (-0,44223-0,06936) (-0,30923-0,23865) 0,390618 100 (-0,38254-0,16996) (-0,38254-0,16996) 0,418603 Abbruchbedingung n 100 erreicht! c wird als zur Mandelbrotmenge gehörig angenommen! Tabelle 1: Zahlenwerte für die Rekursion an f(z)=z 2 -c für ein c außerhalb der Mandelbrotmenge (oben) und ein c innerhalb (unten).

Beobachten wir die sich ergebenden Rekursionswerte in Abhängigkeit von der Anzahl der durchgeführten Rekursionsschritte, so ergeben sich zwei Verhaltensweisen (s. Tabelle 1), über die wir unser Apfelmännchen definieren: - entweder das von uns gewählte c gehört zur Mandelbrotmenge, wenn die Rekursionswerte trotz unendlich vieler Rekurslonsschritte weiter im oben angegebenen Ebenenausschnitt liegen, - oder die Rekursionswerte entweichen aus dem oben angegebenen Ebenenausschnitt ins Unendliche, dann gehört das von uns gewählte c nicht zur Mandelbrotmenge. Im ersten Fall färben wir den zu c gehörenden Ebenenpunkt mit einer Farbe ein, im zweiten Fall mit einer anderen. Wenn wir auf diese Weise den ganzen auf dem Monitor dargestellten Ebenenbereich mit unseren c's "durchfahren", so erhalten wir die Apfelmännchenfigur. Weil wir in der Praxis natürlich nicht unendlich viele Rekursionsschritte durchführen können, müssen wir Abbruchbedingungen für unsere Rekursion einführen. Hierbei hilft uns ein mathematischer Satz, der besagt, dass ein Rekursionswert, dessen Betrag größer als 2 ist, auf jeden Fall gegen unendlich streben wird. Wir können unsere Rekursion also auf jeden Fall abbrechen, falls der Betrag des aktuellen Rekursionswerts größer als 2 ist, da dann das oben beschriebene zweite Verhalten gilt und das gewählte c nicht zur Mandelbrotmenge gehört. Wird der Betrag des Rekursionswertes trotz hoher Rekursionsschrittzahl nicht größer als 2, so begrenzen wir die Rekursion durch die Vorgabe einer maximalen Schrittzahl n max (z. B. 100) und nehmen das erste Verhalten an. d.h. wir klassifizieren das ausgewählte c als zur Mandelbrotmenge gehörig. Da im Randbereich der Mandelbrotmenge das Verhalten der Rekursion erst nach sehr hoher Rekursionsschrittzahl definitiv zu beurteilen Ist, nähert das mit dieser Methode erhaltene Apfelmännchen im Randbereich die theoretische Mandelbrotmenge nur an. Für die uns interessierenden computergrafischen Anwendungen ist dieses Verfahren aber völlig ausreichend, zumal es sich durch Erhöhung von n max auf beliebige (nur durch die Rechenzeit begrenzte) Genauigkeit steigern lässt. Das "Durchfahren" der auf dem Monitor dargestellten Ebene mit dem in (1) benötigten c wird man natürlich so einrichten, dass man z. B. mit c = (-1 1) in der linken oberen Ecke der Grafik anfängt und dann zunächst den Realteil von c mit einer solchen Schrittweite erhöht, dass bei der Darstellung des um einen Schritt erhöhten c's genau das nächste Pixel auf dem Bildschirm getroffen wird. Wollen wir also z. B. eine Darstellung von 640 Pixels (d. h. 639 Pixelzwischenräume) in x- Richtung und soll die rechte obere Ecke der Grafik c = (2 1) darstellen, so wählen wir den Erhöhungsschritt DeltaX für den Realteil als (2-(-1)):639 = 3/639 = 0,004695. Wir erhalten auf diese Weise also für die erste Bildschirmzeile durch weiteres schrittweises Erhöhen des Realteils 640 c's, für die wir jeweils unsere Rekursion durchführen müssen.

Abb. 3: Schematische Darstellung des Enstehungsprozesses der Mandelbrotmengengrafik

Abb. 4: Struktogramm für einen Algorithmus zur Programmierung der Mandelbrotmengengrafik Für die zweite Bildschirmzeile wiederholen wir dieses Verfahren mit c's, deren Imaginärteil um DeltaY vermindert worden ist. DeltaY ergibt sich aus dem Bereich von c, der auf der imaginären Achse dargestellt werden soll, geteilt durch die Gesamtanzahl der von uns vorgesehenen Pixels pro Spalte. Verwenden wir z.b. die 480 Pixel des VGA Standards in y-richtung und soll in der unteren linken Ecke c = (2-1) dargestellt werden, so Ist DeltaY = (1-(-1)):479 = 2/479 = 0,0041754.

Abb. 5: Eine Zoomfahrt durch Mandelbrotmengengrafik: Die angegebenen Ausschnitte werden jeweils auf dem nachfolgendem Bild rechnerisch vergrößert wiedergegeben. Die Selbstähnlichkeit erkennt man gut in der letzten Grafik, die wieder eine Apfelmännchenfigur darstellt. (Bilder aus Wikipedia 10. 02. 2007).

Abb. 6: Gleicher stark vergrößerter Ausschnitt aus der Mandelbrotmengengrafik mit unterschiedlicher maximaler Iterationszahl nmax. Man sieht deutlich die Verfeinerung der Strukturen mit steigenden nmax. Um die dritte und weitere Bildschirmzeilen zu erhalten, muss man den Imaginärteil von c erneut jeweils um DeltaY vermindern und den Realteil in der angesprochenen Weise "durchfahren". Man erhält so für die 640x480 = 307200 Pixels der Grafik je ein c und muss für jedes einzelne die angesprochene Rekursion durchführen. Um die grafische Wirkung zu erhöhen, kann man zusätzlich die Anzahl n der benötigten Rekursionsschritte mitzählen, bis der Betrag des laufenden

Rekursionsergebnisses den Wert 2 übersteigt (und damit die Abbruchbedingung erreicht Ist), und den zum jeweiligen c gehörenden Ebenenpunkt in Abhängigkeit von dem ermittelten zugehörigen n mit unterschiedlichen Farben oder Graustufen (s. Abb. 1 und 5) einfärben. Die Farben können dabei natürlich auch ganzen n- Bereichen (z. B. n zwischen 1 und 5, 6 und 10, 11 und 15, usw.) zugeordnet werden. Die Bereiche (die auch nicht unbedingt gleich groß sein müssen) und Ihre Farbgebung lassen sich am besten durch eigene Experimente am Computer auf den persönlichen Geschmack abstimmen. Zoomen Die ungeheure Komplexität und Vielfalt, die den Reiz der Apfelmännchengrafiken ausmacht, zeigt sich allerdings erst, wenn man Ausschnittsvergrößerungen aus dem Randbereich der Mandelbrotmenge betrachtet. Schon ein fester Randabschnitt liefert dabei allein durch das Verändern des Vergrößerungsfaktors (das "Zoomen") immer neue Grafiken (s. Abb. 5). Ausschnitte aus weit entfernten Abschnitten und aus dem Inneren der Mandelbrotmenge sind allerdings einfarbig und damit computergrafisch uninteressant. Das Herstellen einer Vergrößerung ist recht einfach: Wir schränken einfach den auf dem Bildschirm dargestellten Bereich der Koordinatenebene, aus der wir unsere c's wählen, ein. So können wir z.b. statt des Ausschnitts -1 x 2 auf der reellen Achse und -1 y 1 auf der imaginären Achse, der uns auf dem Bildschirm das ganze Apfelmännchen liefert, nur den Bereich 0,85585 x 0,85661 und 0,21168 y 0,21121 (s. Abb. 5) bildschirmfüllend darstellen, der uns einen Ausschnitt aus dem Bereich der Einschnürung zwischem dem "Kopf" und dem "Körper" des Apfelmännchens liefert. Da die Gesamtanzahl der darzustellenden Pixels konstant ist, müssen wir dazu im Programm nur den Startwert für c (den c- Wert für die linke obere Ecke) und DeltaX und DeltaY verändern. In der Regel gilt jedoch: Je kleiner der betrachtete Ausschnitt der Mandelbrotmenge ist (d. h. je höher die Vergrößerung), desto größer muss die maximale Iterationszahl n max werden, um noch Feinheiten in den Strukturen erkennen zu können (s. Abb. 6). Dabei steigt natürlich die Rechenzeit mit der Erhöhung von n max an, so dass bei größeren Werten von n max auch einige Minuten Rechenzeit keine Seltenheit sind. Es bietet sich an, vor Erstellung der endgültigen Grafik zunächst mit einer geringeren maximalen Iterationszahl einen Schnelldurchlauf durchzuführen, um Ausschnitt und Farben zu kontrollieren. Wer nicht alles selbst programmieren will kann zum Experimentieren auch auf Fraktalprogramme aus dem Internet zurückgreifen. Bei (http://spanky.triumf.ca/www/fractint/fractint.html) gibt es Fractint, den Klassiker unter den Fraktalprogrammen. Das Freewareprogramm, dem man sein Alter aber mittlerweile etwas anmerkt, liegt in Version 20.0 vor. Moderner, aber leider kostenpflichtig (trial-version kostenlos) ist Ultra Fractal (http://www.ultrafractal.com/), das wirklich keine Wünsche offen lässt. Es lohnt sich jedoch in jedem Fall, dass Apfelmännchen einmal selbst programmiert zu haben, denn nur so lernt man die wirkliche Bedeutung aller Parameter kennen, die beim Einsatz dieser sehr vielschichtigen Programme verändert werden können.

Ausblicke Apfelmännchengrafiken lassen sich auf sehr vielfältige Arten noch weiter variieren. Wir möchten hier nur ein paar Anregungen für weitere computergrafische Experimente mit der Mandelbrotmenge geben ohne auf ihre Ausführung im Detail einzugehen: - die Abänderung der Rekursionsformel (1) z. B. in: f(z) = z 3 + c oder anders führt zu Verwandten der Mandelbrotmenge mit anderem grafischen Charakter. - durch "Scrollen" der Farben auf dem Bildschirm, nachdem die Zeichnung abgeschlossen ist, lassen sich Animationseffekte erzielen. - dreidimensionale Effekte lassen sich erzielen, wenn man in Abhängigkeit von dem n des Rekursionsabbruches nicht nur die Farbe zuordnet, sondern auch einen entsprechend langen Balken in dieser Farbe nach unten zeichnet. Man beginnt dabei in der oberen linken Ecke des Bildschirms und übermalt mit den Balken unterer (nachfolgender) Zeilen die bereits vorhandenen. - weitere Darstellungsmöglichkeiten ergeben sich dadurch, dass man den für die beiden Achsen andere Zuordnungen trifft. Man könnte z.b. statt des Real- und Imaginärteils von c, den Achsen auch den Realteil von c und den Realteil von z n bei erreichen der Abbruchbedingung zuordnen und einzeichnen lassen. Literatur und Internet [1] Heinz-Otto Peitgen, Hartmut Jürgens, Dietmar Saupe; Fractals for the Classroom: Part 1: Introduction to Fractals and Chaos; Springer-Verlag; Heidelberg 1994 [2] Heinz-Otto Peitgen, Hartmut Jürgens, Dietmar Saupe; Fractals for the Classroom: Part Two: Complex Systems and Mandelbrot Set; Springer- Verlag; Heidelberg 1998 [3] Karl H Becker, Michael Dörfler; Dynamische Systeme und Fraktale. Computergrafische Experimente mit Pascal; Vieweg; Braunschweig 1989 [4] Wikipedia: http://de.wikipedia.org/wiki/mandelbrotmenge (10. 02. 2007) [5] http://www.ultrafractal.com/ (Gute Fraktal-Software, leider kostenpflichtig!) [6] http://spanky.triumf.ca/www/fractint/fractint.html (Die klassische Fraktal-Soft ware Version 20.0!, Freeware, Vielleicht mittlerweile etwas veraltet)

Aufgaben 1 Schreiben Sie in einer Ihnen bekannten Programmiersprache Module, die a) die Addition und Subtraktion von komplexen Zahlen, b) die Multiplikation von komplexen Zahlen, c) die Betragsbildung einer komplexen Zahl durchführen und testen Sie sie aus, indem Sie zusätzlich ein kleines Hauptprogramm schreiben. 2 Schreiben Sie ein Programm, das unter Einbeziehung der Prozeduren aus 1 die Rekursionen in Tabelle 1 nachvollzieht. 3 Schreiben Sie ein Programm, das die Mandelbrotmenge in einer schwarz-weiß- (bzw. grün-weiß o.ä.) Darstellung auf den Bildschirm zeichnet. Hinweis: Sie können dazu das Struktogramm aus Abb. 4 und Teile der Aufgaben 1 und 2 verwenden. 4 Erweitern Sie das -Programm aus Aufgabe 3, so dass in Abhängigkeit von der Anzahl der Rekursionen n bis zum erreichen der Abbruchbedingung l z 2 verschiedene Farben (Graustufen) auf dem Bildschirm dargestellt werden. Vorbild sind hierfür die Abbildungen 5 und 1. Experimentieren Sie dabei mit der Zuordnung der Farben. Insbesondere sollten Sie auch Versuche mit der Zuordnung von Farben zu ganzen Bereichen von n vornehmen. (Ihrer Phantasie sind kaum Grenzen gesetzt.) 5 Erweitern Sie das Programm aus Aufgabe 4, so dass die beschriebenen Zoomdarstellungen möglich werden. Sehen Sie dabei auch eine Möglichkeit vor, die maximale Rekursionsanzahl zu verändern. 6 Experimentieren Sie mit "Verwandten" der Mandelbrotmenge. Schreiben Sie z. B. ein Programm zur grafischen Darstellung der komplexen Rekursion an der Funktionenschar f(z) = z 3 + c.