| Was ist Hüpfer?
Hüpfer ist eine Computergraphik, genauer ein Fraktal.
 Bei Vorgabe eines Anfangspunktes werden mit Hilfe zweier
Formeln nacheinander die Koordinaten immer weiterer Punkte berechnet und
sofort gezeichnet. Die Punkte schließen sich zu Figuren zusammen.
Das Besondere ist und so kommt der Name Hüpfer zustande, dass die
Punkte um den Anfangspunkt herum in immer meist größeren Abständen
springen. Das konnte man in den achtziger Jahren, als diese Grafiken aufkamen,
bei den damals langsameren Computern gut erkennen. Heute sind die Bereiche,
in denen gerade gezeichnet wird, vergleichbar mit pulsierenden Ringen,
in die sich Kaskaden von Punkten ergießen. 
 Hüpfer ist die deutsche Bezeichnung von Hopalong
(hop-along, weiterhüpfen).
 Der Erfinder von Hopalong ist Barry Martin von der Aston
University in Birmingham/England. A. K. Dewdney beschrieb diese Fraktale
im Magazin
Scientific American im September 1986 und machte sie
so bekannt. Die deutsche Ausgabe
Spektrum der Wissenschaft verbreitete
Hopalong in Deutschland in der Novemberausgabe 1986 mit einer Übersetzung
dieses Artikels in der Rubrik Computer-Kurzweil . 
 Es folgen drei typische Hüpfer-Bilder.
 
Vor Jahren erstellt mit dem Programm "Winfract".
|   a=0.7, b=1, c=0
 |   a=0.4, b=1, c=0
 |   a=0.01, b= -0.3, c=0.003
 |  
 
 Algorithmus   
top
In Dewdneys Aufsatz findet man das folgende Programm.
 
Es gibt im Programm vier Variable, die eine Figur bestimmen.
Das sind die Parameter (a, b, c) und die Anzahl der Punkte num.
| ...  ... | Erklärung: Der Ausgangspunkt der Grafik ist der Punkt (x,y)=(0,0). 
Nach zwei getrennten Formeln werden xx und yy berechnet.
Dabei tauschen sich x und y aus. Dann wird zum Plotten "umgeladen". Das
wiederholt sich bis num erreicht wird.
 Die Variable i steht für einen Punkt, num ist die
Anzahl der Punkte.
 Die Vorzeichenfunktion SIGN(x) ist gleich 1, wenn x>0,
-1 wenn x<0 ist; SIGN(0)=0.
 ABS(x) ist die Betragsfunktion und ermöglicht ein
Wurzelziehen.
 |  Wer sich mit Hüpfer beschäftigen will, sollte
- in welcher Programmiersprache auch immer - dieses einfache Programm ausprobieren.
 
 
 Eigenes Programm    
top
Wie viele Leser von Spektrum der Wissenschaft habe
ich damals dieses kleine Programm sofort ausprobiert. In den 90iger Jahren
benutzte ich dann ein Programm in Visual Basic 3, das ich hier nicht mehr
anbiete, da Programme in VB 3 unter Windows 7 nicht mehr funktionieren.
 Hauptroutine des Programms:
 
| Sub graph (u, v, a, b, c, z) text9.Text = ""
 x = 0: y = 0
 For i = 0 To z
 PSet (u + x, v + y)
 xx = y + Sgn(x) * Abs(b
* x - c)
 yy = a - x
 x = xx
 y = yy
 If i / 10000 = Int(i /
10000) Then text9.Text = Str$(i)
 Next i
 text9.Text = "Ende"
 End Sub................................................................................
 | Man erkennt das Programm von oben wieder. >Der Einfachheit halber werden Bildschirmkoordinaten verwendet.
Dadurch ist die Einheit gleich einem Pixel.
 >Die Variablen u und v legen fest, wo die Mitte einer
Figur liegt. Das kann in Visual Basic etwa (7000,5000) sein.
 >Der erste Funktionsterm ist Sgn(x) * Abs(b * x - c).
Im Unterschied zum klassischen Hüpfer fehlt die Sqrt-Funktion. 
So habe ich etwas Eigenes :-).
 <text9.Text> ist sehr hilfreich. Man kann die Fortschritte
