Allgemeines

Die Java Anwendung Barnsleys Farn habe ich vor einigen Jahren, als ich mich mit faktalen Strukturen und Java-Programmierung beschäftigt habe, programmiert. Die grundlegenden Informationen habe ich aus dem Buch Chaos und Fraktale aus dem Verlag Spektrum der Wissenschaft bekommen.

Leider werden dabei viele Details nicht erklärt. Das Programm enthält interessante mathematische Strukturen. Matrizen werden multipliziert und addiert. Koordinatensysteme werden transformiert usw.
Für die Speicherung der Rechteckkoordinaten wird eine dynamische Datenstruktur verwendet.

Michael F. Barnsley ist ein Forscher und Unternehmer, der auf dem Gebiet der fraktalen Bildkompression arbeitet. Er hält einige Patente auf diesem Gebiet.

Über dieses Thema findet man z.B. im Internet weitere Informationen.

Programmierung / Softwareentwicklung

Der Farn von Michael F. Barnsley

Der Farn von Michael Barsley ist eine fraktale Struktur, die aus Rechtecken aufgebaut ist. Aus einem Basisrechteck mit kartesischen Koordinaten werden durch vier verschiedene Transformationsgleichungen vier neue Rechtecke erzeugt, die gegenüber dem Ausgangsrechteck verkleinert, verschoben und verdreht sind. Das geschieht in der ersten Iterationstufe. Auf die vier Rechtecke der ersten Iterationsstufe werden dann wieder jeweils die vier Transformationen angewendet, die daraus dann 16 neue Rechtecke erzeugen usw.

Die Anzahl der Rechtecke wächst daher mit jeder Iterationstufe schnell an. Eine Transformation erzeugt dabei ein Rechteck, dass zu einem Strich wird und den Stengel des Farns erzeugt.

Hier sollte der Farn aus Rechtecken gezeichnet werden!

Angezeigt werden dabei nur die Rechtecke der letzten Iterationsstufe, die das Farnbild differenzierter darstellen, als die vorhergehende Iterationsstufe.
Für das Limesbild, das die feinsten Details des Farns enthält, wird eine hohe Iterationstufe benötigt. die Datenstruktur benötigt dabei erheblichen Speicherplatz. Deshalb ist hier die auswählbare Iterationsstufe auf 6 begrenzt.

Bemerkenswert ist weiterhin, dass die gesamten Transformationen in einer Zahlenebene der gebrochenen Zahlen stattfindet. Zur Anzeige wird diese Zahlenebene auf den Bilschirm mit den Pixelkoordianten abgebildet.

 

Das chaotische Spiel

Das Limesbild des Farns lässt sich auch auf eine faszinierende andere Art erzeugen. Setzt man in die Zahlenebene der gebrochenen Zahlen einen einzelnen Punkt, und wendet man auf diesen Punkt eine aus den vier Transformationsgleichungen zufällig ausgewählte Transformation auf diesen Punkt an, dann erhält man einen neuen Punkt des Farnbildes. Transformiert man diesen Punkt weiterhin durch eine zufällig ausgewählte Transformation, dann erhält man nach vielen Iterationsläufen ein immer differenzierteres Farnbild.

Wirklich erstaunlich ist dabei, dass man das Farnbild nicht erzeugen kann, wenn man die Transformationen in einer geordneten Reihe anwendet. Man kann die Erzeugung des Farnbildes erheblich beschleunigen, wenn man die Transformationen, die schwächer kontrahieren, mit einer höheren Wahrscheinlichkeit anwendet, als die stärker kontrahierenden Transformationen.

Hier sollte das Limesbild des Farns gezeichnet werden!

Zurück zur Seite Programmierung