Gosper-Kurve

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Die Gosper-Kurve benannt nach Bill Gosper ist ein fraktales Objekt, das ähnlich wie die Drachenkurve und die Hilbert-Kurve durch Ersetzung erzeugt wird:

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

Algorithmen[Bearbeiten]

Lindenmayer-System[Bearbeiten]

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

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

[Bearbeiten]

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.

Weblinks[Bearbeiten]