Home
Projects
  Software
  Downloads
  Links
  Authors
  Contact Us

 

 

 

Fractal Trees with Robo-Art

by Emily (age 12), Kaylee (age 14) and Mike (age 46)

Our project is about fractal trees. A fractal is a pattern that repeats itself at different scales. As you zoom in on a fractal pattern you can observe that each fragment of the pattern is a mimic of the pattern at large. This is why fractals are often called "self-similar". Many things in real life can be modeled as fractal-like. A "fractal tree" is a type of fractal pattern that results in a realistic looking tree.

Above are various fractal trees created with our VisualBots simulation.

The simulation we created produces fractal trees using "robotic art". Imagine how difficult and tedious it would be for an artist to draw a realistic looking tree. The artist would start off by drawing the trunk, then the main branches, the smaller branches, the even smaller branches, twigs, and finally the leaves. This complex process can be transformed into a very simple one by taking a completely different perspective - one from the bottom-up as opposed to the top-down approach that an artist would take. Our simulation breaks the process of drawing a tree into individual branches or segments, and employs thousands of individual "robo-artists" to help draw each segment.

The simulation starts out with one Bot at the base of the Screen display from where the tree will start to grow. The Bot will draw its segment of the tree and then clone two new Bots, each of them will draw their part and clone two new Bots, and so on. Each Bot follows a set of very simple instructions:

  1. Reduce segment length to draw by some fraction of its parent's
  2. Set direction equal to its parent's plus or minus some constant angle
  3. Draw a segment by moving forward
  4. Clone two new "robo-artists"
  5. Die - its job is done

When two new Bots are cloned, one points to the left of its parent's heading, and one to the right, before drawing their own segments. This behavior gives the tree its branching pattern. Because the Bots inherit only a fraction of their parent's speed, the segments get smaller and smaller as the tree grows larger. The parameters that give a tree its distinctive appearance are the first Bot's speed, the fraction to decrease speed between generations, and the angle to deviate from the parent's direction. To make more realistic trees, an element of randomness can be introduced to vary each of these parameters by a certain amount.

The fractal trees shown above were made with our VisualBots simulation by varying the tree parameters mentioned above and adding an element of randomness to the deviation angles. The tree's graphics are made up of the Bot trails that are drawn before each dies. Additionally, we varied the branch (Pen) thickness and color between generations to give the simulation more realism. We even added a blossoming special effect (see upper right tree image) by turning the last generation of Bots visible and coloring them white.

We used 12 generations of Bots to construct each tree - that amounts a total of 12,285 robo-artists to draw a single tree, after accounting for all those that gave their lives for art. In the last generation alone, 4,096 robo-artists are needed to draw the final "level" of tree complexity. There is no reason other than screen and eyeball resolution that we stopped at 12 generations - one could keep on making new generations, creating more and more levels of complexity. The fact that each generation of robo-artists plays by the same set of rules as its parents, only differing in scale, is the reason why fractals are "self-similar". To the right is an image of one of the trees that were created using our simulator (without the randomness element). Careful examination reveals repeating versions of the larger tree as one zooms in on the details.
 

Below is a snapshot of the Fractal Tree simulation control panel in Excel. We added buttons for changing the characteristics of the simulated trees. This was a fun project and we learned alot about fractals. We also learned that sometimes tasks seem much simpler when viewed from the "bottom-up" - from the perspective of the individual pieces that make up the whole.

Back to projects main page       << prev project       next project >>

 

 
 
Home Projects Software Downloads Authors Links Contact Us
Copyright ©   This sited last updated Jan 05, 2008