## Fractals Gallery

It is not easy to define the term "fractal." One of the basic ideas is scale invariance. This means that there are arbitrarily small pieces of the set such that, when each piece is "scaled-up" (that is, seen under a high power microscope), it looks very similar to much larger pieces of the set. This property is also referred to as self-similarity. For some fractals, the self-similarity is approximate or statistical in nature. But for many common fractals, the similarity is exact. That is, the fractal is made up of pieces that are identical to the complete fractal, except that they have been scaled down to a smaller size. (In fact, some distortion of the pieces is allowed: The pieces are obtained by applying affine transformations to the complete fractal.) For such self-similar fractals, it is possible to define a fractal dimension, which can have a non-integer value. (The term "fractal" comes from "fractional dimension.")

With one exception, the exhibits in the Fractals Gallery are self-similar fractals in the plane. (The exception is the Mandelbrot Set exhibit, which is a special case and is not treated here. See the Mandelbrot documentation for information on that exhibit.)

To construct one of the self-similar fractals in this gallery, the basic operation is to start with a single line segment from a point A to a point B, and to replace that line segment with a piecewise linear path from A to B. The pattern formed by this piecewise linear path is the motif that defines the fractal. After the first replacement, each line segment in the piecewise linear path is then itself replaced with a copy of the very same piecewise linear path, but scaled down to match the size of the line segment that is being replaced (and also rotated and translated into position). The process is then repeated over and over; at each stage, every line segment in the figure is replaced with a suitably transformed copy of the original piecewise linear path. The limit of this process, as the number of repetitions approaches infinity, is a true fractal. The result of a finite number of repetitions is an approximation for that fractal.

When the fractal exhibit is first displayed, an animation is run that shows this construction. The first frame of the animation shows a few line segments; the substitution process will be applied to each of these segments. After that, each frame is obtained by substituting the basic piecewise-linear path for each of the line segments in the previous frame. This continues for a specified finite number of steps. The number of steps is specified by the parameter named "Recursion Level." Recall that you can change this parameter -- and any exhibit parameter -- using the "Set Parameters" command in the "Settings" menu. Also, note that you can re-run the initial animation at any time by selecting the "Create" command from the "Action" menu.

Each of the self-similar fractal exhibits in this gallery actually represents a family of fractals. The members of the family have different fractal dimensions, ranging between one and two. The "Morph" command in the "Animation" menu morphs the image through the parameter space that defines the family. At the start of the morph, the image consists of simple line segments, and the dimension is one. As the morph proceeds, the fractal dimension increases and the fractal becomes more complicated and "thicker." As the end of the morph approaches, the fractal comes closer to filling an entire region of the plane. At the very end, it becomes a "space-filling curve," with dimension two. The fractal dimension is controlled by the parameter named "Dimension Factor," which can be changed using the "Set Parameters" command. (Unfortunately, the "Dimension Factor" does not directly specify the fractal dimension, since that quantity is not always easy to determine.)

Note that for the Hilbert Curve Exhibit, the default view shows the space filling curve that is at one end of the family of fractals. To see other members of the family, which have fractional dimension less than two, use the "Morph" command or change the value of the "Dimension Factor" parameter.