Das »Apfelmännchen« in JavaScript

Faszinierende Fraktalbilder im Browser erzeugt

[Fraktalgrafik-Generator] [Galerie] [Philosophisches] [Links] [Sitemap] [Die schöne Julia] [Malen nach Zahlen] [Spielwiese] [Retro-Apfel] [Kunst]

Die Mandelbrot-Menge

Wer kennt es nicht, das sogenannte »Apfelmännchen«, das berühmteste aller Fraktale, so genannt wegen seines unverkennbaren Aussehens? Vor allem wenn man in dessen Randbereiche "hineinzoomt", offenbaren sich einem Bilder von solcher Formenvielfalt und Farbenpracht, wie sie sich vermutlich kein Künstler ausdenken könnte...

Ich selber bin gegen Ende der 1980er Jahre auf das Thema Fraktale gestoßen – wahrscheinlich hatte ich in irgend einer Computerzeitschrift etwas darüber gelesen und wollte diese tollen Bilder unbedingt auch auf den Bildschirm zaubern. Mit dem C64 war das damals allerdings eine äußerst zeitaufwendige Angelegenheit: Für ein Bild von gerade mal 320×200 Pixeln benötigte ein in BASIC geschriebenes Programm geschlagene 24 Stunden! Ein später in Assembler geschriebenes Programm namens "Turbo-Apfel" (nomen est omen!) erledigte dieselbe Aufgabe dann in sagenhaften 4-5 Stunden...

An diesem Poster aus 9 zusammengeklebten und mit einem 8-Nadel-Drucker bedruckten DIN-A4-Blättern hat der arme C64 mehrere Nächte lang gerechnet:



1992 in meinem damaligen Zimmer mit »Apfelmännchen«-Poster an der Wand
 

Mehr zur "Historie" meiner frühen Versuche mit Fraktalgrafiken auf dem C64 und später dem DOS-PC findet sich an dieser Stelle.

Der JavaScript-Fraktalgrafik-Generator

Irgendwann Anfang der 1990er Jahre habe ich das Thema Fraktalgrafik-Programmierung wieder aus den Augen verloren. Mitte März 2017 bekam ich dann beim Durchblättern meiner alten Aufzeichnungen Lust, wieder an meine damaligen Versuche anzuknüpfen und ein »Apfelmännchen«-Programm für den PC zu tippen. Angefangen habe ich mit einem in C++ geschriebenen Programm, bin dann aber schnell zu JavaScript übergegangen, was auch den Vorteil hat, dass das Programm nicht erst umständlich compiliert oder auf dem Rechner installiert werden muss, sondern in jedem halbwegs modernen Web-Browser und zudem auch unter jedem gängigen Betriebssystem läuft. Anfangs hatte ich Zweifel, ob JavaScript dafür überhaupt schnell genug ist, aber ich war erstaunt, als das »Apfelmännchen« quasi "instantan" im Browser-Fenster erschien! Was damals auf dem C64 noch Stunden gedauert hat, geht selbst im Browser heute in Millisekunden (gut, bei sehr tiefen Zooms mit fünfstelligen Iterationszahlen und Kantenglättung durch Pixel-Interpolation etc. kann es dann auch schonmal einige Minuten dauern).

Gegenüber ähnlichen Programmen (siehe Links) weist mein JavaScript-Fraktalgrafik-Generator einige besondere Merkmale auf: Neben der standardmäßigen Zoom- und Ausschnittsvergrößerungs-Funktion gibt es auch eine History (ähnlich wie bei einem Web-Browser), Funktionen zum Verschieben des Ausschnitts sowie zum Speichern des erzeugten Bildes und zum Speichern und Laden der für die Bilderzeugung benutzten Parameter in einer Textdatei. Außerdem können Links erzeugt (und dann – wie das auf Neudeutsch so schön heißt – "geteilt") werden. Bei Aufruf eines solchen Links im Web-Browser wird der Fraktalgrafik-Generator dann mit den in der URL hinterlegten Fraktal- und Grafikparametern initialisiert und das Bild direkt im Browser gezeichnet.

Zum Starten des Fraktalgrafik-Generators einfach auf das folgende Bild klicken (es öffnet sich dann ein neues Browser-Fenster/-Tab):


Klicken zum Starten:

Bild oben: Die Konsole des JavaScript-Fraktalgrafik-Generators zur Eingabe der Parameter und zum Aufruf der Zeichen-Funktionen
 

Alle Erklärungen zur Bedienung (falls überhaupt erforderlich) befinden sich ebenfalls dort.

Hier einige mit dem JavaScript-Fraktalgrafik-Generator erzeugte Bilder. Durch Klick auf ein Vorschaubild öffnet sich der Fraktalgrafik-Generator in einem neuen Browser-Tab und zeichnet das Bild im Format 1200×900.

