Fractals are pretty easy, really. Just think of something with the same complexity on all scales. Here's an easy one, called the "serpinski gasket":
Traw an equilateral triangle.
Divide it up into four new equilateral triangles.
Fill the center one black.
Divide remaining unfilled triangles similarly, coloring the centers black as you go.
Repeat. Forever. (Or, if this is real life, until your medium runs out of resolution.)
Some mathematical properties of fractals are hard to deal with, but for the most part they're fairly straight foreward:
Apply simple rules, end up with something that is not at all simple.
Rules for generating the mandelbrot set:
Divide the complex plane into pixels.
Each pixel's y coordinate corresponds to the imaginary component of a number, and the x coordinate is the real part. (The imaginary part of a number is the part which must be multiplied by the square root of negative one to get the "actual" number.)
Select a pixel. It's real and imaginary parts are its x and y coordinates, respectively. We'll call this number "C".
Calculate "Z sub 1", equal to: C+Zo^2, where Zo is just C.
If this result meets the criterion (x^2 + y^2)>2, color this pixel white.
If not, calculate "Z sub 2", equal to C+Z1^2, and check it.
Repeat for, oh, a hundred times or so. If it never meets the criterion, color it black.
Now do another pixel.
That's all there is to it. And this figure is infinitely complex. You can add some excitement to the picture by giving places different colors depending on how many repetitions were needed to pass the criterion. This generates most of the "pretty" fractals you see on boxtops, album covers, etcetera. Seriously.
All you programmers out there can now pull out your complex analysis books and write some programs to draw this mofo. Everyone else, check out Fractint, the oldest and best free fractal generator.
http://spanky.triumf.ca/www/fractint/getting.html