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.
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.
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.
Zurück zur Seite Programmierung