Solltest Du (der Leser dieser Seite) selbst ein schönes Bild im unendlich großen »Apfelmännchen-Universum« entdeckt haben, dann würde ich mich über einen entsprechenden Link freuen (hierzu einfach den Button "Link" im Generator anklicken und mir die URL mittels "Kopieren und Einfügen" per E-Mail schicken). Ich werde das Bild dann ggf. hier in die Galerie mit aufnehmen (und auf Wunsch Deinen Namen dazuschreiben und/oder Deine Webseite verlinken).

Das »Apfelmännchen« in der Gesamtansicht »Spirale« Dieselbe »Spirale« in Schwarzweiß-Darstellung
     
»Stern« »Baum« (erinnert das nicht an eine Birke?) »Gewitter«
     
»Miniapfel« »Tal der Seepferdchen« »Satellit«
     
»Julia in the Sky« (Julia-Menge) »Furry Julia Island« (lange Berechnungszeit!) »Feuerspinne« (lange Berechnungszeit!)
     
 
»Blüte« Maile mir einfach Deinen Fraktalgrafik-Generator-Link!  

Den Julia-Mengen, jenen punktsymmetrischen Gebilden, die einem beim Erkunden der Mandelbrot-Menge immer wieder begegnen, habe ich einen eigenen Artikel gewidmet.

Weitere Bilder gibt es auf der Spielwiese, dem Tummelplatz für Experimente mit dem »Apfelmännchen«.

»Philosophisches«

Was mich damals wie heute an den Mandelbrot-Fraktalen so fasziniert, ist die ungeheure und (je nach gewähltem Ausschnitt und Farbgebung) sehr ästhetische Formen-Vielfalt, die ja nicht von einem menschlichen Programmierer vorgegeben wurde, sondern das automatische Ergebnis einer äußerst einfachen Berechnung ist: Der Farbwert jedes Bildpunktes ist nichts weiter als das Ergebnis der einfachen Iterationsvorschrift  Zn+1 = Zn² + C  ist, wobei Z und C komplexe Zahlen sind. Jede Iteratiosfolge startet dabei mit Z0=0. Der Wert C ist konstant und entspricht dem Punkt auf der komplexen Zahlenebene, der dem zu berechnenden Bildpunkt zugeordnet ist. Da Computer nicht direkt mit komplexen Zahlen rechnen können, kann man diese Iterationsvorschrift auch für reelle Zahlen umschreiben, was dann z.B. so aussieht.

(Mehr über die genauen mathematischen Hintergründe des »Apfelmännchens« auf der Seite Malen nach Zahlen.)

Dass aus einer so einfachen und langweilig aussehenden Formel etwas so Schönes entstehen kann, erscheint mir als "mathematischem Laien" fast schon wie ein "Wunder", was mich auch schon früh zu der Frage nach einer möglichen tieferen Bedeutung mathematischer Prinzipien für »das Leben, das Universum und den ganzen Rest« geführt hat: Bereits bei meinen ersten Versuchen mit »Apfelmännchen«-Grafiken auf dem C64 um 1989 herum hatte ich entsprechende Überlegungen angestellt, wie diese handschriftliche Notiz von damals belegt:



Überlegungen zur Mandelbrotmenge
Mathematik als grundlegendes Element des Kosmos

(handschriftliche Notiz, 1 DIN-A4-Seite, ca. 1989)
 

Auf der neuerlichen Suche nach Antworten auf die Frage, ob die im Computer generierten Fraktale (insbesondere die Randgebiete der Mandelbrotmenge) nicht vielleicht mehr sein könnten als bloße mathematische Kuriositäten – ob dahinter nicht vielleicht ein universelles Prinzip steckt –, bin ich auf die Website von Gabi Müller gestoßen. Die Physikerin und ehemalige Heilpraktikerin hat eine Theorie entwickelt, nach der (sehr vereinfacht gesagt) alles Existierende aus fraktalen Wirbeln von Energie besteht. Als "Nichtphysiker" kann ich dieses Wirklichkeitsmodell hinsichtlich seiner Plausibilität zwar nicht beurteilen, aber es klingt auf jeden Fall ganz interessant und inspirierend.

Mit der zweidimensionalen Darstellung der Mandelbrot-Menge erhalten wir vielleicht nur einen winzigen Einblick in ein fundamentales Naturgesetz, das "hinter der Mathematik" steht...

Mit Google findet man jede Menge anderer Webseiten zu »Apfelmännchen«- bzw. Mandelbrot-Generatoren in JavaScript. Hier einige der interessanteren Seiten, die ich gefunden und kurz ausprobiert habe:

Fraktalgrafik-Generatoren in JavaScript

Theorie und Hintergrund zu Fraktalen

Hast oder kennst Du eine interessante Seite zu Fraktalen im Allgemeinen oder speziell zur Mandelbrotmenge, die in dieser Aufstellung noch fehlt? Dann schreibe mir eine E-Mail!

Sitemap

Um bei der zunehmenden Anzahl von Seiten und JavaScript-Anwendungen (Scripts) in dieser Rubrik nicht den Überblick zu verlieren, folgt hier eine hierarchische Übersicht aller Seiten und Scripts zum Thema Fraktalgrafik:

(Stand: 16.05.2017)


Homepage > Apfelmännchen in JavaScript