Contents of the BIOMORPH.DOC file
BIOMORPH: Fishing for Creatures in the Complex Plane
14 November, 1989
Scott Robert Ladd
705 West Virginia
Gunnison CO 81230
Legal Disclaimer (Yuck)
The software presented in this package is public domain. You
may do anything you please with this software. As such,
there are no warranties or guarantees whatsoever as to the
quality, suitability, or general functionality of this
software. If you use this software, you accept full
responsibility for what it does or doesn't do.
Personally, I hate these disclaimers; however, in the
litigious world we live in, you can't even give something
away for free without covering yourself. Frankly, I suspect
most people are generally appreciative that I've made this
stuff available to them.
This software was developed using Zortech's C++ v2.01 on a
20Mhz 80386-based PC running MS-DOS 3.30. By using my ZipGraph
library, which senses the type of video adapter installed in
a PC, this program will run on PCs using Hercules, CGA, EGA,
MCGA, or VGA video systems.
One last request: if you do use this class, I'd like to hear
from you. I'm interested in any changes you might make. If
you find any bugs (!), drop me a line, and I'll see what I
can do. Again, since this is free, I can't make any
guarantees about how quickly any bug will get fixed. But I
will do my best!
This archive contains the C++ source code for a fractal program
which generates biomorphs. It should contain the following files:
BIOMORPH.DOC -- This document!
BIOMORPH.CPP -- Source for the BIOMORPH program
BIOMORPH.COM -- An executable version of the BIOMORPH program
COMPLEX.HPP -- Complex number class header
COMPLEX.CPP -- Complex number class implementation
COMPLEX.DOC -- Documentation for the complex number class
(*) The following files are part of the ZipGraph library written
by Scott Ladd. These, along with their documentation, can be
download from the BBS listed above in the archive ZGLW_*.LZH.
ZG_LWLVL.H -- ZipGraph low-level functions header
ZG_LWLVL.C -- ZipGraph low-level functions implementation
If you do redistribute this code, please do so with all of
the files together in an archive. While I use LHARC to
distribute this package, you can use any archiver you want.
Just keep these three files together, since that's how they
What's a "biomorph", you ask? It's a fractal image similar to the
famous Mandelbrot set, generated by drawing pixels based on the
results of iterating a formula on the plane of complex numbers.
Biomorphs tend to exist with the the 20-by-20 area centered on the
origin of the complex plane, and resemble single-celled life forms.
I'm not going to give you all the details here. You can either find
papers by Clifford Pickover, the inventor of biomorphs, or you can
dig up the July 1989 issue of Scientific American which explains
this subject in detail.
For starters, try looking at a species 1 biomorph, with a constant
of (0.5,0.0), a power of (3.0,0.0), an origin of X:0 - Y:0, a range
of 1.5, and set the number of iterations to 10. That'll give you
an idea of what this program does!
BTW, this program produces black-and-white images. In most areas
of fractal research, black-and-white images are used because they
show more detail than color images.
I think BIOMORPH is an excellent example of an object-oriented C++
program. It uses class, objects, static members, the calling of
base class methods, and other goodies most books ignore. In fact,
it will be discussed in detail in my forthcoming book "C++
Techniques and Applications", to be published by M&T Press in
February of 1990.
Have fun. If you come up with anything interesting, drop me a line!