What Thomasina has discovered and what Valentine is trying to explain is what is now commonly called the "Chaos Game." The game proceeds in its simplest formulation as follows. Place three dots at the vertices of a triangle. Color the top vertex red, the lower left green, and the lower right blue. Then take a die and color two faces red, two green, and two blue.

To play the game, you need a * seed*, an arbitrary starting point
in the plane. Starting with this point, the
algorithm is: Roll the die, then depending upon which
color comes up, move your point half the distance toward the
appropriate colored vertex. Then iterate, i.e., repeat this process,
using the terminal point of the previous move as the seed for the
next. Do not plot the first 15 (or so) points generated by this algorithm,
but after these few initial moves, begin to record each and every
point. For example, Figure 1 shows the moves associated to rolling
red, green, blue, and blue in order.

Fig.1. Playing the chaos game with rolls of red, green, blue, blue.

Students who have not seen this game before are always surprised and amazed at the result. Most expect the algorithm to yield a blur of points in the middle of the triangle. Some expect the moving point to fill the whole triangle. But the fact is, the result is anything but a random mess: the resulting picture is one of the most famous of all fractals, the Sierpinski triangle. See Figure 2.

Fig. 2. The Sierpinski Triangle.

Points are colored in this image according to the roll of the die that placed the point at that location: red points are closest to the red vertex, etc.

Provided that you have a browser that supports Java, you can play this game interactively on the web, courtesy of the Boston University Dynamical Systems and Technology Project. Click here to activate the game. The game "wakes up" with three vertices as above, though you can change this to play many other variations on the chaos game.

For leaf-making purposes, it is best to rework this algorithm in a slightly different form. Begin with a square in the plane, and put the red vertex in the center of the top side of the square, and the other two vertices at the lower vertices. The algorithm then linearly contracts all points in the original square into one of three smaller subsquares by moving half the distance toward the vertex in each subsquare. This can be visualized in Figure 2 as follows. Imagine what happens to the entire Sierpinski triangle as you contract toward each of the vertices. The result is the portion of the triangle colored red, green, or blue in that image.

** The Sierpinski Hexagon** (Next Section)

(Return to Dynamical Systems and Technology Home Page)