and my boss offered to let me take a couple of classes at SIGGRAPH '87 on the company dime, so I signed up for the all-day fractals class -- and came out with my mind completely blown.
There were maybe a hundred people in attendance; the class was chaired by Heinz-Otto Peitgen, and all the heavy-hitters except Mandelbrot were there to lecture. I still have the spiral-bound course notes, later reprinted (in color!) as
The Science of Fractal Images. When I got home, I fired up my honesttogod original IBM PC and broke out the C compiler; had a diffusion-limited aggregation sort of thing and a Sierpinski triangle running before I went to bed.
Since then, I've tried to program every kind of fractal I knew of. This hasn't happened, it being pretty much impossible to hold a day job and fool around with this stuff as much as I'd like, but I took a pretty good bite out of things. I've lost most of the code along the way, but no matter; part of the beauty is how absolutely simple the core algorithms are. 99% of a program tends to be fooling around setting everything up, etc., then the real fractal computation takes a few lines.
Some of the images I've seen in the gallery here are absolutely amazing. I thought I'd cooked some good piccies over the years, but -- wow.
My Day Job™ is coding games. I have a GDC Game of the Year award from the mid-90s; some of the game's landscapes were brewed by good ol' midpoint displacement done by a program I wrote (which pretty much got me the job in the first place) cribbed from the SIGGRAPH course notes.
The code still lives, only it runs somewhat faster these days. The IFS bird-thing in the foreground took about 30 minutes (done separately then pasted in later with Photoshop, natch -- nothing fancy, just linear transforms), but the landscape and clouds (what the program is really about) took a few tens of milliseconds. The clouds are precisely the landscape, just shown differently. The image is 8M triangles, originally rendered at 4096 pixels across. I'm working on a way to tile a planet given 128 bits of starting parameters; the goal is to be able to generate the terrain as fast as you can fly over it. I pull all kinds of horrible cheats to get it to run fast, from pointer arithmetic to dropping into assembler for the really time-critical parts -- stuff that would make your comp sci professor run screaming from the room -- but it does move right along. Considering I've been fiddling with it off and on for 25 years, it'd
better.Anyways, hello all! This place was a delightful find. There are some mind-boggling things in the gallery, and my hat's off to those who put them there.