<< Zurück zum Index.

Hufeisenabbildung (Fraktal)

Die Smile'sche Hufeisenabbildung wird gemeinhin als ein Meilenstein in der Forschung nichtlinearer Abbildungen mit Fraktalcharakter angesehen. Seltsamerweise gibt es wenig Informationen zur darin verwendeten Algorithmik zu finden, hier daher der Java-Code zur Generierung eines Hufeisen-Fraktals.

In der Abbildung

gilt folgendes: die Bereiche B, C und D liegen innerhalb des Bereichs [-1;-1] → [+1;+1]. Während der Abbildung f gehen A, C und E auf jeden Fall verloren, d.h. flüchten aus [-1;-1] → [+1;+1]. B und D werden zuerst horizontal auf eine Breite ALPHA kleiner als 0.5 gestaucht, dann vertikal um 1/ALPHA (also größer als 2.0) gestreckt, dann umgebogen. Wie aus der Abbildung zu ersehen ist, flüchten auch (kleine) Teile von B und D. Die halbe Höhe von C heißt im Code unten C2.

Main-Klasse

Wegen der Überschaubarkeit des Codes verzichte ich auf ein aufwändiges Design und packe alles in eine Main-Klasse, die sich wie folgt schreibt: Horseshoe.java

Der Algorithmus steckt in der Methode mapHorseshoe(). Das Programm ermittelt für viele zufällig gewählte Punkte, ob und wenn ja wann die mehrfach angewandte Abbildung den Punkt aus [-1;-1] → [+1;+1] rausschmeißt.

Die Ausgabe sieht etwa wie folgt aus: