A fractal is a essentially a geometric (mathematical) pattern. In fact, fractals can be found all around you in your every day life in things like plants, clouds, and even the blood vessels in your body!
Simply move your mouse over the fractals.
The cantor set was one of the first fractals to be studied in detail and is perhaps one of the simplest to generate. Just take a line, remove some percentage of its length from the middle (eg 1/3). Then continually repeat this process for each sub-line (each line on either side of the newly formed gap).
The Pythagoras tree starts with a simple square. Next two slightly smaller squares are placed on top such that their corners match up pairwise (forming a triangle composed of two right triangles). This is then repeated for each "branch" of the tree. By moving your mouse up and down in the middle of the canvas below, a true Pythagoras tree can be seen. If the mouse is moved at all to either side, an asymmetric tree is generated.
The koch curve (if you want to call it a curve) is created by taking a line segment, dividing it into thirds and constructing an equilateral triangle in place of the center third of the original segment. An interesting fact about the Koch curve is that it has infinite length as at each step in the generation process the overall length of the line is increased by one third. As well for the math nerds out there: The Koch curve is continuous but not differentiable.
An H-Tree is constructed very much like a real tree (though not random by any means). It gets it's name from the fact that when the angle between the two branches is 180 degrees, an H shape is formed. Oddly enough, this pattern has been found to be useful in designing small antenna.
The Sierpinski Carpet is created by dividing the original shape into 9 squares then removing the center square. This process is then repeated recursively for the other 8 squares. Fun fact about the Sierpinski carpet: If an infinite number of iterations is performed, the total surface area of the carpet is eventually reduced to zero.
If you're interested, click here to read about some of the implementation details.