How did Thomasina produce an algorithm that yields a natural form? We
will illustrate this with the simplest case, a fern. A leaf is a
little more difficult and a little less spectacular than a fern.
We need to
describe an algorithm that, when iterated as in the chaos game,
yields an image of a fern. The fern we will produce is often called
the *Barnsley fern* after the mathematician who popularized this
procedure [B].

To do this we start with a square as before. We will describe four linear contractions on this square. Unlike the previous two examples, these contractions will involve more than just simple dilations; they will involve rotations and flips as well. Here is the first operation: squeeze and distort the square linearly so that its image appears as in Figure 5A. Note that the square is compressed from the bottom and from both sides, and then rotated a little. Figure 5B displays the effects of the next two contractions. The left hand rectangle is obtained by first shrinking the square into a rectangle, then shearing and rotating to the left. The second is obtained in similar fashion, except that the square is first flipped along its vertical axis, and then contracted, sheared, and rotated to the right. features more contraction from the top than from the bottom, then rotation in opposite directions. The right hand rectangle is then flipped along In Figure 5C we see the final contraction: the entire square is crushed to a line segment in the horizontal direction, then compressed again in the short direction to yield the short vertical line segment indicate.

Fig. 5. The four contractions for the Barnsley fern. In each case, the entire grey square is contracted linearly into the four black rectangles.

Each of these rules can be described concisely using some matrix algebra. In the appendix, we give exact formulas for each of these transformations as well as a brief discussion of where they come from.

Now we play the chaos game with these rules as the four constituent moves. However, instead of randomly choosing a particular contraction, we will choose the rules to apply with differing probability. We will apply the first contraction with the highest probability, namely 85 % of the time. Contractions 2 and 3 will be invoked with probability .07, and the final contraction will be called with probability only .01. When this algorithm is carried out using a computer, the dots slowly fill the screen to reveal a lifelike image of a fern.

As Valentine explains to Hannah, "If you knew the
algorithm and fed it back say ten thousand times, each time there'd be
a dot somewhere on the screen. You'd never know where to expect the
next dot. But gradually you'd start to see this shape, because every
dot would be inside this shape of a leaf *(or a fern)*. It
wouldn't be a leaf, it would be a mathematical object. But yes. The
unpredictable and the predetermined unfold together to make everything
the way it is. It's how nature creates itself, on every scale, the
snowflake and the snowstorm."

To see the fern leaf unfold gradually on the screen, click here. You will need a QuickTime viewer to see this animation.

In case you don't have the means to view the animation, here are a few snapshots of the fern unfolding. Incidentally, all of these images were computed using the software package Fractal Attraction [LC]

Fig. 6. The results of the chaos game played with 5,000, 10,000, and 50,000, iterations.

** Valentine's Grouse** (Next Section)

(Return to Dynamical Systems and Technology Home Page)