Tool zur Berechnung und Darstellung der Fraktale

Zur Berechnung / Darstellung der Fraktale verwende ich die Software Vision of Chaos von Softology [1] - genauer: einen recht kleinen Teil dieser Software, die verschiedenste Aspekte und Berechnungsmethoden von Chaos unter einem Dach vereint und dem Anwender ein großes Feld für eigene Experimente und Darstellungsarten erschließt.

Unter Rootfinding Fractals sind in der Software bereits einige komplexe Polynome, fünf Iterationsverfahren sowie einige Möglichkeiten der "künstlerischen Aufbereitung / Verfremdung" der Fraktale implementiert. Letzteres steht auf meiner Seite wohl nicht im Focus.

 

Der Clou aber ist der, dass der Author Jason Rampe in seiner Software auch einen OpenGL Shader zur Verfügung stellt. Hierdurch hat man die Möglichkeit, eigene Polynome, weitere Iterationsverfahren und Methoden der Einfärbung in OpenGL SL [2], [3] zu programmieren, wovon ich bei der Thematik Basins of Attraction Gebrauch gemacht habe.

 

Insbesondere konnte ich so auch die Erzeugung von Fraktalen mit trigonometrischen und Exponentialfunktionen implementieren - dabei allerdings mit dem Wermutstropfen, dass die Iterationen für diese Funktionstypen in OpenGL SL derzeit nur in Single Precision ausgeführt werden und die entstehenden Bilder beim Hineinzoomen daher schnell pixelig werden.

 

Die Berechnung der Fraktale erfolgt durch die GPU (!) auf der Grafikkarte und ist daher im Vergleich zu CPU-basierten Berechnungen extrem schnell.

Für das rechts abgebildete und häufig im Internet dargestellte "Newton-Fraktal", das sich als Lösung der Gleichung z³ - 1 = 0 ergibt (s. Basins of Attraction z^3-1=0), ergeben sich bei gleichem Bereich B und gleicher Iterationstiefe für meine derzeit verwendete recht schnelle Hardware (s. Diverse Themen / Tools) folgende Rechenzeiten :

  • Standard-Berechnung (CPU):  21.1   Sekunden für 1024 x 1024 Pixel
  • OpenGL Shader (GPU):             0.26 Sekunden für 1024 x 1024 Pixel

und somit eine ca. 80-fach schnellere Berechnung bei Anwendung des Shaders. Dies ermöglicht auch zeitliche Animationen (s. z.B. King-Verfahren unter Basins of Attraction z^3-1=0).

 

Die Nullstellen der im Programm bereits implementierten Beispielfunktionen finden Sie unter Beispiele komplexer Funktionen mit Nullstellen.

Basins of Attraction z^3-1=0 Newton-Verfahren