Revision as of 00:49, 1 June 2013 by Bsteward (talk | contribs) (Starting Scratch Blocks script)

Warning.png This article or section is currently undergoing major changes by Bsteward (talk | contribs). Please avoid largely modifying this page's contents until this template has been removed. (Date?)
The droste effect is an example of Recursion.

Recursion is the process of repeating items in a self-similar way. Recursion can be implemented in Scratch by making a block that uses it self. This can be used to create fractals. A fractal is pattern that produces a picture, which can be zoomed into infinity and will still produce the same picture. Some common examples of fractals are the mandelbrot, the Sierpinski Triangle, and the Koch Snowflake.

Creating the Koch Curve

The Koch Curve is a fractal that can be created relatively easily in Scratch. The Koch Curve is part of a larger fractal, the Koch Snowflake.

Understanding Recursion in the Koch Curve

The Koch Curve

The Koch Curve is made of four Koch Curves that are a third of the size of the original Koch Curve. They are they are arranged so that the first and fourth are flat and the middle two point up to make an equilateral that is triangle missing one side.

Recersion in Koch Curve.png

To make it easier to draw, the Koch Curve can be broken down into iterations, each one more complicated than the last. The first iteration is made up of four straight lines. The second iteration contains four copies of the first iteration. The third iteration contains four copies of the second iteration or sixteen copies of the first iteration. As iterations are added it gets more complicated and looks more and more like the real Koch Curve.

Iterations of Koch Curve.png

Implementing it in Scratch

Basic Pen Path without Recursion

The triangle in the center is an equilateral triangle, therefore each of it's angles have a measure of 60°.

Equilateral Triangle in Koch Curve.png

Using basic geometry the angles of the rotations the sprite must make can be found.

Sprite Turns in Koch Curve.png

Using this these angles, a script can be created that draws the first iteration of Koch Curve.

when gf clicked
point in direction (90)
go to x: 

define Make of the first iteration of the Koch Curve with a segment length of (segment length)

Adding Recursion

See Also