Fraktalgenerator

Tierazon Bildschirmfoto

Ein Fraktalgenerator ist eine Software zur grafischen Darstellung von Fraktalen. Je nach Art des Fraktals werden dabei unterschiedliche Algorithmen verwendet. Die am häufigsten verwendeten Methoden sind die iterierten Funktionensysteme, die durch affine Abbildungen beschrieben werden, Lindenmeyer-Systeme oder der Fluchtzeit-Algorithmus für Mandelbrot- und Juliamengen.

Schnelle Fraktalgeneratoren berechnen nicht nur festgelegte Ausschnitte, sondern ermöglichen weiches Zoomen und „Fliegen“ in der grafischen Darstellung, die dabei kontinuierlich neu berechnet wird.

Geschichtlicher Hintergrund

Mandelbrot-Menge (Detail) generiert mit Fractalizer

Als Ende der 1970er Jahre die Bedeutung der fraktalen Geometrie für die Computergrafiktechnik erkannt wurde, stieg das Interesse von Grafikern und Informatikern daran, doch auch mathematische Laien fanden an den ästhetisch reizvollen Fraktalen Gefallen. Größte Bekanntheit erlangte die Mandelbrot-Menge, deren grafische Darstellung auch Apfelmännchen genannt wird. Die Entwicklung der Heimcomputertechnik unterstützte die Verbreitung entsprechender Software.

Bekannte Fraktalgeneratoren

Auf dem PC

Screenshot eines fraktalen Algorithmus (Akura Pare), gerendert in Mandelbulb 3D.

Bekannt sind auf dem PC die Programme Xaos, Fractint und Fractalizer. Das Open-Source-Programm Xaos ist auf Schnelligkeit optimiert, sodass man in Echtzeit hinein- und herauszoomen kann. Fractalizer ist eine deutsche Produktion.

Julia-Menge generiert mit Fractalizer

Die meisten Fraktalgeneratoren rendern die Ausgabedaten in 2D auf einer X und Y Achse. Mit vielen Programmen kann man Animationen erstellen, in denen man in die jeweilige Fraktal-Funktion herein- oder herauszoomen und sich auf der X und Y Achse bewegen kann.

Mandelbrot-Menge generiert mit Fractalizer
Detailansicht einer Variante der Mandelbulb, gerendert in Mandelbulber

Eine weitere Darstellungsmethode ist das Rendern einer Mandelbox oder ähnlichen Fraktalen Algorithmen auf drei Achsen in 3D. Dabei wird ein bestimmter Fraktal-Algorithmus auch räumlich dargestellt. Die wohl bekanntesten Programme zu diesem Zweck nennen sich Mandelbulb 3D oder MB3D und Mandelbulber. Mit dieser Software ist es möglich, Einzelbilder und Animationen dieser räumlichen Fraktale zu erstellen, zu speichern und für die elektronische Weiterverarbeitung vorzubereiten. Es gibt in diesen Programmen die Möglichkeit den Kamera Standpunkt durch Tasten und Mausnavigation im Fraktal selbst fest zu legen und verschiedene Sets (also gerenderte Figuren) ineinander zu morphen. Kamerafahrten werden dabei durch das setzten von Keyframes ermöglicht. Auch können Tiefeninformationen des Z-Buffers für Verdeckungsberechnungen extra gespeichert werden um zum Beispiel in anderer 3D-Software bei der Kombination diverser 3D Animations Techniken weiterverarbeitet zu werden.

Mandelbrot-Menge mit negativer Potenz in positiver Darstellung generiert aus Web-App von Ingo Sturm
(c) Dipl.-Ing. Ingo Sturm, CC BY-SA 4.0
Mandelbrot-Menge mit negativer Potenz in positiver Darstellung

