Koch snowflake
From Wikipedia, the free encyclopedia
The Koch snowflake (or Koch star) is a mathematical curve, and one of the earliest fractal curves to have been described. It appeared in a 1904 paper entitled "Sur une courbe continue sans tangente, obtenue par une construction géométrique élémentaire" by the Swedish mathematician Helge von Koch. The less known Koch curve is the same as the snowflake, except it starts with a line segment instead of a equilateral triangle. The Koch curve is a special case of the de Rham curve.
One can imagine that it was created by starting with a line segment, then recursively altering each line segment as follows:
- divide the line segment into three segments of equal length.
- draw an equilateral triangle that has the middle segment from step 1 as its base.
- remove the line segment that is the base of the triangle from step 2.
After doing this once the result should be a shape similar to the Star of David.
The Koch curve is the limit approached as the above steps are followed over and over again.
The Koch curve has an infinite length because each time the steps above are performed on each line segment of the figure there are four times as many line segments, the length of each being one-third the length of the segments in the previous stage. Hence the total length increases by one third and thus the length at step n will be (4/3)n: the fractal dimension is log 4/log 3 ≈ 1.26, greater than the dimension of a line (1) but less than Peano's space-filling curve (2).
The Koch curve is continuous, but not differentiable anywhere.
The area of the Koch snowflake is 8/5 that of the initial triangle, so an infinite perimeter encloses a finite area.
Contents |
[edit] L-system definition
The Koch curve can be completely described as a Lindenmayer System using the following definition:
Angle: π/3 (60°) Axiom: F Rules: F → F-F++F-F
In addition, the Koch snowflake can be defined as follows:
Angle: π/3 (60°) Axiom: F++F++F Rules: F → F-F++F-F
[edit] Implementation
Here follows a sample implementation of the Koch curve for a Turtle robot written in a Logo-like language. It can be tried out online with Web Turtle. Change the value of A in the first line to any number from 1 to 5 to see the different levels of complexity.
LET A 5 ; calculate adjusted side-length LET B 243 REPEAT A LET B B/3 NEXT ; place pointer POINT 150 MOVE 140 POINT 0 ; start GO SIDE RIGHT 120 GO SIDE RIGHT 120 GO SIDE ; finished. END ; main loop # SIDE GO F LEFT 60 GO F RIGHT 120 GO F LEFT 60 GO F RETURN ; forward # F IF A > 1 ; go deeper depending on level LET A A-1 GO SIDE LET A A+1 ELSE ; or just do a single line DRAW B ENDIF RETURN
[edit] Other
Eric Haines has developed the sphereflake fractal, a three-dimensional version of the Koch snowflake.
[edit] Internal links
[edit] External links
- More discussion and helpful pictures
- A few famous fractal curves (L-System fractals)
- The Koch Snowflake