**What is Koch Curve?**

The Koch snowflake (also known as the Koch curve, Koch star, or Koch island) is a mathematical curve and one of the earliest fractal curves to have been described. It is based on the Koch curve, which appeared in a 1904 paper titled “On a continuous curve without tangents, constructible from elementary geometry” by the Swedish mathematician Helge von Koch.

The progression for the area of the snowflake converges to 8/5 times the area of the original triangle, while the progression for the snowflake’s perimeter diverges to infinity. Consequently, the snowflake has a finite area bounded by an infinitely long line.

**Construction**

**Step1: **

Draw an equilateral triangle. You can draw it with a compass or protractor, or just eyeball it if you don’t want to spend too much time drawing the snowflake.

**Step2: **

Divide each side in three equal parts. This is why it is handy to have the sides divisible by three.

**Step3: **

Draw an equilateral triangle on each middle part. Measure the length of the middle third to know the length of the sides of these new triangles.

**Step4: **

Divide each outer side into thirds. You can see the 2nd generation of triangles covers a bit of the first. These three line segments shouldn’t be parted in three.

**Step5: **

Draw an equilateral triangle on each middle part.

# Representation as Lindenmayer system

The Koch curve can be expressed by the following rewrite system (Lindenmayer system):

**Alphabet** : F

**Constants** : +, ?

**Axiom **: F

**Production rules**: F ? F+F–F+F

Here, F means “draw forward”, – means “turn right 60°”, and + means “turn left 60°”.

To create the Koch snowflake, one would use F++F++F (an equilateral triangle) as the axiom.

# To create a Koch Curve :

`# Python program to print partial Koch Curve. ` `# importing the libraries : turtle standard ` `# graphics library for python ` `from` `turtle ` `import` `*` ` ` `#function to create koch snowflake or koch curve ` `def` `snowflake(lengthSide, levels): ` ` ` `if` `levels ` `=` `=` `0` `: ` ` ` `forward(lengthSide) ` ` ` `return` ` ` `lengthSide ` `/` `=` `3.0` ` ` `snowflake(lengthSide, levels` `-` `1` `) ` ` ` `left(` `60` `) ` ` ` `snowflake(lengthSide, levels` `-` `1` `) ` ` ` `right(` `120` `) ` ` ` `snowflake(lengthSide, levels` `-` `1` `) ` ` ` `left(` `60` `) ` ` ` `snowflake(lengthSide, levels` `-` `1` `) ` ` ` `# main function ` `if` `__name__ ` `=` `=` `"__main__"` `: ` ` ` ` ` `# defining the speed of the turtle ` ` ` `speed(` `0` `) ` ` ` `length ` `=` `300.0` ` ` ` ` `# Pull the pen up – no drawing when moving. ` ` ` `penup() ` ` ` ` ` `# Move the turtle backward by distance, ` ` ` `# opposite to the direction the turtle ` ` ` `# is headed. ` ` ` `# Do not change the turtle’s heading. ` ` ` `backward(length` `/` `2.0` `) ` ` ` ` ` `# Pull the pen down – drawing when moving. ` ` ` `pendown() ` ` ` ` ` `snowflake(length, ` `4` `) ` ` ` ` ` `# To control the closing windows of the turtle ` ` ` `mainloop() ` |

**Output:**

To create a full snowflake with Koch curve, we need to repeat the same pattern three times. So lets try that out.

`# Python program to print complete Koch Curve. ` `from` `turtle ` `import` `*` ` ` `# function to create koch snowflake or koch curve ` `def` `snowflake(lengthSide, levels): ` ` ` `if` `levels ` `=` `=` `0` `: ` ` ` `forward(lengthSide) ` ` ` `return` ` ` `lengthSide ` `/` `=` `3.0` ` ` `snowflake(lengthSide, levels` `-` `1` `) ` ` ` `left(` `60` `) ` ` ` `snowflake(lengthSide, levels` `-` `1` `) ` ` ` `right(` `120` `) ` ` ` `snowflake(lengthSide, levels` `-` `1` `) ` ` ` `left(` `60` `) ` ` ` `snowflake(lengthSide, levels` `-` `1` `) ` ` ` `# main function ` `if` `__name__ ` `=` `=` `"__main__"` `: ` ` ` `# defining the speed of the turtle ` ` ` `speed(` `0` `) ` ` ` `length ` `=` `300.0` ` ` ` ` `# Pull the pen up – no drawing when moving. ` ` ` `# Move the turtle backward by distance, opposite ` ` ` `# to the direction the turtle is headed. ` ` ` `# Do not change the turtle’s heading. ` ` ` `penup() ` ` ` ` ` `backward(length` `/` `2.0` `) ` ` ` ` ` `# Pull the pen down – drawing when moving. ` ` ` `pendown() ` ` ` `for` `i ` `in` `range` `(` `3` `): ` ` ` `snowflake(length, ` `4` `) ` ` ` `right(` `120` `) ` ` ` ` ` `# To control the closing windows of the turtle ` ` ` `mainloop() ` |

Output:

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

## leave a comment

## 0 Comments