## Overview

This program is a tool to draw geometric forms called fractals.

A fractal has the same structure no matter how far you zoom in.

For example, a tree has branches, each branch has branches, and so on.

If the number of branchings were infinite, the tree would be a true fractal.

## Instructions

Change the number of iterations a few times.

If iterations = 0, you will see a polygon.

If iterations = 1, each side of the polygon is replaced by line segments.

If iterations = 2, each segment is replaced by more segments, and so on.

If iterations = infinity, the pattern is a true fractal.

Usually about 5 iterations is a good approximation.

Experiment with the other controls to see how they work.

To create your own function, it is best to set iterations = 1 and sides = 1

before changing the points, x and y values.

The number of different patterns you can create is very large!

## Variables

Function |
A mathematical function to divide a line segment into several smaller segments. |

Sides |
The number of sides of the polygon. If sides = 1 or 2, the shape is instead a line. |

Iterations |
The number of times each line segment in the polygon is divided (infinite in a true fractal) |

Zoom |
Get closer or farther from the picture (1 is normal). |

Amplify |
Increase or decrease the y values of the function. |

Compress |
Move the x values closer or farther from the center of the function (x=0.5). |

Fixed Color |
The color to draw lines if the color scheme uses only one fixed color. |

Color Scheme |
The method used to color the image. |

Draw Mode |
Whether to draw lines, boxes or filled boxes. |

Center |
Amplify so the highest y value is at the center of the polygon. |

Negate |
Make the y values of the function negative. |

Mirror |
Reflect the x values about the center of the function (x=0.5). |

All iterations |
Draw all steps in the process of creating the fractal. |

Random |
Make a random change to one of the variables. |

Redraw |
Refresh the image in case it was somehow messed up. |

Reset |
Return all variables to their starting values. |

Points |
The number of points in the function. |

x1 through y7 |
The x and y values of the sub-segments in the function. The endpoints of the segment are (x _{0}, y_{0}) = (0, 0) and (x_{p+1},
y_{p+1}) = (1, 0). |