home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Crawly Crypt Collection 2
/
crawlyvol2.bin
/
graphics
/
fractal2
/
fractals.txt
< prev
next >
Wrap
Text File
|
1985-11-17
|
6KB
|
115 lines
FRACTAL2.PRG
Mandelbrot Set Generator Program
Originally programmed in "C" by Tom Hudson and published in
the January, 1986 issue of ANALOG Computing. GFA Basic
conversion, GEM support, etc. added by Blake Arnold (co-author of
Ultra-Graph from the November, 1988 issue of ST-Log).
Copyright 1989 by ANALOG computing, Tom Hudson, Phil Mast and
Blake Arnold. This program may be freely distributed as long as
all copyright notices remain intact and this documentation file is
included.
You should have a few files in the ARChive that this text
was extracted from, the most important file being "FRACTAL2.PRG".
The file "MANDEL.MBS" is the default Mandelbrot set, which is
automatically loaded in when the program is booted. If it is not
found in the same directory as "MANDEL2.PRG", you'll have to
redraw it from the default values. Loading the default fractal
(or any other fractal) set in allows you to zoom in on a part
without wasting time drawing it, but more on that later. Also in
the archive are several parameter files that will produce
interesting fractals.
Also notice I've included the source code. I wish more
authors would do this because I very seldom find a program that
has all the features I'd like to incorporate into it. Merge the
source into the version of GFA Basic you're using. If you think
you can improve on the modifications I've made, or want to add
something I haven't included feel free to do so (and make sure I
get a copy). However, if you just want to draw fractals I suggest
using the compiled program for speed.
I'm not going to go into detail on explaining the Mandelbrot
set. If you need more information on fractals in general,
Scientific American has published several good articles on the
subject. Specifics on the relationships of the parameter values
of this program can be found by reading Tom Hudson's original
article in the January, 1986 issue of ANALOG Computing.
Program Operation
Due to the need for as many colors as possible, the program
runs only in low resolution.
One hint on operating the program: increasing the number of
iterations increases the amount of detail the program will
produce. When increasing iterations keep in mind that there is an
inverse relationship between detail and drawing speed; while
detail increases the program's drawing speed decreases. I seldom
use over 300 iterations even for extremely small, detailed
fractals.
The program operates with two screens as DEGAS Elite does; a
click on the RIGHT mouse button flips between the screens. While
at the parameter screen holding the LEFT mouse button and clicking
the RIGHT button draws a fractal with the current parameters.
With those exceptions use of the mouse is normal.
Drop Down Menus
File
Degas Save - Saves a Degas picture of the current fractal
Save Fractal - Saves the current fractal (extender "MBS")
Save Parameters - Saves the current parameters (extender "MBP")
Load Fractal - Loads in a saved fractal
Load Parameters - Loads in saved parameters to draw a fractal
Options
Spectrum - The programs default color palette
Yellow - Two yellow palettes (select one)
Gradient - Red, Green, and Blue palettes (select one)
Sys. Default - Colors set at the desktop (use the Control Panel)
Draw it! - Draws a fractal with the current parameters
Input Data - Allows alteration of the current parameters
Iterations - Allows the number of iterations to be changed
Defaults - Restores default parameters
The program draws a fractal in 4 passes, each time filling in
more of the missing pixels on the screen. This feature allows you
to see what the final fractal will look like about 3 times faster
than calculating each pixel on the first pass would. It also
allows you to halt the drawing and zoom in on a portion without
waiting for the entire screen to be filled. To stop the program
while it's drawing a fractal, hold the RIGHT mouse button until
you hear a beep. After that the parameter screen will be
available (switch screens to get to it), or you'll be able to zoom
in on a portion of the fractal.
Steps on Zooming in on a Fractal
This may seem confusing at first, but once you try it you'll
see how easy it really is. It's actually easier DONE than SAID.
1. Go to the fractal screen
2. Click the LEFT mouse button until you hear a bell and the
"Center?" prompt appears at the top left of the screen. You are
now ready to zoom in.
3. Place the crosshair on the area that you wish to be the
CENTER of the fractal you will be drawing and click the LEFT mouse
button until you hear a bell.
4. The "Range?" prompt should now occupy the top left corner
of the screen. Place the crosshair 1/2 of the distance you wish
to be your total range to the right (or left) of your center mark.
5. The program will now draw a black frame that approximates
the screen size scaled to fit around your fractal. Your fractal
(when drawn) will include what is in the frame, but will be scaled
to fit the entire screen for greater detail. Also notice that the
parameters have been adjusted to reflect the new fractal's
coordinates and dimensions.
I think you'll find that this is the best fractal program out
for the ST. It may not be the fastest, but it's a lot easier to
use than some of the other fractal programs I've seen. If you run
into any bugs load the source code and fix them, or let me know
about them. I can be reached on Delphi (username 1BLAKE) if you
have any questions about the program.