Eine weitere Möglichkeit zur Visualisierung von komplexen Mengen wie Mandelbrot- und Julia-Mengen besteht in nativ mit JavaScript programmierten Web-App's[1] mit 2D Canvas. Die individuelle Programmierung ermöglicht die Auswahl verschiedener Darstellungsformen mit wählbarer Genauigkeit für beliebige positive und negative Exponenten m der iterativen komplexen Folge:

Mandelbrot-Menge zur vierten Potenz in Counter-Darstellung generiert mit Web-App von Ingo Sturm
(c) Dipl.-Ing. Ingo Sturm, CC BY-SA 4.0
Mandelbrot-Menge zur vierten Potenz in Counter-Darstellung

Darstellungsformen

  • positiv: Die x/y-Punkte der begrenzten komplexen Folgen werden entsprechend der benötigten Anzahl von Iterationszyklen (Counter) bis zur Konvergenz unterschiedlich farblich dargestellt. Z.B.: differenziert nach geraden bzw. ungeraden Counter der die Farbe und/oder Farbbrillanz beeinflußt.
  • counter: Die x/y-Punkte werden in Abhängigkeit vom Counter unterschiedlich farblich dargestellt. Z.B.: <100 weiß,<1000 grau, <10000 grün und ab 10001 rot als Markierung von alternierenden Iterationen. Die wertmäßig unbegrenzten Iterationen bilden einen blauen Bildhintergrund.
  • negativ: Nur die x/y-Punkte, die wertmäßig unbegrenzte Iterationen für auslösen, werden farblich markiert und ergeben einen attraktiven Bildhintergrund dessen Transparenz durch die Genauigkeit (Anzahl Pixel pro Bildpunkt) gesteuert werden kann.
    Julia-Menge generiert aus Mandelbrot-Menge zur zweiten Potenz in negativer Darstellung generiert mit Web-App von Ingo Sturm
    (c) Dipl.-Ing. Ingo Sturm, CC BY-SA 4.0
    Julia-Menge in positiver Darstellung generiert aus Mandelbrot-Menge zur zweiten Potenz in negativer Darstellung

Spezielle Funktionalitäten

Die Generierung von Julia-Mengen abgeleitet aus der c-Menge (alle c-Punkte begrenzter komplexer Folgen: ) nach Mandelbrot ist leicht zu programmieren durch die Belegung entsprechender Events wie Doppelklick etc.

(c) Dipl.-Ing. Ingo Sturm, CC BY-SA 4.0
Visualisierung einer einzelnen Iterationsfolge der komplexen Funktion

Ebenso einfach ist die grafische Darstellung einzelner Iterationszyklen von für x/y-Punkte auszuführen. Dafür eignet sich eine spezielle Darstellungsform single.

Andere Architekturen

Julia-Menge gerendert durch das Programm Fractal Zoomer auf einem Texas Instruments Nspire CX II-T CAS.
Fraktal Rendering durch native LUA-engine

Fraktalgeneratoren existieren für sehr viele programmierbare Taschenrechner auf denen sie gerne zum Benchmarking des Systems oder bestimmter Teile davon benutzt werden. Die Hersteller von Taschenrechnern bieten in der Regel verschiedene Scriptsprachen wie Lua, Python, oder auch System spezifischen Assembler, proprietäre Sprachen wie TI-Basic oder HP-PPL oder C sowohl nativ als auch durch Modifikationen zum programmieren durch den Benutzer an. Diese Programmiermethodiken können erheblich in ihrer Ausführungsgeschwindigkeit variieren. Es gab sie bereits für ältere Taschenrechner mit Monochromdisplay (zum Beispiel für den Texas Instruments Voyage 200) und vergleichbar geringer Hardware Ausstattung Fraktalgeneratoren.

Auf aktuellen grafischen, programmierbaren Taschenrechnern wie aus der TI-Nspire Serie, den HP Prime Taschenrechner Versionen und auf den Rechnern des französischen Herstellers NumWorks wurden Fraktalgeneratoren programmiert.

