Gosper-Kurve

Eine Gosper-Kurve der Stufe 4.
Die Strecke zwischen dem roten und grünen Punkt wurde durch die Kurve der Stufe 1 ersetzt.

Die Gosper-Kurve ist eine fraktale und raumfüllende Kurve. Sie ist benannt nach Bill Gosper. Ähnlich wie die Drachenkurve und die Hilbert-Kurve wird sie durch Ersetzung erzeugt.

Algorithmen

Lindenmayer-System

Die Gosper-Kurve lässt sich durch ein Lindenmayer-System mit folgenden Eigenschaften beschreiben:

  • Winkel: 60°
  • Startstring: A {\displaystyle A}
  • Ableitungsregeln:
    • A A B B + A + + A A + B {\displaystyle A\mapsto A-B--B+A++AA+B-}
    • B + A B B B A + + A + B {\displaystyle B\mapsto +A-BB--B-A++A+B}

Ein Programm zur Erzeugung der Gosper-Kurve in Logo:

 to rg :st :ln
 make "st :st - 1
 make "ln :ln / 2.6457
 if :st > 0 [rg :st :ln rt 60 gl :st :ln  rt 120 gl :st :ln lt 60 rg :st :ln lt 120 rg :st :ln rg :st :ln lt 60 gl :st :ln rt 60]
 if :st = 0 [fd :ln rt 60 fd :ln rt 120 fd :ln lt 60 fd :ln lt 120 fd :ln fd :ln lt 60 fd :ln rt 60]
 end

 to gl :st :ln
 make "st :st - 1
 make "ln :ln / 2.6457
 if :st > 0 [lt 60 rg :st :ln rt 60 gl :st :ln gl :st :ln rt 120 gl :st :ln rt 60 rg :st :ln lt 120 rg :st :ln lt 60 gl :st :ln]
 if :st = 0 [lt 60 fd :ln rt 60 fd :ln fd :ln rt 120 fd :ln rt 60 fd :ln lt 120 fd :ln lt 60 fd :ln]
 end

Das Programm kann beispielsweise mit rg 4 300 aufgerufen werden. Alternativ auch mit gl 4 300.

Gosper-Insel

Selbstähnlichkeit: Sieben kleine Gosper-Inseln fügen sich wieder zu einer großen Gosper-Insel zusammen.

Die von der Gosper-Kurve umschlossene Fläche heißt Gosper-Insel und ist eine Variante der Kochschen Schneeflocke. Die Fläche eignet sich zur Parkettierung der Ebene.

  • Eric W. Weisstein: Gosper Island. In: MathWorld (englisch).
  • Über die Gosperkurve (PDF)
  • mathcurve.com