Suvarna Garge (Editor)

Gosper curve

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Gosper curve

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

Contents

Lindenmayer System

The Gosper curve can be represented using an L-System with rules as follows:

  • Angle: 60°
  • Axiom: A
  • Replacement rules:
  • A A B B + A + + A A + B
  • B + A B B B A + + A + B
  • In this case both A and B mean to move forward, + means to turn left 60 degrees and - means to turn right 60 degrees - using a "turtle"-style program such as Logo.

    A Logo program to draw the Gosper curve using turtle graphics (online version):

    to rg :st :ln make "st :st - 1 make "ln :ln / sqrt 7 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 / sqrt 7 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.

    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. As can be seen from the diagram below, performing this operation with an intermediate iteration of the island leads to a scaled-up version of the next iteration. 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.

    References

    Gosper curve Wikipedia