A fractal is a never ending pattern that repeats itself at different scales. Fractals are seen everywhere in nature including lightning bolts, blood vessels and hurricane patterns. They often repeat a simple process indefinitely so that it can continuously be zoomed into while seeming to never end. The graph for a fractal pattern is continuous everywhere but nowhere differentiable.

The branching patterns of trees represent a fractal pattern. All branches connect to the trunk of the tree much like a tree data structure. A tree is an abstract data type in which each node may have children and belong to a parent node but all nodes trace back to one root node. An example of a fractal tree structure is a binary fractal tree, which is defined recursively by symmetric branching. There exists a root branch which has two branches and every branch that follows also has two branches. This is a recursive pattern. I used different approaches to implement each fractal tree, weighed the pros and cons to each method. I was able to add features such as color using Canvas.

Simplicity leads to complexity!