Weblinks

Einzelnachweise

  1. Ingo Sturm: Web-App zur Visualisierung von Mandelbrot- und Juliamengen. Abgerufen am 23. September 2021.

Auf dieser Seite verwendete Medien

Mandelbrot-Menge mit negativer Potenz in positiver Darstellung.png
(c) Dipl.-Ing. Ingo Sturm, CC BY-SA 4.0
Mandelbrot-Menge zu in positiver Darstellung: Die rote Hypozykloide sind c-Punkte alternierender komplexer Folgen, die grün/violette Umgebung sind Konvergenzen mit geraden/ungeraden Iterationszyklen
Julia-Menge.jpg
Autor/Urheber: Daniel Toschläger, Lizenz: CC BY-SA 4.0
Julia-Menge generiert mit Fractalizer
Mandelbrot render Ti Nspire.ogg
Autor/Urheber: Daniel Toschläger, Lizenz: CC BY-SA 4.0
Ti Nspire Fraktal Rendering durch LUA engine
Mandelbrot-Menge.jpg
Autor/Urheber: Daniel Toschläger, Lizenz: CC BY-SA 4.0
Mandelbrot-Menge generiert mit Fractalizer
Tierazon3921.jpg
Screen shot of Tierazon program
FractalZoomer Julia.jpg
Autor/Urheber: Daniel Toschläger, Lizenz: CC BY-SA 4.0
Julia Menge gerendert durch das Programm Fractal Zoomer auf einem Texas Instruments Nspire CX II-T CAS Taschenrechner.
Mandelbrot-Menge zur vierten Potenz in Counter-Darstellung.png
(c) Dipl.-Ing. Ingo Sturm, CC BY-SA 4.0
Mandelbrot-Menge zur vierten Potenz. Eingefärbt nach Anzahl Iterationszyklen (Counter) der beschränkten komplexen Folgen . Generiert durch: Web-App von Dipl.-Ing. Ingo Sturm in Counter-Darstellung: <100 weiß, <1000 grau, <10000 grün und rot ab 10001 Iterationszyklen gemäß alternierender komplexer Folgen. Die blaue Umgebung entspricht wertmässig unbegrenzter (grenzenloser) komplexer Folgen.
Mandelbulber v2.24.0 FGS 20210411 20 25 45.png
Autor/Urheber: PantheraLeo1359531, Lizenz: CC0
Mandelbulber v2.24.0 (Fraktalgenerierende Software). Im Renderingfenster sieht man eine Detailansicht einer "Knolle" der Mandelbulb. Auflösung des gerenderten Bildes: 4444x2400 Px)
Mandelbrot Übersicht.jpg
Autor/Urheber: Daniel Toschläger, Lizenz: CC BY-SA 4.0
Mandelbrot-Menge generiert mit Fractalizer
Julia-Menge generiert aus Mandelbrot-Menge zur zweiten Potenz in negativer Darstellung.png
(c) Dipl.-Ing. Ingo Sturm, CC BY-SA 4.0
Julia-Menge generiert durch Doppelklick auf einen c-Punkt von in negativer Darstellung: Die blaue Umgebung sind Punkte unbegrenzter Iterationen. Die rote hochgradig fraktale Figur ist die Julia-Menge aus dem c-Punkt = (0,28902 - i0,53757) der Mandelbrot-Menge
MB3D screenshot.jpg
Autor/Urheber: Daniel Toschläger, Lizenz: CC BY-SA 4.0
Screenshot Mandelbulb 3D
Einzelne Iterationsfolge f(z) = z^2 + c.png
(c) Dipl.-Ing. Ingo Sturm, CC BY-SA 4.0
Visualisierung einer einzelnen Iterationsfolge der komplexen Funktion für einen c-Punkt = (0,3441 + i0,3656) aus der Mandelbrot-Menge generiert mittels: Web-App "Mandelbrot & Julia"