und das Ende des Zeichnens erkennen.  |  Es folgen einige Bilder,
die ich mit meinem Programm huepfer.exe erstellte. Darunter stehen
jeweils die Parameter (a, b, c, num).
 
|   (500, 0.21, 100,150000)
 |   (150, 0.22761, 100, 300000)
 |   (300, 0.21, 50, 750000)
 |  
|   (366, 0.07, 50,1000000)
 |   (500, 0.833, 120, 40000)
 |   (150, 0.033, -80, 2000000)
 |  Der Einfluss der Parameter auf ein
Bild ist voller Überraschungsmomente.
 Eine Aussage kann man wagen: Je größer die
Parameter sind, desto größer wird die Figur.   ;-)
 
 Nur der Parameter oben links ändert sich.
 
 Einige Tipps für das eigene Programmieren:
 
| >Probiere alle möglichen Zahlen (auch negative Zahlen)
für a,b,c,num aus. >Lasse die Funktion INT(x) weg. Es zeigt sich, wie wichtig
diese "Sprungfunktion" für einen Musterreichtum ist.
 >Lasse die Funktionen SQR(x) und dann auch ABS(x) weg.
 >Ersetze x durch 0.9999*x. Es ist erstaunlich,
 dass trotz der Nähe zu 1 wegen der vielen Iterationen
die Grafiken klein bleiben.
 >Ändere die Vorzeichen. Es wird deutlich, wie bestimmend
