While attempting a masters degree in math I came across a little article about fractals. Since then I've generated hundreds of my own. Here are some of them:

Fractals

Image

Size

Comment

fractal1

291Kb

Etched jewels

fractal2

188Kb

Magic wind

fractal3

134Kb

Definitely one of my favourites

fractal4

77Kb

This one's kind of ugly

fractal5

571Kb

Fungal frost--not as bad as it sounds

fractal7

63Kb

Black and white

fractal8

135Kb

Seahorse like tendencies

fractal9

554Kb

Almost the same as fractal1 but daintier

fractal10

159Kb

Cartoon-like

 

Here is some Borland C++Builder code to draw a fractal:

 

void TForm1::Draw()

{

if ( bmp_valid ) return;

else Button1->Enabled = false;

 

const int maxiter = 100; // use 10000 for the other interval, commented below:

double minx, miny, maxx, maxy;

 

minx = -2.2; maxx = 1.2;

miny = -1.4; maxy = 2.4;

// minx = 0.155206; maxx = 0.155207;

// miny = -0.650837; maxy = -0.650836;

 

double cr, ci, zr, zi, zsq, tmp;

 

cr = ci = 0.0;

 

TCanvas *cnv = bmp->Canvas;

int w = PaintBox1->Width;

int h = PaintBox1->Height;

 

for ( int i = 0; i < w; i++ ) {

for ( int j = 0; j < h; j++ ) {

cr = minx + i * ( maxx - minx ) / w;

ci = miny + j * ( maxy - miny ) / h;

int count = 0;

zr = 0.0;

zi = 0.0;

zsq = 0.0;

while ( (zsq < 4.0) && (count++ < maxiter) ) {

tmp = zr * zr - zi * zi;

zi = 2.0 * zr * zi + ci;

zr = tmp + cr;

zsq = zr * zr + zi * zi;

}

if ( count == maxiter ) {

cnv->Pixels[i][j] = clBlack;

} else {

cnv->Pixels[i][j] = 1 + count * maxiter; // RGB( count, count, count );

}

}

PaintBox1->Canvas->Draw( 0, 0, bmp );

Caption = "Column " + IntToStr( i );

}

bmp_valid = true;

Button1->Enabled = true;

} // end TForm1::Draw()