Hüpfer
Inhalt dieser Seite
Was ist Hüpfer?
Algorithmus
Fractint
Experimente
Tipps
Hüpfer im Internet 
Referenzen
.
Zur Hauptseite  "Mathematische Basteleien"

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.

a=0.4, b=1, c=0

a=0.7, b=1, c=0

a=0.01, b= -0.3, c=0.003


Algorithmus    top
In Dewdneys Aufsatz findet man das folgende Programm.
...... 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.

Es gibt im Programm vier Variable, die eine Figur bestimmen. Das sind die Parameter (a, b, c) und die Anzahl der Punkte num. 
Wer sich mit Hüpfer beschäftigen will, sollte - in welcher Programmiersprache auch immer - dieses einfache Programm ausprobieren. 


Fractint    top
Die drei Bilder oben wurden mit dem Programm Fractint erzeugt. Fractint ist ein Programm, das der Mandelbrotmenge (Apfelmännchen) gewidmet ist. Man kann das Freeware-Programm aus dem Internet (URL unten) holen. Auf meiner Seite Apfelmännchen habe ich die Version 18.21 beschrieben.
So nebenbei kann man auch Hopalongs erzeugen. Man markiert unter Fractals/Fractal Formula...Hopalong und erhält ein Fenster mit den eingestellten Parametern a=0.4, b=1 und c=0 und dem Bereich ist -2<x<3 und -1.625<y<2.625. Mit OK bestätigt man die eingestellten Werte und es entsteht ein Hopalong. Das Programm verwendet eine Endlosschleife und man hat damit keine Informationen über die Anzahl der bereits gezeichneten Punkte. 
...... Wenn man den Entstehungsvorgang früh genug abbricht, erhält man abgeschlossene Figuren wie oben. 
Mit der Zeit wachsen die Figuren jedoch über den Bilderrahmen hinaus (links).

Für die Parameter a=0.01, b=0.3 und c=0.0003 ergab sich nach einer halben Stunde das nebenstehende Bild. 

Wie man sieht, sind die Punkte nach bestimmten Regeln gefärbt. Jedoch sind Hüpfer eher wegen der Formen interessant. 


In der Homepage von David Imai (URL unten) wird ein Applet angeboten [Das Applet bleibt offline aktiv, wenn man die Seite geöffnet hält]. Man kann sich vom Reichtum der Formen mit "New Image" überzeugen. Man kann die Parameter a,b und c verändern. 

Am Applet der Homepage von "Fluxery" (URL unten) ist auch interessant, dass man auch den Term 
{Sgn(x)*Sqrt(Abs(b * x - c))}der Originalarbeit durch verwandte Terme ersetzen kann. 

Experimente    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 jetzt wieder ausgegraben habe. Es soll gleich vorweg angemerkt werden, dass es ein "Arbeitsprogramm" ist. 


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. 


Zum Programm.
Wenn man nach dem Start das graue Schaltfeld Margerite anklickt, so werden oben sechs Parameter eingelesen. In der Mitte unten steht im weißen Feld das Wort "Margerite". Geht man auf  "zeichnen", so werden die Werte oben ausgelesen und die Punkte berechnet und gezeichnet. Das Bild füllt den Bildschirm aus. Unten sieht man einen Ausschnitt. Mit einem Klick auf "löschen"  verschwindet es. Man kann die Parameter mit Maus und Tastatur ändern und wieder auf "zeichnen" klicken. Gibt man für u nacheinander 1000, 3000, 7000, 9000 an, so stehen Bilder nebeneinander und man kann vergleichen.
Ich biete das Programm huepfer hier zum Herunterladen an. Man benötigt die .dll-Datei <vbrun300.dll>, die man im Internet findet. Sie muss meist ins Verzeichnis C:/Windows. Der Umfang ist 9358 Byte. 

Es folgen einige Bilder, die mit dem Programm huepfer erstellt worden sind. Darunter stehen jeweils die Parameter (a, b, c, num). Bitte beim Betrachten den Kopf leicht nach rechts neigen um sich an der Symmetrie zu erfreuen.

(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)


(300, 0.405, 150, 600000)

Der Einfluss der Parameter auf ein Bild ist voller Überraschungsmomente. 
Eine Aussage kann man wagen: Je größer die Parameter, desto größer wird im Endeffekt die Figur.

xx = y + Sgn(x) * Abs(b * x - c)
    yy = a - x 
Fünf Parameter sind jeweils für ein Bild konstant, der sechste Parameter (er steht oben links) ändert sich.

Tipps    top
>Es soll noch einmal hervorgehoben werden, dass man am besten ein eigenes Programm schreibt um Hüpfer zu studieren. Dann kann man auch leicht Abänderungen des Programms vornehmen und lernt die große Vielfalt der Formen kennen.

Einige Tipps:
>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 Muster-Reichtum 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.
Beispiel:



Hüpfer im Internet  top

Deutsch:

Georg Wengler
Punktmengen durch Iteration  (Hüpfer), Applet


Englisch:

David Imai
Hopalong Image Generator an interactive Java applet

James Henstridge
Hopalong Orbit Fractal  (Applet)

Po Shan Cheah  (Java Programs) 
The "hopalong" strange attractor  (Run it. Get the source code.)

NN ("Fluxury") 
Hopalong Fractals   (Applet) 

Paul Bourke
Fractals and Computer Graphics



The Fractint Site at SPANKY is maintained by Noel Giffin at the TRIUMF project on the University of British Columbia Campus in Vancouver B.C. Canada.


Links überprüft am 23.01.2006

Referenzen    top
A.K.Dewdney: Computer-Kurzweil, Spektrum der Wissenschaft, November 1986


Feedback: Emailadresse auf meiner Hauptseite

Diese Webseite ist bald auch in Englisch vorhanden.

URL meiner Homepage:
http://www.mathematische-basteleien.de/

©  2003 Jürgen Köller

top