sie sind.
 >Bringe Farbe in den Hüpfer.
 >Verwende statt des Standardterms Sgn(x) * Sqrt((Abs(b
* x - c)) andere Terme so wie rechts.
 |  |  Wer kein eigenes Programm
schreiben will, findet zum Spielen in meiner Linksammlung unten ein Programm
von Ulrich Schwebinghaus/Henning Kopp (empfehlenswert!) und zwei Applets
von James Henstridge und Martin Junglas.
 
 
 Dreidimensionale
Strukturen durch Selbstorganisation      top
Wolfhard Hövel von der Georg-Simon-Ohm-Hochschule
Nürnberg fand diese Webseite und bot mir ein Applet an, mit dem man
Fraktale nach einem selbstentwickelten Algorithmus erzeugen kann. Er vermutete,
dass vielleicht einige Besucher Gefallen daran fänden. Vielleicht
stiegen einige Leser auf dieses Thema ein und stellten gar eigene Überlegungen
zur Diskussion.
 Gerne stelle ich sein Programm, das Applet Attractor.jar,
hier vor. 
Die Beschreibung findet man unter Selbstorganisation
von Vektoren in Form einer .pdf-Datei.
 
 Kurzbeschreibung
 Das Programm Attractor.jar erzeugt vielfältige Strukturen
im n-dimensionalen euklidischen Raum. Diese Attraktoren sind zum Teil instabil
und springen nach einer gewissen Lebensdauer in andere stabilere Formen
um. Für eine willkürlich vorgegebene Punktmenge im Raum wird
die Bewegung der Punkte derart geregelt, dass Schwerpunkt und Drehmoment
gleich bleiben. Die Vernetzung der Punkte erfolgt durch beliebig wählbare
Graphen. Zunächst betrachte man zwei Punkte (Ortsvektoren) im Raum.
Der eine Punkt wird iterativ um einen Einheitsvektor verschoben und der
andere ebenfalls um diesen Einheitsvektor, jedoch mit negativem Vorzeichen.
Damit bleibt der „Schwerpunkt“ dieses Punktpaars exakt erhalten. Diese
antiparallelen Verschiebungsvektoren liegen auf Parallelen, deren Abstand
ebenfalls konstant gehalten wird. Damit ist auch das „Drehmoment“ der beiden
Punkte konstant. Nun kann man weitere Punkte hinzufügen. Die Punkte
lassen sich frei wählbar zu Punktpaaren zusammenfassen. Es entsteht
also ein Graph, die Knoten des Graphen entsprechen den Punkten, die Kanten
den gewählten Punktpaaren. Laufen an einem Knoten mehrere Kanten zusammen,
werden die entsprechenden Verschiebungsvektoren für diesen Punkt vorzeichengerecht
addiert.
 Für die verschiedensten Graphen und Dimensionen
können Attraktoren gefunden werden.
 
 Beschreibung
der Benutzeroberfläche
 
|   | New run Die Anfangsbedingungen werden zufällig neu gesetzt.
 Clear
 Der Bildschirminhalt wird gelöscht.
 Zoom
 Der Bildschirminhalt wird gelöscht und um den Faktor
1,2 vergrößert neu gezeichnet oder
 entsprechend verkleinert.
 x
 Verschiebung des Bildes in x – Richtung.
 y
 Verschiebung des Bildes in y – Richtung.
 Projection
 Der Attraktor wird aus verschiedenen Richtungen auf den
Bildschirm projiziert. Die Anzahl der
 Projektionen hängt von der gewählten Dimension
ab.
 All nodes
 Alle Knoten ( Ortsvektoren ) oder nur einzelne werden
gezeichnet. In diesem Beispielprogramm
 sind maximal 12 Knoten möglich.
 Pull
 Die einzelnen Knotenpaare werden mit wachsender Intensität
auseinandergezogen. Dies erfolgt
 durch einen Vektor, der in die 45° - Richtung wirkt.
Dabei können andersartige Attraktoren
 entstehen.
 Noise
 Die Knoten werden mit wachsender Intensität zufällig
im Raum verschoben. Mit diesem
 überlagerten Rauschen kann die Stabilität des
Attraktors geprüft werden.
 Dimension
 Die Dimension n des Raums kann ab n = 2 beliebig eingestellt
werden.
 Parameter e
 Der Parameter e beschränkt den maximalen Abstand
der Knoten eines Knotenpaars.
 Parameter s
 Der Parameter s bestimmt den Abstand der Parallelen,
auf denen die antiparallelen
 Verschiebungsvektoren eines Punktpaars liegen.
 Graph i
 Hier kann man vorgegebene Graphen, für die Attraktoren
gefunden wurden, auswählen. Für
 Graph i = 1 werden neue Graphen fortlaufend zufällig
erzeugt. Wird ein neuer Attraktor gefunden,
 stoppt die Suche automatisch.
 Period = i
 Es werden i Iterationen durchgeführt und dann die
berechneten Pixel gezeichnet.
 Strobe
 Der Bildschirm wird vor jeder Periode gelöscht.
Mit Period und Strobe kann das dynamische
 Verhalten der Attraktoren untersucht werden.
 Cross section
 Aus der Struktur wird eine dünne Scheibe herausgeschnitten
und gezeichnet. Die Anzahl der
 möglichen Darstellungen hängt von der gewählten
Dimension ab.
 Graph
 Der verwendete Graph, der die Kopplung der Knoten ( Ortsvektoren
) bestimmt, wird angezeigt.
 |  Zwei Graphen
 Hinzugefügt werden noch
zwei Links, die mir Wolfhard Hövel für weitere Studien mitgeteilt
hat.
 Dreidimensionale
Strukturen durch Selbstorganisation  und  Strukturen
im n-dimensionalen Raum.
 
 
 Verwandte
Webseiten meiner Homepage       top
 
 Hüpfer im Internet
top
 Deutsch
 Ulrich Schwebinghaus  
(fraktalwelt)
Iterationen
II - Hopalong   (mit Programm zum Herunterladen)
 Englisch
 flickriver
Photos
tagged with hopalongattractor
 James Henstridge
Hopalong
Orbit Fractal   (Applet)
 Martin Junglas (fluxury) 
Hopalong
Fractals   (Applet)
 Paul Bourke
Fractals
and Computer Graphics
 Wolfram Demonstrations Project
Orbits
of the Hopalong Map
 
 
 Referenzen   top
A.K.Dewdney: Computer-Kurzweil, Spektrum der Wissenschaft,
November 1986
 
 Feedback: Emailadresse auf meiner Hauptseite
 URL meiner
Homepage:
https://www.mathematische-basteleien.de/
 © 
2003, überarbeitet 2014, Jürgen Köllertop |