Gosper curve

From Wikipedia, the free encyclopedia

The Gosper curve, named after Bill Gosper, also known as the flowsnake, is a space-filling curve. It is a fractal object similar in its construction to the dragon curve and the Hilbert curve.

Image:Gosper curve 3.svg Image:Gosper curve 1.svg
A fourth-stage Gosper curve The line from the red to the green point shows a single step of the Gosper curve construction.

A Logo program to draw the Gosper curve using turtle graphics:

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

The program can be invoked, for example, with rg 4 300, or alternatively gl 4 300.

The constant 2.6457 in the program code is an approximation of √7.

[edit] Properties

The space filled by the curve is called the Gosper island. The first few iterations of it are shown below:

The Gosper Island can tile the plane. In fact, seven copies of the Gosper island can be joined together to form a shape that is similar, but scaled up by a factor of √7 in all dimensions. Repeating this process indefinitely produces a tessellation of the plane. The curve itself can likewise be extended to an infinite curve filling the whole plane.

[edit] See also

[edit] External links

Languages