Fractal Explorer App Version 5.4 Spring 2014

Select a Fractal

To change an affine transformation, click and drag the marked
vertices (a dot or circle) or edit its coefficients directly in the table of the same color (on the right or below). Use the Update buttons to update edited transformations; use the Reset buttons to restore edited transformations.

Auto Plot Tab
Use this tab to select a fractal, reset the transformations, and to set the number of points plotted.

Pt-By-Pt Tab
Use this tab to generate a fractal point by point and to set the size of the plotted point. The Clear button is used to erase the points.

Transformations Tab
Use this tab to show or hide the images of the unit square [0,1]x[0,1] under each of the fractal's affine transformations and to show or hide the fixed-point of each of the fractal's transformations.

Theory Tab
The tab provided a brief introduction to how families of affine transformations are used to generate fractals.

 Number of Points: 500 ≤ 2000 ≤ 50000
 N = 0 Point Size: Small Medium Large
 Previous Point Transform Next Point None None None
 Show the fractal's affine transformations (parallelograms) Show each transformation's fixed-point (small squares) Set the position of the list of transformations: Right Top Bottom Left
• Each fractal is generated iteratively by a particular family of affine transformations. Note: An affine transformation of the plane can be represented as

A(p) = M(p) + v

where M is a 2 X 2 matrix (the linear part) and v is a 2 X 1 column vector (the translation part). Here p is a point in the plane represented as a 2 X 1 column vector. In terms of components, if p = (x0, y0), then (x1, y1) = A(p) is expressed by

 x1 = m11*x0+m12*y0 + v1 y1 = m21*x0+m22*y0 + v2

where M = [mi,j], v = [vi] and 1 ≤ i, j ≤ 2.
• Each affine transformation maps the unit square S = [0,1] X [0,1] to a parallelogram or line segment. Moreover, each affine transformation A is a contraction; that is, the magnitudes of A's eigenvalues are less than 1 and A has an attacting fixed-point pfixed. This means that
1. A(pfixed) = pfixed
2. If p ∈ S, then Ak(p) approches pfixed as k goes to .

• Starting with a random initial point p0 in S, an affine transformation A is selected with probability weighted by the determinant of its linear part and a new point p1 = A(p0) is calculated and plotted.

Note: Affine transformations with determinant zero are assigned small probabilities to guarantee that they will be selected.

• This process is repeated over and over again. The set of all the generated points form the plot of the fractal.

For example, the Sierpinski fractal is generated by the three affine transforms

 A1: x1 = 0.5x0+0.0y0 + 0.0 y1 = 0.0x0+0.5y0 + 0.0

 A2: x1 = 0.5x0+0.0y0 + 0.5 y1 = 0.0x0+0.5y0 + 0.0

 A3: x1 = 0.5x0+0.0y0 + 0.250 y1 = 0.0x0+0.5y0 + 0.433

The small magenta, cyan, and blue squares displayed are the images of the boundary of S under the three affine transformations￼  A1, A2 and A3. Also, each has 1/2 as its only eigenvalue. Moreover, they have (0, 0), (1, 0), and (0.5, 0.866), respectively, as their attracting fixed-points.

Similarly, the Fern fractal is generated by using four affine transformation including A4

 A4: x1 = 0.0x0+0.0y0 + 0.4987 y1 = 0.0x0+0.3y0 + 0.0070

whose linear part has determinant zero. It maps S to the vertical line segment from (0.4987, 0.007) to (0.4987, 0.307). The linear part of A4 has eigenvalues are 0 and 0.3. Also, (0.4987, 0.01) is its attracting fixed-point.

For more details, see Introduction to Fractals and Chaos, Richard M. Crownover, Jones and Bartlett, 1995.

A. O. Hausknecht, Mathematics, UMass Dartmouth
The Fractal's Affine Trasformations
A1
 x1 = * x0 + * y0 + y1 = * x0 + * y0 + Eigenvalues: r1 = ?? r2 = ?? Fixed-point: (x, y) = ??

A2
 x1 = * x0 + * y0 + y1 = * x0 + * y0 + Eigenvalues: r1 = ?? r2 = ?? Fixed-point: (x, y) = ??

A3
 x1 = * x0 + * y0 + y1 = * x0 + * y0 + Eigenvalues: r1 = ?? r2 = ?? Fixed-point: (x, y) = ??

A4
 x1 = * x0 + * y0 + y1 = * x0 + * y0 + Eigenvalues: r1 = ?? r2 = ?? Fixed-point: (x, y) = ??

A5
 x1 = * x0 + * y0 + y1 = * x0 + * y0 + Eigenvalues: r1 = ?? r2 = ?? Fixed-point: (x, y) = ??