Draws silhouettes of fractal designed trees. Freeware for Mac OS X.
It's a fractal program! It's a toy! Play with it, draw fractal tree silhouettes, and maybe even find something useful to do with it! Otherwise, please just have fun!
This release is all about making FractalTrees X more fun to play with. The program is after all a toy, so some major rendering engine changes are now available: always-on autofit, and asynchronous, interruptable drawing. Also new by request is pre-determined random values when you increase the height of the tree.
This program draws silhouettes of fractal designed trees. It implements a recursive algorithm that generates fractal trees to the depth you specify. The math behind it is sound, but the program is supposed to be fun. So, in the interest of fun, here's a list of what kinds of play you can do with it:
... All of this, and more, with an ultra-advanced interface* so easy to use you won't even have to think!
* ultra-advanced interface subject to change without notice
It may be hard to believe this, but this easy-to-use program isn't just a toy, it's a fractal workshop! That's right ... every fractal tree you generate is guaranteed** to conform to the principles of fractal mathematics. But what does that mean, you ask? Well, now I'm going to tell you.
** hah, that's just a joke, I guarantee nothing
Fractals are by definition geometric objects that have a fractional dimension. That means that they are not 1D, 2D, or 3D, but rather, something like 1.5-dimensional. That means that a fractal tree is like a line, that's on it's way to becoming a surface. You can see this with the program if you turn the branch depth waaay up, the fractal starts to fill in space.
Fractals also often display self-similarity. As you zoom in or look more closely at one part of the fractal, you see a copy of the whole thing. You can see this clearly in the program, especially if you turn the randomness off. Each of the subtrees is an exact copy of the whole tree. Even with randomness on, due to the algorithm I use, each sub-tree is what we call "statistically self-similar" which means that it still has the same fractal dimension, although there are variations in the subtrees.
The algorithm to generate the trees is incredibly simple. The program draws a "Y" figure which is the base of the tree. Then, it copies that figure recursively onto each of the two subbranches, then the next four subbranches, and so on. The depth setting controls where the algorithm stops. The higher the depth you choose, the more of the tree you will see.
A true fractal tree has an infinite depth. But practically speaking, you can only draw so many lines on the screen before you have to give up. This program goes to a maximum depth of 14, where you will see 16,383 lines on the screen. A depth of 20, for example, would require 1,048,576 (2^20 - 1) lines! Each time you add a level, the time to compute and draw the tree doubles.
So you see, this program actually demonstrates a mathematical concept, even though it is fun.
In order to give each of the random trees their variation, I use the Normal Distribution, also known as the Gaussian Distribution. This is also often called the bell curve because it looks like a bell when you plot it. The normal distribution is a distribution of random variables that is interesting because it appears so often in nature. All kinds of natural phenomena follow the normal curve. In the program, you can see what happens when you apply a normal distributed random variable to the lengths and the angles of the branches. The different settings change the standard deviation of the distribution that is used.
But I still haven't got to the most interesting point about the fractal trees, the real hum-zinger. Which is that with such a simple generating function and random elements, the trees look so life-like. With this program you can generate an infinite number of trees, no two of which will be the same. It is unlikely that any two people who run this program will ever see the same tree. Somehow the simple fractal pattern approximates the complex processes that real trees undergo as they grow.
Check out the links section of this document if you're interested in finding out more about fractals.
This really isn't intended to be an exhaustive list, just my personal favorites. If you want to find out more, I suggest you go to www.google.com and type in fractal.