home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Share Gallery 1
/
share_gal_1.zip
/
share_gal_1
/
GR
/
GR044.ZIP
/
ASET26.DOC
< prev
next >
Wrap
Text File
|
1990-05-01
|
26KB
|
421 lines
MANUAL FOR ASET VERSION 1.6 and 2.6
MANDELBROT and JULIA SET GRAPHICS
Copyright (c) 1989 - 1990 Image Laboratories
INTRODUCTION:
This disk contains three executable files, FRACTAL.EXE, ASET16I.EXE (or
ASET26I.EXE), and ASET16A.EXE (or ASET26A.EXE), along with
documentation in ASET26.DOC and several palette files which end in
.DAT. Versions 1.6 and 2.6 of the program are identical except that
Version 2.6 has an image record/playback feature. Version 2.6 has been
distributed only to those users who have registered their copies of the
ASET software. Those parts of this manual which refer to the recording
or replaying of images are only applicable to users of Version 2.6.
The executable files are known collectively as ASET. These programs
allow you to draw graphic representations of the well known Mandlebrot
Set and the lesser known Julia Set. Both of these sets are
representations of a function of a complex variable which were first
popularized through computer graphics by Benoit Mandelbrot. The Julia
Set is named after Gaston Julia, one of the pioneers in the field of
mathematical functions which exhibit chaotic behavior. In fact,
Mandelbrot was studying Julia Sets when he discovered the Mandelbrot
Set. It is not necessary to know the details of complex variables or
their algebra to use or enjoy the fascinating behavior of these sets.
It is helpful, however, to understand what is being plotted to navigate
and explore the nearly limitless variety of designs to be found in this
'four dimensional universe' of the function.
If you are familiar with earlier versions of this program, you will
notice that the Mandelbrot and Julia Sets were generated by separate
programs. These programs have been combined into the single ASET
program in this release for the convenience of the user. You will also
notice that images can be recorded, replayed, palettes defined, and
that a 'microscope' function has been added to allow you to magnify
interesting parts of the image.
A Short Mathematics Lesson:
This is not mandatory reading, but only for those interested in the
details of the calculations the computer is making. Think of your
computer screen as an X Y plane. To make it a complex plane, we assign
a vector Z to any point on the plane with the equation
Z = Zr + i Zi = X + iY
where Zr and Zi are the 'real' and 'imaginary' parts of Z and i is the
square root (sqrt) of -1. Of course, there is no sqrt -1 so by
convention i is called 'imaginary'. Using ordinary algebra
2 2 2 2
Z = (X+iY) = X - Y +2iXY.
All the algebra of complex numbers follows the algebra of ordinary
numbers where the 'real' terms are collected together and treated as
one group and the 'imaginary' terms are collected and treated as
another group. This makes the 'real' and 'imaginary' axes independent
or orthogonal. Note i * i = -1.
The magnitude of Z is defined as the length of the X Y vector
2 2
magnitude(Z) = sqrt(X + Y ).
The points in the Mandelbrot and Julia Sets are calculated in the
following way. Define the recursive formula
2
Z = Z + C
n+1 n
where Z is defined as 0 on the first pass and C is a point in the
complex plane. Since C is complex, both C and Z have real and
imaginary components, i.e. Cr, Ci, Zr, and Zi. This formula is
calculated over and over again until its magnitude exceeds 2. This
formula has the curious property that as long as the magnitude of the
complex vector remains less than 2 the magnitude of the next value of Z
may also be less than 2. However, once the magnitude exceeds 2 it will
never again be less than 2 and can reach very large magnitudes over the
next few iterations. The fascinating thing about this function is that
adjacent points which have almost identical coordinates have greatly
different degrees of stability, i.e. one point may quickly 'blow up'
and the other not.
Plotting The Points:
Each point on your computer screen represents a point which has a
stability associated with it as defined above. Each point on your
computer screen in the graphics mode has a pixel associated with it.
The program calculates the stability of each point on the screen and
assigns a pixel color and brightness as a function of the stability of
the point. Some points are infinitely stable, e.g. X = Y = 0. Others
blow up immediately, e.g. (X*X+Y*Y) > 4. Between these extremes there
are relatively sharp boundaries, and it is at these boundaries that the
beauty of the Mandelbrot Set lies. The program allows the user to set
the location of the central pixel on the screen, the range of values of
the pixels calculated over the screen's surface, and the palette of
pixel colors and brightness assigned to the pixels as a function of the
point's stability.
To generate the Mandelbrot Set, we set Z = 0 on the initial pass
through the equation 0
2
Z = Z + C
n+1 n
and mapped the equation in the complex plane of C. Notice that this
equation has two complex terms; C and Z. Each of these terms
represents a two dimensional plane, and the planes are not in the same
space. In fact, it is not possible for these planes to have more than
one point (not intersecting line) in common. The Julia Set is
generated by setting the value of C as a constant for a whole set and
incrementing the real and imaginary parts of Z to define the pixel
0
values across the computer screen. The Mandelbrot Set maps the
equation in the C plane and the Julia Set maps the same equation in
the Z plane. The characteristics of the Julia Set are important
0
to understand if you are to control the images produced. If C values
are picked which are in a stable region of the Mandelbrot Set, Then the
Julia Set will appear as a connected figure with a boundary which may
appear simple. As the value of C is moved near the edge of a stable
region in the Mandelbrot Set, the boundary of the Julia Set exhibits a
more complicated structure. Once the value of C crosses the Mandelbrot
boundary into an unstable region, the Julia Set explodes into a set of
of small regions which quickly evaporate as the value of C moves
further into the unstable region. Because the appearance of the Julia
Set depends on the value of C chosen, there are as many Julia Sets as
there are values of C. There are many Julia Sets; there is only one
Mandelbrot Set.
RUNNING ASET16 OR ASET26:
There are six parameter sets which are used to control the ASET
program:
- whether the computer has a math coprocessor,
- the type of graphic display (hardware),
- the palette used to determine the pixel values (colors), including
a user defined palette,
- whether the image is to be recorded, replayed or neither,
- the number of iterations of the recursion executed before the
program deems the point 'stable' and moves to the next pixel,
- which plane (Set) to plot, the location of the center pixel on
the screen, and the range of pixel values covered by the X and
Y axes,
The program is started by typing FRACTAL and a carriage return. First
you will be asked if the system has a math coprocessor
(8087/80287/80387) installed. The program then loads one of the two
other executable files on the disk and runs it. If you press 'Y' for
'yes'or 'N' for 'no', you will be asked to choose between the fast
version or the high resolution version of the program. If you have no
coprocessor and are using a range greater than 0.02, pick the fast
version of the program. This runs a special version of ASET16A.EXE
(ASET26A.EXE), which is 5 to 10 times faster than the high resolution
version of ASET16A.EXE (ASET26A.EXE) and produces a satisfactory image
in these ranges. More about range later. If you select the high
resolution mode with a math coprocessor, ASET16I.EXE (ASET26I.EXE) is
run and the coprocessor is used if present. Since FRACTAL.EXE must
call either ASET16I.EXE (ASET26I.EXE) or ASET16A.EXE (ASET26A.EXE), all
three of these files must be in the default directory.
You will then be asked to indicate which graphics card is installed in
your computer by using the function keys. Then you select the palette
desired. The palettes available vary with the graphics card you have
picked.
- The CGA card will show four available palettes, F1 through F4. The F1
and F2 palettes are the same, execpt for color, as the F3 and F4
palettes respectively. F9 allows the user to subistute a palette which
has the F1/F2 colors and F10 a user palette with the F3/F4 colors.
- The EGA card has three palettes available as well as a user
subistituted one.
- The VGA card provides six palettes and opportunity for the user to
substitute their own palette with one of two color spectrums. F1, F3,
and F5 use colors from the blue side of the spectrum while F2, F4, and
F6 use colors from the red side of the spectrum. F9 uses the blue
spectrum and F10 the red spectrum for user provided palettes.
- The Hercules card has two palettes with the opportunity for the user
to substitute his/her own.
How the points appear on the screen depends on the palette chosen. As
a rule, low palette numbers are better for the larger ranges. And then
there is the matter of aesthetics.
The range over which you can experiment has been greatly expanded with
the F9 or F10 keys which allow you to load your own palette through a
file you have written before running ASET. You can use a DOS path in
the file specification if the total keystrokes in the specification do
not exceed 17. If you do not specify the path, it is assumed that the
file is in the default directory. The file can be written with any
editor (such as EDLIN) or word processor which allows text to be stored
as an ASCII file. The file consists of 32 numbers ranging between 0
and 15 for VGA and EGA, 0 and 3 for CGA, and 0 and 1 for Hercules.
These numbers are separated by spaces or carriage returns. Examples of
these palettes in the files VGA-EGA.DAT, CGA.DAT, AND HERCULES.DAT are
found on the disk. Each number represents a color which is the color
displayed when the function for that point reaches its stability
limit. The numbers appearing near the front of the file are the colors
displayed for unstable points. Those later in the file for relatively
more stable regions. The specific colors displayed depend on the
graphics adapter mounted in your computer. These colors are:
# Hercules CGA CGA
F9 key F10 key
0 black black black
1 bright cyan green
2 no use magenta red
3 no use white yellow
EGA VGA VGA
F9 key F10 key
0 black black black
1 blue dark dark blue dark wine
2 green dark blue deep wine
3 cyan deep blue dark dark red
4 red medium blue dark red
5 magenta blue deep red
6 brown bright blue med. deep red
7 white light blue medium red
8 gray cyan bright red
9 bright blue light cyan orange red
10 bright green blue green red orange
11 bright cyan bright green light orange
12 bright red light green orange yellow
13 bright magenta yellow green med. yellow
14 bright yellow bright yellow bright yellow
15 bright white pale yellow pale yellow
There are no simple rules for picking the most pleasing set of
colors for an image. It is left to the user to experiment.
Experiments are most easily performed on recorded image files
because the underlying images are always the same and it only takes
a few seconds to display the image with its new palette. The
palette is not recorded with the image. The palette is just an
interpreter between the image and the display. If this explanation
is confusing, try a few of your own palettes and you will quickly
get the hang of it.
If you are using Version 2.6, you are next asked if you wish to record
the image, play back a previously recorded image, or ignore the
recording/playback feature. You can use a DOS path in the file
specification if the total keystrokes in the specification do not
exceed 17. If you do not specify the path, it is assumed that the file
is in the default directory. There must be enough room on the disk
where you record the image. Full Hercules requires 250k bytes, coarse
Hercules 63k, CGA 64k, EGA 128k, extended EGA 224k, and VGA 307k.
Images should be played back in the same mode in which they were
recorded. Otherwise, strange but not dangerous things happen. You can
guess what mode an image was recorded in by the file size. If you
choose to replay an image, the following steps are skipped.
Next, you can choose the number of iterations desired. This is how
many iterations the computer makes on a stable point before it gives
up. A low number speeds up the painting of an image in an area which
has many stable points, but detail is lost and the colors displayed are
affected. The effects, however, may be pleasing. As a rule images
which have large ranges can do with fewer iterations. An image with a
range of 1.0 will be fine and be quickly produced with 32 iterations
while an image with a range of .01 will be significantly improved with
the greater detail found with 128 iterations. It also will be noticed
as you select larger numbers of iteration, palettes with lower numbers
produce more pleasing results, e.g. if an image with a range of .1
using palette F2 and 64 iterations is pleasing, then the same location
and range using 128 iterations will probably be best using palette F1.
Experimenting is required.
ASET next asks you whether you want to display the Mandelbrot or Julia
Set. Then you must enter the values for real and imaginary values for
the C and Z parameters. These will be the values of the X and Y axes
0
for the pixel in the center of the screen. As explained in the math
lesson above, all four parameters are needed to define the Julia Set,
but a true Mandelbrot Set assumes the values of Z are both zero. If
you wish a true Mandelbrot image, enter zero for both Z parameters.
Adventurous users, however, may be interested in the effects of numbers
which are not zero in the Z parameters. The range value is the range
spanned by the X axis. For example, if the X value entered (for the
center pixel) is 0 and the range value entered is 1, the range of the X
axis will be from -0.5 to +0.5. The range of the Y axis will be
automatically set so that the image is not distorted. The smaller the
range, the greater the magnification. In this respect, the range is
like the altimeter on an airplane. The smaller the number, the lower
the altitude and the larger everything appears.
ASET now has all the parameters needed to calculate the stability of a
large array of points on the computer screen. It takes a long time to
complete a Mandelbrot or Julia Set. Just how long depends on the
display selected, the computer clock rate, the microprocessor (8088 or
80286), whether there is a coprocessor present, and the nature of the
area selected (stable areas take longer to calculate than unstable
areas). As indicated above, the CGA display requires 64,000 points,
EGA requires 128,000 points, extended EGA requires 243,200 points, the
Hercules requires 250,560 points, and VGA requires 307,200 points. The
coarse Hercules mode plots only 62,000 large pixels and is four times
faster than the normal Hercules mode. Rough approximations are that a
10mHz AT with an 80287 coprocessor in the CGA mode and in an unstable
area can complete an image in 5 minutes where a Hercules monochrome
graphics equipped 4.7mHz XT in the Hercules mode in a stable area can
take over 10 hours using the high resolution mode. This same 4.7mHz XT
will complete the same image in 2 hours using the fast mode. Patience
is required, but the results are often worth it. Extreme patience is
required if you do not have a coprocessor and run in the high
resolution mode. It is now obvious why the recording feature is so
valuable. If you run out of patience, you can stop the process at any
time by typing 'S' for stop.
When the image has stopped by either normal completion or pressing the
'S' key, you have two choices. You can either leave the program by
pressing the 'End' key or you call up a set of 'microscope' cross hairs
on the image by pressing any of the arrow keys. The arrow keys can
move the cross hairs anywhere on the image. The cross hairs allow you
to select any location in the existing image to be the center of the
next image. The purpose is as follows. It is common that when an
image is complete that there is a feature of the image that interests
you, or maybe you wish the image to be positioned differently on the
screen. Place the cross hairs on the object you wish to be centered
and press the 'End' key. The location of the cross hairs will
automatically be entered for the C and Z parameters and a new range is
requested. If you wish to view the object which was under the cross
hairs more closely, put in a range which is smaller (lower altitude)
than was used the last time. You can also use the same or a larger
range than the previous time depending on what the purpose is. Most of
the time you will use this feature to examine the selected object more
closely so this feature is referred to as the microscope. You will not
be able to change the other parameters such as the palette, recording,
iterations, Mandelbrot or Julia. If you were recording the image, the
new image will be recorded over the old one and the old image will be
lost. The cross hairs work perfectly well on partially completed
images which were stopped with the 'S' key. The microscope also works
on replayed images.
Tips
A good way to begin is to view the entire region of interest in the
Mandelbrot Set. Enter the location Zr = 0, Zi = 0, Cr = -.5, Ci = 0,
and a Range = 3. The dark areas near the center of the screen are very
stable areas. They are sometimes called 'lagoons'. The borders to the
lagoons have the most intricate patterns and are the most interesting
to investigate. The dark areas near the edges of the screen are very
unstable and of no interest. This is a slow image to complete because
there are many stable points in the image. Images with many stable
points proceed much faster if a low number of iterations are
selected. Next, it is instructional to locate an interesting area and
to zoom in on it with successively smaller ranges (larger
magnifications) using the microscope. One of the most fascinating
characteristics of the Mandelbrot Set is that no matter how high the
magnification of the Set, the detail is never lost. Note also that the
patterns repeat over and over again. The characteristic of repetitive
patterns at finer and finer detail is called 'fractal', a word coined
by Benoit Mandelbrot. The ASET program uses single precision floating
point in its calculations for speed. This is the only limit to the
detail in the patterns and is not a problem to even the serious user.
This is not true for the fast version of the program used with
computers without a math coprocessor. This program loses detail below
the range of 0.02.
It is very useful to keep a notebook or log of the points you have
tried or are trying. Believe me, having your computer grinding away
for hours on a Set which proves to be beautiful and not remembering the
location and range is very frustrating! The location of a set can be
recalled by using the microscope and not moving the crosshair. When
the 'End' key is pressed, the coordinates of the previous set are
displayed.
Let's go through one example before you take off on your own. Start
ASET with FRACTAL and go through the menus selecting appropriate values
and select the Mandelbrot Set (F1). Enter 0 for Zr and Zi, -.75 for
Cr, .11 for Ci and 1 for the range. This shows an enlarged view of
the lower left edge of the major lagoon in the Mandelbrot Set. The
image takes a long time because there are many stable points in the
image. When the image is complete, press an arrow key and the cross
hairs of the microscope will appear. You can practice moving the cross
hairs if you wish, but try to return them as close to the middle of the
image as possible. Press the 'End' key and enter .2 for the range.
This will enlarge the image 5 times over the previous one. You are
right on the edge of a lagoon and much fine detail will be visible.
When the image is complete this time exit the program by pressing the
'End' key and restart the program. This time select the Julia Set (F2)
at the appropriate place. Enter 0 for Zr and Zi, -.75 for Cr, .11 for
Ci and 2.5 for the range. Notice that except for the range, these are
the same values entered for the Mandelbrot Set. Notice how many of the
shapes resemble each other in the true fractal fashion. They may
remind you of elephants if you are using Hercules graphics. Use the
microscope to investigate features in this image. If you select one of
the small bumps on the back of an 'elephant' and enlarge it you will
see many more 'elephants'.
Now you are on your own to explore. Drop us a line if you have any
suggestions.
CONCLUSION:
ASET is copyrighted (c) 1989 & 1990 by Image Laboratories. It is for
private use only and may not be modified or sold commercially without
written permission. Version 1.6 may be freely copied and distributed
in its unmodified form. If you find ASET entertaining, please support
the shareware concept by registering your copy. A copy of Version 2.6,
or the most current version which provides for image recording and
playback, will be sent to you when you register your copy by sending
$35 to:
Image Laboratories
67 Old Stage Road
Chelmsford, MA 01824
Registered owners can upgrade their older copies of ASET by sending $5
to the address above.