home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Vectronix 2
/
VECTRONIX2.iso
/
FILES_07
/
FRACTENG.LZH
/
DOCUMENT.FE2
/
MANUAL.TXT
next >
Wrap
Text File
|
1996-04-28
|
74KB
|
1,382 lines
The Fractal Engine v2 for the Atari ST family by Dan Grace
Introduction and User Guide by Mike Harris
(c) gh Fractals July 1993
Revision: 1.1 - 27/07/93
------------------------------------------------------------------------------
Contents:
Prologue
1 Introduction
2 What is chaos and what are fractals?
2.1 A brief history of fractals
2.2 The mathematics of fractals
3 User Guide
3.1 Drawing simple fractal images
3.2 Julia sets and zooming
3.3 Editing parameters
3.4 Loading and saving
3.5 Changing the Palette
3.6 Batch mode operations
4 Miscellaneous
4.1 A word about accuracy
4.2 Hunting for fractals in the complex plane
4.3 Fractal Engine support and the legal side of life
4.4 Useful addresses and references
------------------------------------------------------------------------------
Welcome to the Fractal Engine II !
This application has grown from the original version that was published on cover
disk 42 of ST Format magazine at the beginning of this year. It has been
greatly enhanced to provide a multitude of new functionality as well as building
on the facilities of the original. The look and feel of the original has been
kept as much as possible but does differ considerably from version one; this
will become apparent later. Those users who have used the previous version will
find no difficulties transferring then new one - in fact, it is now much less
cumbersome and a lot more flexible. New users will find it simple and easy to
use and a lot friendlier than the majority of other fractal applications in
existence. This document is split into several sections, as follows:
Section One - Introduces some of the concepts behind the fractal engine and
hi-lights the main functionality as well as the differences over and above the
original version and other major fractal applications.
Section Two - A short discussion on fractals for the more interested reader who
doesn't wish to wade through textbooks.
Section Three - The User Guide, at last. Explains the general layout of the
program and how the functionality is related. Describes the operations in
context of subjects concerning fractal images and also gives examples and hints
and tips for producing your own stunning images. Note: the user guide assumes
you have a basic knowledge of how your computer works - it does not mention the
handling of disks, the use of fileselect boxes or warnings given with alert
boxes. If you are unsure about any of these things, consult your computer's
manual. Also, all work done with FE2 should use a working copy; it would be
unwise to use your original as this contains default information, for basic
operation, which could be overwritten. Copies should always contain the
information contained in the default directory.
Section Four - Answers any commonly asked questions that might occur and
includes any other useful pieces and information such as contact addresses and
references.
This document currently chronicles the version of the Fractal Engine II for the
Atari 520 STE/STFM in low resolution (A medium resolution version could be
available on request). It has full compatibility with all other Atari ST
machines and has been proved to run on the Atari TT030. Other versions are and
may be currently in the pipeline, as follows:
Atari TT030 - Although both FE2 and FE1 will run on the TT (in ST low resolution
mode), it does not make full use of the TT's capabilities in terms of memory or
graphics. We are currently considering a special version for this machine but
only if the demand is there.
Atari Falcon - As of yet the Atari Falcon has not really taken off and we do not
have one. This is an excellent machine but not currently supported by GFA
Basic. Conversion would be too lengthy to use a different compiler or
language. Also we cannot currently get our hands on a Falcon. If anyone is
feeling generous then the address is at the end of this section.
PC: Windows 3.x - We are currently working on a Beta version of FE2 for the PC
to run under Microsoft Windows 3.x. This will soon be underway, so look out.
We are aiming to support Intel 80286 and up processors with a hard disk and VGA
modes supporting 256 colours in 1024x768 resolution. The PC version, it is
hoped, will provide all of the functionality of the Atari ST version and provide
file format compatibility. We are not going to convert FE1 for the PC and an
MS-DOS version of FE2 is not planned.
UNIX/X-Windows - A Beta version of a C++ object library for producing fractal
images in a generic manner under X currently exists and is available freeware
from the address at the end of this document. The library can produce
two-dimensional images using the Level Estimator and Binary Decomposition
methods and three-dimensional using Riemann spheres and CPM height
displacement. FE2 for X is not currently planned as this will mean extensive
code conversion, but it is a possibility.
Contacting us with an S.A.E. will mean we can send you a fact sheet detailing
current developments and future plans.
The following products are currently available :
The Fractal Engine version one for the Atari ST £ 3 $ 6
The Fractal Engine II (Atari ST includes registration) £10 $20
Fractal Library for X-Windows £ 3 $ 6
Radish - Musical compilation while you fract. £ 3 $ 6
FE1 and X library charges are for disk and postage only and are freeware. The
full release of FE2 for the Atari is shareware, unfortunately. We would rather
freeware but we need to cover our development costs. If you currently own an
unregistered copy then please register as we can then offer you the following:
- Support for FE2 and information on any developments.
- Disk containing co-ordinate and animation files, extra fractal
utilities to use in conjunction with FE2 and some additional
non-fractal utilities.
- The ability to continue developing new applications for you.
- A clear conscience!
Send a cheque or postal order made payable to 'Daniel Grace' for the sum given
above to:
Fractal Engine,
Garden Flat,
20 Bristol Road, Lower,
Weston-Super-Mare,
Avon, BS23 2PW
------------------------------------------------------------------------------
1 Introduction
------------
Description
The Fractal Engine 2 (FE2) is a multifunctional fractal image generation program
which is capable of creating images in two and three dimensions. These images
can be viewed and manipulated in the application itself, saved in a file format
suitable for importing into an art package or used to produce an animation
sequence. There are many different types of fractal family for which images can
be created; in several different display formats including three-dimensional
pictures. This gives the user an infinite number of chaotic creations that they
can produce with a minimum degree of effort.
Features
* Eleven different complex planar fractal types.
* Three-dimensional landscaping and Riemann sphere mappings.
* Random fractal mountains and clouds.
* Fractal popcorn using strange attractors.
* Diffusion Limited Aggregation for growing fractals.
* 16 and 32 bit integer routines for fast image creation, where
appropriate.
* Full interactive colour-palette editing facilities with 480 internal
palettes.
* Loading and Saving of image data separate of image.
* Saving images in standard file format (Degas/Neochrome).
* Easy to use interactive GUI.
* Compatibility with version one of the Fractal Engine.
What's new with version two?
FE2 features a number of major and minor differences with its predecessor (FE1)
with features added, removed and modified. These are summarised, as follows:
* Three new complex fractal methods are provided in addition to the
eight original ones. These are Spider, Conjugate and a new Cubic.
* Fractal popcorn, mountains, plasma clouds and two types of Diffusion Limited
Aggregation (DLA) are provided in addition to the standard fractal types.
These are random fractals and produce more natural looking images.
* Three-dimensional fractal landscapes of the quadratic, two cubics, conjugate,
spider and jellyfish fractals can be created to give striking images.
Spherical mappings of all complex fractals except Newton's and degree-four
can be performed to produce fractal planets.
* Overlay option allows the new image created to be drawn over the
existing ones to produce combination images such as a fractal mountain over a
spherical mapping over a plasma cloud. This is useful to produce landscape
scenes suitable for importing into an art package.
* Integer 16 and 32 bit arithmetic is used with the quadratic, two cubics,
conjugate, spider and jellyfish fractals to greatly enhance the speed at which
these images can be created. This precision facility is selected automatically
by the FE2 after checking the accuracy required for the current image. It
reverts to using floating point numbers when this becomes necessary. All
other types use ordinary floating point arithmetic.
* Batch modes are provided to allow a whole plethora of images to be computed
in one go. This means that you can select the images you wish to draw and
leave the computer to it whilst you go and do something more useful such as
sleeping. Another new batch operation is poster. This draws the image over
more than one screen so that large posters can be created for those special
images.
* In addition to the LEM, scape and sphere methods, a standard method is
provided for those images where the boundary is unimportant. Consequently
this method is somewhat quicker for two-dimensional images than the usual LEM
method.
* As it was not a great improvement (and sometimes slowed image generation!)
and, in light of the integer routines for the major complex types,
periodicity checking has been removed. Consequently the period parameter from
FE1 no longer exists.
* The are numerous new parameters for the new types as well as the three-
dimensional methods (described later). This has lead to the inevitable
change in file format. Although the extensions remain the same (.FUL, .SML
and .CDF), the way and amount of data stored has changed considerably. FE2
automatically detects a FE1 file and converts it accordingly upon loading. It
always saves in the new file format which means that FE2 images or co-ords
CANNOT be loaded into FE1. This should not be a problem as FE1 now becomes
obsolete with this release but be warned!
* The X-Y ratio of the image on screen has been adjusted to make it 1:1 where
previously it was slightly different to allow for the television screen
stretching the picture slightly in the horizontal direction. This should not
cause a problem but means that the images will appear slightly distorted on
the TV but perfect on a monitor. The impact of this means that FE1 pictures
will be slightly incorrect when loaded. Consequently, performing the zoom
and julia options on FE1 images will lead to slight but maybe noticeable
discrepancies.
* There are no longer the default Mandelbrot sets of FE1! This is due to the
memory limitations of supporting the 520 ST and the extra (wasted?) disk
space required to store them. Since most of the main fractal types are
calculated using integer math there is little wasted time in recreating
these initial sets. The best idea is to store only the initial Mandelbrot
sets for your investigations on your current working disk; perhaps one
per disk?
* The divide and conquer method is used on the two-dimensional methods of
all complex fractal types.
* There are now, no longer separate Julia, Mandelbrot and Full image windows
as this was cumbersome. It is now less restrictive and easier to manipulate
and combine images.
* We have added extra default palettes to cope with the new fractal types
and methods as well as expanding the number of palettes in memory to 40 (from
32) to allow for more user-defined palettes to be created. With twelve
different rgb modes for each palette, this now gives 480 internal definable
colour palettes. Unfortunately, user-defined palettes from FE1 cannot be
loaded into FE2. This has to be done by hand; Re-enter the values into FE2.
* The Swirl (rotate palette) option now works in both forward and reverse
directions.
* There is now the facility to buffer one image in memory and recall it at a
later date. This facilitates the ability to hunt for Julia sets. Where a
Mandelbrot set is buffered, a Julia set drawn and then the buffered set can
then be recalled to begin hunting for another. This saves time of re-drawing
images.
* Fractals are no longer automatically drawn after selecting options such as
Zoom or Julia. The draw option has to be selected to produce the image.
On this note: The current picture exists until draw or batch options are
selected. This means that the parameters displayed may not correspond to the
parameters of the current image; if they have been changed.
* When saving images, FE2 still suggests a default file name as with FE1 but
uses a fileselect box to able users to customise the save name. This hopefully
provides the best of both worlds?
* When designing animation sequences, FE2 will calculate a maximum number of
frames for your computer's configuration (memory and disk) and suggest this
value. Also, note that you should now select the end frame first and then the
start frame. This was the other way round in FE1.
------------------------------------------------------------------------------
2 What is chaos and what are fractals?
-----------------------------------
Chaos is quite a new science but already well understood by scientists. The
first signs of its existence were noticed in the early sixties but it wasn't
until the late seventies that it was really accepted by any great degree into
the scientific community. This is due mainly to the scepticism of scientists
and intellectuals to accept the new theories concerning chaos being proposed
from a wide variety of scientific backgrounds.
Previously, data gathered from experiments in all fields that yielded
unpredictable results were treated as erroneous and generally discarded.
Scientists were frightened by chaotic behaviour in systems they supposedly
understood as it threatened to weaken the structure of their own theorems and,
more generally, the current manner of scientific thinking. When chaos theory
was first discussed and brought to the scientific community, there was a great
deal of scepticism and rejection as it shook the foundations of many
well-established laws; for instance, it was realised that the world could not be
described solely by using Euclidean shapes. Chaos was a whole new way of
thinking. It said that maybe seemingly spurious, unpredictable data was
important and should be considered; That it was just as important as ordered,
predictable data; which is what most theorems were based on. The new paradigm
of chaos produced a large amount of resistance and scientists (and people) were
not so easily convinced. New theories have to be proven before they can be
willingly accepted a plausible and even then some professionals will still
discredit new ideas as fairy-tales.
However, almost three decades after the first inklings of chaos hit the fan,
proofs have been formulated, it has caused researchers in all fields to go back
and examine previously discarded erroneous data. Surprisingly, chaos works and
has been proved time and time again, from geoscience to ecology to economics,
old problems that have vexed scientists for decades are being explained . Now
that the new science has been accepted, there are many studies into different
aspects of the field and the applications it can be put to. Such as in the
understanding of the human heart; it has been predicted that this research may
lead to the developement of an intelligent pace-maker.
The science of chaos has many different definitions, seemingly due to the wide
variations in scientific influences attributed to people applying the subject in
different fields. A good generic definition is 'The unpredictable behaviour
seen in seemingly predictable systems'. This can be applied to anything from
the randomness of the weather system to the erratic motion of a double pendulum
in a laboratory to the white noise that corrupts radio transmissions.
Fractal Geometry is a particular branch of chaos (there are many more). It is
the most highly publicised area of the science and has been brought to public
attention by the awe-inspiring images that have been spread around various
science journals, magazines and television programmes in the last five years or
so. There have been many programs for the computer enthusiast to get his or her
teeth in to as well as articles in graphics and music magazines concerning their
applications. An object that is said to be fractal shows the following
properties:
* Self similarity.
* Complexity on all scales.
The former implies that the whole object is composed of smaller copies of the
same object. Which means that if one were to magnify an area of the object then
the structures that would appear would bear a striking similarity to that of the
whole. The latter implies that no matter how high the degree of magnification
there will always be detail that is just out of focus and requires further
magnification to be seen clearly.
A typical example given of the naturally occurring fractal objects is a
country's coastline. A coastline displays, to some degree, both the attributes
which determine fractal characteristics in an object. It has a certain amount
of self similarity, where larger coves are actually made up of many smaller
coves that are made up of still smaller coves. It has complexity up to a very
small scale and can have a seemingly very long boundary (in the case of mainland
Britain) depending on the size of the scale used to measure the coastline. For
instance: If one surveyor measured the coastline using a metre rule and another
used a centimetre rule then the latter would be able to measure smaller detail
that may have been missed by the former. The second surveyor will most likely
say that the coastline is slightly longer that the first one did. If a third
surveyor uses a micrometer then his answer will be even more accurate as he will
have been able to measure even smaller coves and hence, his answer will be
greater still. Fractal properties of coastlines have been studied in detail by
many people in the geosciences.
2.1 A brief history of fractals
---------------------------
In this section, are listed and briefly discussed, some of the major players
in bringing the field of chaos (and more specifically fractals) to light. These
people, have added the most to further the new science and are listed in
chronological order:
1918 Gaston Julia publishes his paper Sur l'iteration des fonctions
rationnelles. Julia had discovered the geometric shapes that were later named
after him however, he did not know this at the time as they were impossible to
produce a visual representation of. He realised the strange properties that are
apparent when iterating such functions. Julia is considered the grandfather of
fractals.
1919 Pierre Fatou, a fellow mathematician of Julia, publishes his paper Sur les
Θquations fonctionelles which discusses similar mathematical properties. His
name has been used to describe the disconnected Julia sets (Fatou dust) found
near the outer parts of the Mandelbrot set.
1960s Edward Lorenz, a meteorologist experimenting with weather predictions
discovers the butterfly effect (i.e. a small change in a system can perpetuate
to a large change). He publishes his paper deterministic non-periodic flow in a
meteorological journal and produced images of a strange attractor (the Lorenz
attractor) which showed order and unpredictability. The fractal popcorn type
available in FE2 demonstrates the use of many strange attractors to produce
weird and wonderful patterns.
1979 Benoit Mandelbrot, probably the most famous scientist in the field, was
working at IBM. He applied the ideas of Julia and Fatou as well as his own
research to produce the first crude images of the Mandelbrot set. This
discovery earned him world renown in the science of chaos and he is known as the
father of fractals. In 1982 he published the book the fractal geometry of
nature and since then has written many more articles and travelled world-wide
giving talks on fractals as well as continuing his research at IBM.
1986 Heinz-Otto Peitgen and Peter Richter published the beauty of fractals and
in doing so were the first to truly demonstrate the amazing graphical images
that could be produced by using fractals. This book sold thousands of copies
would-wide and is probably responsible for the popularity that the discipline of
fractal mathematics now enjoys.
2.2 How are these images created? - The mathematics behind fractals.
---------------------------------------------------------------
Fractals are a phenomenon, they are extremely complex and unpredictable shapes
that are produced using seeming simple systems but at the same time show a
surprising amount of order and consistency.
There are variety of different mathematical methods that can be used to produce
fractal and fractal-like images. These methods fall into two main categories:
* Random Fractals
* Deterministic Fractals
Random fractals
---------------
Random fractals contain the element of randomness and are generally used to
simulate nature. Most notably in production of fractal landscapes and clouds.
One such method that is often used to produce such natural landscapes (such as
the one from the planet that is reborn using the Genesis machine in Star Trek
II) is the Midpoint Displacement Method (MDM). This method works by the
recursive subdivision of specified shapes. In a one-dimensional world this
could be a line or in a two-dimensional one, a triangle. In the two-dimensional
world the midpoint of each edge of the triangle is marked and the three are
connected together. The y co-ordinate of each midpoint is then perturbed based
on a pseudo-random seed which produces four smaller triangles. In other words,
the centre of each edge of the triangle is displaced to form new triangles. The
displacement can then be applied to the edges of the new triangles. Examples of
random fractals using this method in the Fractal Engine are the mountains and
clouds.
Deterministic fractals.
----------------------
Deterministic fractals are those which contain the attribute of self-similarity
That is they are composed of smaller copies of the whole or part of the whole
image. They are created by a certain rule that is applied many times over,
probably recursively. Three such fractal types that fit into this general
category are Sierpinski carpets, von Koch snowflakes and Julia sets.
Sierpinski carpets and von Koch snowflakes are both directly produced by
removing, in the former's case and adding, in the latter's case copies of the
original to themselves. In the case of the von Koch snowflake: Start with an
equilateral triangle, at the middle of each side, add a triangle a third of the
size of the original. Repeat this process with the added triangles and so on.
This produces a shape with a mathematically infinite boundary, yet the whole
shape can still be encompassed inside a circle drawn around the original
triangle. This implies that the shape also has a finite area just like the
circle surrounding it. The Sierpinski carpet is also based on the same
principle but in reverse: Start with a square, cut out a square one-ninth the
area of the original from its centre and do the same for the eight smaller
squares remaining and so on. The three-dimensional version of this (called a
gasket) is a body with an infinite surface area but no volume!
Julia sets are rather different from this but possess the same characteristics
of self similarity on all scales. They are created by the recursive iteration
of a polynomial in the complex plane; The same method can also be applied to
real polynomials although they are not strictly speaking fractals but do have
some similarity with the real thing.
Mandelbrot sets are the telephone directories of the corresponding Julia sets
for the same polynomial. That is; they contain all the possible shapes produced
by the Julia sets joined together. It is possible to see virtually the same
pattern in a close-up of a Mandelbrot set as one can in the Julia set
corresponding to that point. Whereas Julia sets repeat the global pattern upon
magnification, Mandelbrot sets are continually changing as the detail is
magnified more and more. This means that one can explore them, forever, always
finding new patterns and details to look at. FE2 allows you to investigate
eleven different Mandelbrot sets and their Julia sets; producing images in both
two and three dimensions.
The biggest difference to be noted between random and deterministic fractals is
that, assuming you have a truly random seed, the former will always produce a
different image whereas the latter will be the same image every time the
algorithm is run. This has the advantage that one can guarantee on getting a
particular image and may manipulate it (zoom in, zoom out, pan, etc.) without
losing the original image. As there is an infinite number of different images
(in the case of Julia sets) then one has seemingly random variation without the
uncertainty.
The Fractal Engine now supports both random and deterministic fractals as well
as a family based on a method known as Diffusion Limited Aggregation (DLA).
This uses probabilities to grow plant-like structures that have realistic
properties.
------------------------------------------------------------------------------
3 User Guide
----------
When the Fractal Engine is run, you are presented with a screen. This is known
as the main menu and is the root from which all operations available are
selected and performed. The main menu screen has three main regions:
top window - displays the title and any other relevant information.
menu window - this contains the main menu with the following operations
julia - select new parameters for drawing Julia sets.
zoom - magnify the current image, if it exists.
draw - transforms the current co-ordinates into an image.
methods - select a different drawing method for current fractal type.
edit cd - edit the current co-ordinates (parameters).
copy cd - replaces the curent co-ordinates by the image co-ordinates.
load cd - load co-ordinates from file into parameters window.
save cd - store co-ordinates in parameters window to file.
load pic - load image and co-ordinates from file.
save pic - save image and co-ordinates to file.
storepic - store the current image in memory.
restore - recall a previously stored image from memory.
batch - menu of operations for multiple drawing of images.
view - view the current image.
types - select a new fractal type with default co-ordinates.
palettes - menu of operations for manipulating the palette.
save pal - saves all palette data to disk.
quit - why would you want to do that?
parameters window - displays the current co-ordinates which will take effect
next time draw is selected.
3.1 Drawing simple fractal images
-----------------------------
The Fractal Engine has the ability to draw a total of sixteen different types of
fractal that are selected by using the types menu as follows:
From the title screen, click on the types button. The types menu will then be
displayed. All the different available types can be selected by clicking on the
corresponding buttons of this menu and then clicking on the choose button. When
this is done, you are returned to the main menu with the new type selected;
clicking on the exit button will return you to the starting menu without
selecting a new fractal type (i.e. no change will be made).
There are four main groups of fractal types, as follows:
Group I Complex Fractals
Group II Fractal Popcorn
Group III Diffusion Limited Aggregation (DLA)
Group IV Random Fractals
Once the new fractal type has been selected, you may draw the default image
(usually Mandelbrot set) for that type by clicking the draw button from the main
menu as soon as you are returned to it. Once FE2 has completed the drawing of
the image, you are returned immediately to the main menu. The current image can
be displayed by clicking on the view button. Clicking again whilst viewing the
current image returns you to the main menu.
Having selected your required fractal type, you may then choose one of several
drawing methods with which the image should be created. The methods available
vary depending on the type of fractal selected and are chosen by clicking on the
methods button from the main menu.
The complex fractal group is the main source from which most images will
probably be drawn. They are the deterministic fractals discussed in section two
and produce the widest variety of beautiful and varied patterns. There are six
drawing methods available to these fractals:
Two-dimensional methods
-----------------------
Two-dimensional flat fractal images are drawn using FE2 by one of two similar
methods which give slightly different effects. The normal method draws a
standard fractal image with no enhancement and is based on the well-known Level
Set Method as used by the majority of other fractal applications available. The
LEM (Level Estimator Method) is our own hybrid method and allows for
customisation of the image by the use of an extra parameter, boundary. Both of
these methods use a technique known as divide and conquer which improves the
speed of drawing but does no effect the resulting image. In addition to this,
some of the complex fractal types use 16 and/or 32 bit integer arithmetic (where
appropriate) which is faster than the standard floating point arithmetic used in
FE1. There are also the norm sml and LEM sml methods which behave exactly the
same as the standard normal and LEM methods except that they produce quarter
sized small images. These are faster to draw and take up less disk space to
save.
There are also two three-dimensional methods available to this group of fractal
types, sphere and scape, and these are described in more detail in the next
section.
For the Popcorn and DLA groups, it is not necessary to have any more than the
default method and hence the methods option is unavailable to these fractal
types.
There are two types of random fractals: clouds and mountains. The clouds may
use one of two methods, plasma and sky. The latter can be used as a backdrop to
the mountains (which do not have any optional methods available) or
three-dimensional complex fractals (see later).
Having clicked on the methods button, any available methods will be displayed in
the methods menu. Clicking on the appropriate method will select it and return
you to the main menu where draw can be used to view the image.
When drawing using the normal method, you are returned to the main menu
immediately the image has been completed. With the LEM method however, the
image is not completed but appears in a kind of wire-frame form. You are
prompted for a value for boundary (see 3.4) and the image is filled. You are
then asked to confirm this value or enter a new one. Once you are satisfied
with the boundary value, select yes to return to the main menu. Try
experimenting!
When a new fractal type is selected, a default method is chosen. This is normal
for the complex group and plasma for the clouds. The following table summarises
the drawing methods available to each complex type. The arithmetic used for
the complex group is annotated by 16 (for 16 bit integer arithmetic), 32 (for 32
bit) and fp (floating point). A blank indicates that the method is unavailable
for the corresponding fractal type.
Type Normal LEM Sphere Scape
---------------------------------------------------------------------
Quadratic 16/32/fp 16/32/fp 16/32/fp fp
Conjugate 16/32/fp 16/32/fp 16/32/fp fp
Spider 16/32/fp 16/32/fp 16/32/fp fp
Jellyfish 16/32/fp 16/32/fp 16/32/fp fp
Cubic 1 32/fp 32/fp 32/fp fp
Cubic 2 32/fp 32/fp 32/fp fp
Barnsley fp fp fp
Sine fp fp fp
Cosine fp fp fp
Newton fp fp
Degree 4 fp fp
As previously mentioned, the complex fractal types are the most common to be
found in fractal applications. FE2 provides a plethora (eleven in total) of
different types offering an insight into the effects of using different
polynomials. Obviously, the list is endless and some users may feel that it
would be a nice feature to be able to enter their own (ß la Fractint). However,
the variation provided encompasses most of the different characteristics found
using different polynomial equations and so and endless supply would not only
overcomplicate the operation but also be superfluous. Instead of this FE2 uses
two different three-dimensional image methods to enhance images and open a door
on a whole new world of graphic design possibilities.
The two methods for creating three-dimensional complex fractal images are
spherical mappings and landscape renderings.
Spherical mappings
------------------
Spherical mappings involve taking each point on the two-dimensional plane and
mapping it onto the surface of a sphere (known as a Riemann sphere) using
stereographic projection. This produces an interesting and unusual effect, if
the correct fractal type is mapped. This option is available for all but the
newt and deg4 complex fractal types and is selected by clicking on the sphere
button from the types menu. You will be returned to the main menu where you
should then click on draw. You will be presented with a flexi-sphere which can
be used to tailor the size and position of the sphere on the screen. These are
chosen by using the mouse in the same manner as the zoom-box (i.e. left button
- reduce, right button - enlarge, spacebar - selects: see 3.3, below). Once you
have pressed spacebar, the image will be drawn accordingly.
Landscape renderings
--------------------
FE2 uses parallel projection to produce three-dimensional renderings of complex
fractals calculated using a method known as the Continuous Potential Method
(CPM). CPM has the ability to smooth the curvature of the mountains to make
them more realistic and less sheer. The resulting picture comprises of a
mountain with slopes corresponding to the different colour bands of the
two-dimensional methods and the set becoming plateaus of the highest physical
points on the screen. Remember that the screen is only two-dimensional and so
the real highest points of the landscape will not necessarily be the highest
points on the screen. Landscapes are generated by clicking on the scape button
from the types menu and then selecting draw. Once again, if an image already
exists, you have the option to overlay.
Both these methods have numerous parameters which are discussed in more detail
in 3.3; for now just try experimenting with different types. Then look at Julia
sets and Zooms (see 3.2) and try some more spheres and landscapes. Note:
landscapes of zooms can produce some strange results - so be warned!
One last thing to note at this point is the overlay option. You should have
noticed that, if an image already exists when you click on draw, an alert box
asks you whether you wish to overlay over the existing picture. Clicking on yes
will leave the existing image in-tact, allowing you to create fractal scenes.
Some of the example pictures on the distribution diskette were created using the
facility and are ideal for editing with an art package.
3.2 Julia sets and zooming
----------------------
Initially, when a new fractal type is selected, the Mandelbrot set will be drawn
if draw is selected. For the complex fractal types, Julia sets are available by
clicking on the julia button from the main menu. If a current Mandelbrot set
image exists you are given the option to select a c-value visually using the
mouse or from the keyboard. Choosing visual selection causes the screen to be
flipped to view the Mandelbrot set.
By using the mouse pointer, you can select co-ordinates for a new Julia set.
By clicking the left mouse button the Julia set corresponding to the current
pointer position is selected and you are returned to the main menu; with the
new parameters displayed in the parameters window. If you select keyboard
entry then you are prompted to enter the realc and imagc parameters in the
parameters window (see 3.4 for a description of these). If no Mandelbrot set
exists you can only use keyboard entry. By clicking on the draw button, you
may draw your new julia set. (Obviously, you may select a different method with
which to display it but do not select a new type unless you wish to lose the new
Julia set parameters and current image!)
A tip for selecting Julia sets in this manner is to make sure that there the
point selected is either in the set or near its boundary otherwise the resultant
image will most likely be particularly uninteresting! Also, in order to select
Julia sets in this manner, you have to have a Mandelbrot set image (either
default or zoomed-in) to select from. Try experimenting with selecting Julia
sets from different regions of a Mandelbrot set to get a feel for the different
shapes that exist and how they relate to one another. A good plan at first is
to go for ones at the centres of circles. You cannot select a Julia set from
a Julia set as this doesn't make any sense!
A good idea when hunting for the Julia sets of a particular Mandelbrot set is to
use the storepic and restore options available from the main menu. For example:
Select a new complex fractal type (say spid). Select draw and when you are
returned to the main menu click on the storepic button. This will store the
image in memory. Select julia as described above and draw the Julia set. Now
try another Julia set by clicking on restore to bring back the image stored in
memory (your Mandelbrot set). With the image restored, you can now try drawing
another Julia set. Note that restore does not restore the co-ordinate
information to the parameters window - you can use the copy cd (see 3.3) to
overcome this problem. Obviously, storepic and restore are not limited to just
Mandelbrot sets and can be used for all images which FE2 can draw.
Zooming
-------
As well as selecting Julia sets to draw, both Julia and Mandelbrot images of
complex fractal types may be magnified by the use of the zoom option to reveal
greater detail and allow full investigation to take place. To perform this
operation, a current image has to exist, otherwise there'd be nothing to
magnify!
Clicking on the zoom button from the main menu flips to the current image and
gives you a zoom-box which can be adjusted and manipulated to provide you with
the required magnification window. Clicking the left mouse button reduces the
size of the zoom-box and clicking the right mouse button increases it again.
The zoom-box is a rectangle with two diagonals across its corners to allow you
to centre it accurately. Moving the mouse, will correspondingly move the box.
It cannot be off the screen.
Once, the desired magnification window has been achieved, pressing the spacebar
selects it and returns you to the main menu where the draw option can be used.
Again, a different method can be selected where applicable. Alternately,
pressing the 'o' key will zoom-out by shrinking the whole image into the are
bounded by the zoom-box. The zoom facility cannot be used to magnify an
existing sphere or scape image as the perspective would be totally incorrect
and very difficult to calculate accurately.
The zoom-box facility is also available for the fractal popcorn.
3.3 Editing parameters
------------------
New fractal parameters are selected when a new fractal type is chosen or the
julia or zoom options are used. You may also manually alter the parameters by
clicking on the edit cd button. Having done this, the cursor will appear on the
first editable parameter entry in the parameters window. Each parameter can be
entered by typing it's the new value and pressing return. If you type an
invalid parameter, you will not be allowed to re-enter it. To leave any
parameter unchanged, just press return without typing a new value. Once the
last parameter has been entered, control returns to the main menu. Clicking on
the draw button will draw a new image with the new parameters.
Once again, the parameters available depend on the fractal type selected (see
3.1) and these are summarised below for each different fractal group and type.
(Before looking through this list of parameters, take note! The default values
supplied automatically by FE2 are adequate for most purposes, so do not worry if
you cannot understand a particular parameter from its description below. Some
of them are obvious in how they effect the image but others are more abstract:
The hardest parameters 'to get right' are those used in 3D rendering; so get to
know the 2D fractals and their parameters first before experimenting with the 3D
fractals.)
Group I - Complex fractal types:
-------------------------------
xmin, ymin - minimum value of z on the complex plane. This is used as the
reference point for an image and is the starting point from which pixel values
are calculated and physically represents the bottom left-hand corner of the
screen.
xstep - the amount by which z is increased on the x axis for each pixel across
the screen. The ystep value is calculated for this. This parameter needs care
to enter manually as the accuracy is very important. Remember that the more the
image is magnified, the smaller the value for xstep should be.
Certain fractal journals, books and applications use a slightly different method
for representing these parameters by having xmax and ymax parameters instead of
xstep. The following is an example of how you would perform this conversion, if
necessary:
Say the values given were (xmin, ymin) = (-0.5, 0.25)
(xmax, ymax) = (1.2, 0.25)
Use xstep = (xmax - xmin) / xres, where xres is the pixel resolution of the
screen on the x axis. (320 for ST low res)
Hence, xstep = (1.2 - (-0.5)) / 320 = 0.0053125
realc, imagc - real and imaginary components of c-value - for Julia sets only.
These parameters specify the co-ordinates of the Julia set you wish to draw.
If you think of the Mandelbrot set as a telephone directory of Julia sets, then
they represent the individual telephone numbers!
iters - iterations. This is the value for the maximum number of iterations
allowed before a point is assumed to be in the set and coloured correspondingly
(usually black). The lower the value, the more chance a pixel has of being the
set colour and the higher, the less chance it has. Higher values increase the
detail and the should be used as the magnification increases or the boundary
becomes convoluted. Values should range between 30 and 1000 depending on the
magnification.
prcsn - precision. There are three levels of accuracy available for calculating
complex fractal images:
0 - 16-bit integer arithmetic.
1 - 32-bit integer arithmetic.
2 - Standard floating-point arithmetic.
The higher the precision, the better the accuracy of the image (i.e. the more
correct the pixel values calculated are) but the longer the time taken to draw
the image. The higher the magnification, the smaller the value for xstep and
consequently the more accurate the mathematics needs to be. You should rarely
have to deal with this parameter as FE2 automatically uses the best for the
image requested. Not all precision levels are available for all complex fractal
types and methods and this is summarised by the table in subsection 3.1.
sprd - spread. This parameter allows you to define the distribution of colour
to the levels outside the set to be drawn. The default value is 1 and this
implies that a new colour is used each new level (the colours are cycled).
Larger values of spread will slightly reduce the drawing time. If an image
appears over-complicated by many changes in colour, try increasing the value for
spread.
bound - boundary. This parameter is only used by the LEM method for complex
fractal types and defines how sensitive the boundary checking is. Low values
produce a thicker border around the set whereas high values mean that there is
little or no boundary drawn. This parameter should be used when there is a lot
of detail close to the set and colours may change drastically between adjacent
points. If the boundary between the set and levels outside is already very
distinct then this parameter should be set to a high value. The normal method
uses no boundary checking. Values between 3 and 8 are adequate for most
purposes.
The following are used by the three-dimensional sphere and scape methods:
spclr - specula component of light-rendering model (fs). This is the property
that objects with shiny surfaces possess. The light reflection seen is a result
of the light source ray intersecting with the surface and is generally of the
same colour (due to the pigment of most objects being below the surface). The
more reflective the surface, the purer and less diffuse the reflected light
ray. Thus, the more shiny the surface is, the more perfect the reflection from
it. Values are between 0 and 1; a good value would be somewhere between 0.35
and 0.75.
shine - shininess exponent (b). This parameters controls how mirrored the
object's surface is and effects the specula reflection property. A low value
(say 2) means a dull surface and consequently more spreading of light across it
and a high value (say 100) means a shiny surface and a more concentrated
pin-point reflection occurs.
The following are used only by the sphere method:
li, lj, lk - Are the i, j and k components of the light source vector. As the
sphere is viewed from the underside, lk should always be negative. li and lj
correspond to the x and y position on the screen. The larger the value of lk,
the further from the sphere the light source is and consequently the light that
reaches it is lessened and more spread-out.
The following are used only be the scape method:
hght - height. This is how tall the maximum heights of the physical landscape
should be. Remember that if you view the image from above then you are unable
to perceive the height. Whereas, if you view it from the side the hght
parameter will have a dramatic effect on the image.
offst - offset. This is how far down the screen the landscape image is offset.
This value can normally be left as default but you might change it when putting
together scenes using the overlay facility (see later). You can use this
parameter to tweak images which appear too far above or below the centre of the
screen. A sensible value for most images would be about 20 pixels.
extnt - extent. This is probably one of the hardest parameters to get to grips
with! It varies the number of pixels used to represent the landscape. If you
find that there is part of your landscape missing at the bottom of the screen
then try increasing this parameter. However, extent will add to both the rear
and front of the image. If you wish to keep the same horizon then try
increasing the value for offst instead. If you are viewing directly from above
(i.e. view = 90) then extent should be set to its maximum value of 200.
light - This is the angle at which the light ray enters the picture and is given
in degrees. The light ray always enters from the left-hand side of the image
and effects the shadows cast by the peaks of the landscape. Values are between
0 degrees (6 o'clock in the evening and long shadows) and 90 (12 o'clock midday
and no shadows). 45 degrees is for most purposes, champion!
view - This parameter is also measured in degrees between 0 and 90 and is the
angle at which the viewer sees the image. The 'eye' is always located directly
in front of the image. A low angle represents looking directly from the side
whereas a high angle is like flying above in a helicopter. A 90 degree angle
will lose all perspective and really defeats the object of the three-dimensional
landscape in the first place. Try using values between 15 and 75.
Group II - Fractal popcorn:
--------------------------
xmin, ymin, xstep - work the same as for group I fractals.
grid - This is the coarseness of the popcorn. Valid values are ones that divide
both 320 and 200 exactly (e.g. 2, 4, 5, 10, etc.). The more coarse the
popcorn, the quicker it is to draw. Try using 10 for a quick sketch and 4 for a
good detailed result.
sprd - Defines the colour distribution as for group I fractals.
Group III - DLA:
---------------
seed - Is the seed for randomly generating the numbers used to draw the image.
The same seed twice will produce same picture because computers cannot generate
perfectly random numbers. Try any value you like (i.e. a telephone number).
sprd - Once again spread of colours as group I fractals.
The Point-DLA types also have the following two parameters:
stick - Effects the probability of a point sticking to another point! Values are
between 0 and 1. Low values produce a more dense, moss-like image whereas, high
values produce a spindly wispy dendrite thingy.
symtr - symmetry. Effects how uniform the shape grows. Values are between 0
and 1. Low values make the image more tree-like whereas, high values make it
more circular and faster to draw.
Group IV - Random fractals:
--------------------------
seed - Behaves the same as for group III fractals.
dmnsn - dimension. This parameter effects the fractal dimension of the image.
Values are between 0 and 1. Low values make the landscape more spiky and alien
looking whereas, high values make it smoother and more natural looking.
The parameters spclr, hght, offst, light and shine are used by the mountains
only and behave the same way as for the landscapes of the group I fractals.
Final word on parameters
------------------------
Although FE2 is set-up with default values which are perfectly adequate to
generate all your images, it is definitely worth playing with different
parameters as much as possible - you cannot do any harm and may discover some
very interesting results. There are many parameters associated with the complex
types and these may seem a little daunting at first but after a short amount of
time, you will discover that you hardly ever have to touch most of them.
The final option of concern in this section is the copy cd button from the main
menu. When you click on this, it copies the parameters of the current image
into the parameters window. If the parameters are already correct then it will
have no effect. This is useful, if you have chosen on option (such as zoom,
julia, types, etc.) and then decide to try something else and wish to get your
original parameters back again. In this way, copy cd can be thought of as being
the opposite to draw (which takes the parameters and creates an image). It can
be used at any time and does not effect the image currently displayed.
3.4 Loading and saving
------------------
It's fine to go drawing lots of different pictures but occasionally you may
decide you wish to save the images. Either because you have found a
particularly delightful picture or just as a safety mechanism when performing
deep magnification investigations of Mandelbrot sets. FE2 provides two ways in
which fractal data can be loaded and saved: co-ordinates and images.
Co-ordinates are the fractal parameters only and exclude the image. These are
useful for a number of reasons: They take up little space on disk (less than 150
bytes), so if you've not got a hard disk or wish to give your images to someone
else with FE2 or want to port them to a different version (such as the Windows
version), then this is the choice to use. Also, as discussed later, you may
wish to save a number of different co-ordinates to be drawn all in one go by one
of the batch options. Co-ordinates are loaded and saved by clicking on the
load cd and save cd buttons respectively and end in the .CDF (co-ordinate data
file) extension. The load cd and save cd options as well as load pic and
save pic use the standard Atari fileselect box. Consult your ST manual for
details on how to use this.
Images can be saved using the save pic operation in one of three forms. An
alert box will ask you to choose the format, FE2, PI1 or NEO. The standard is
Fractal Engine format (FE2): These files comprise of the co-ordinate data and
the pixel information for the image and have the suffixes .FUL (full size) or
.SML (small size). Full size images occupy the whole screen and take
approximately 32000 bytes to store whereas small size images only occupy quarter
of the screen and take approximately 8000 bytes to store. Normally, one would
use small size for working images as they are quicker to draw (quarter of the
time) and take up less space and full size for your final images. FE2 will
automatically detect the image size and save it as .FUL or .SML accordingly.
Alternatively, images can also be saved in Degas and Neochrome formats to allow
them to be edited by a package such as Spectrum 512 or Canvas or printed to a
colour printer. The file extensions are: .PI1 and .NEO respectively. One
feature of saving images in these formats is the ability to reduce the number
of colours used. This is useful when using the images as backdrops to other
pictures. As there are only 16 colours available on screen at any one time
with the ST, reducing the number of colours may lose some clarity but gives you
more scope for designing you own exciting and original pictures. The number of
colours can be reduced to either 9 or 4 depending on your requirements. This
gives an extra 7 or 12 colours available to you in the art package; though the
4 colour option greatly depreciates the clarity of the fractal image so avoid
using it where possible. For normal image storage, choose the 16 colours
option when prompted.
Loading images is straightforward. Selecting load pic loads in the new image
and its co-ordinates into the parameters window. You may then perform any of
the usual operations without the need to re-draw the image. With co-ordinate
files, if you wish to zoom or perform some other operation then you will need to
use the draw operation before you can proceed. Remember that loading only
co-ordinates does not erase the existing image and it's parameters can be
retrieved using the copy cd operation. You cannot re-load images saved in
Degas or Neochrome format.
You will notice that FE2 tries to simplify choosing names for your co-ordinate
and image files. You may choose to go with the flow or use your own names.
Also, it forces the filename extension and will not let you change it as this
will cause problems for the batch operations.
3.5 Changing the palette
--------------------
It is important when using all drawing methods, but especially sphere and scape,
to have a correct palette with which to colour your image. If this is not the
case, the resulting image may lose clarity. A poor palette can leave an image
corrupted and uninterpretable. It is for this reason that FE2 comes with
numerous default palettes which have been designed to get the best from your
images.
However, you will obviously wish to design some palettes of your own or modify
some of the existing default palettes. FE2 provides nearly forty configured
default palettes (see table below) and all of these may be user-defined. Unless
you are unhappy with a default palette however, we suggest you do not edit it.
To manipulate the palettes click on the palettes button from the main menu.
This will flip you to the image screen regardless of whether an image currently
exists - it is probably best to have the image you wish to design a palette for
in memory, otherwise you can't really see what you are doing. The first thing
you are presented with is a moveable wireframe box. This enables you to place
the palette menu wherever you choose on the screen. Once you are satisfied with
its positioning, click the mouse button and it will appear.
The menu has the following buttons:
pal - / pal + - Decrement and Increment the current palette number.
mode - / mode + - Decrement and Increment the current mode number.
swirl - Rotate the current colour palette.
hide - Hide the palette menu.
edit - Edit the current palette.
exit - Return to the main menu.
FE2 uses a special method to give you more scope for viewing images in different
palettes. This is where the mode parameter comes in to play. What happens is
the values for the quantities of red, green and blue in the palette are swapped
about to give you extra variations. This does not effect the intensity or
saturation of the different colours in the palette but only effects the hue.
The mode gives extra scope for a possible 2 * 3! * 40 = 480 different palettes
in memory!. The pal -, pal +, mode - and mode + can be used to access all these
variations of colour palette. The left mouse button increments pal - and pal +
by one each time and the right by five.
Clicking on the swirl button hides the menu and rotates the current colour
palette in a forward (clicking with the right button) or reverse (the left
button) direction. Clicking the mouse button again halts the rotation.
The hide button works the same as the view button from the main menu.
To edit the current palette, click on the edit button. This presents you with
the edit palette menu which consists of the following buttons:
red - / red + - Adjusts the amount of red in the current colour.
green - / green + - Adjusts the amount of green in the current colour.
blue - / blue + - Adjusts the amount of blue in the current colour.
colour - Selects a new current colour.
exit - Back to the palette menu for you, sonny.
The colour palette is displayed in a colour bar at the top of the menu, the
current colour is indicated by two horizontal lines situated above and below its
corresponding colour cell. By clicking on the colour button, this enables you
to select a new colour to be edited. This is done by clicking the mouse
anywhere on the screen. The colour under the pointer is selected. This means
you can select from both the colour bar and the image itself. The current
colour can be edited by the use of red -, red +, green -, green +, blue - and
blue + buttons. Depending on the number of colours available, you may click
using either the left or right mouse buttons. If you are using a standard STFM
then use the left button which gives you a possible eight different values for
red, green and blue; thus a palette of 8*8*8 = 512 colours. If you are using an
STE or TT, you may use the right button to give you sixteen possible red, green
and blue values; thus a palette of 16*16*16 = 4096 colours. The rgb values for
current colour are displayed in hex (i.e. 000 is black, FFF is white).
The save pal option from the main menu can be used to save any changes made to a
file in the defaults directory on disk. Note that this will overwrite the
existing data which cannot be restored without re-copying the file from a backup
- so make sure you wish to do this. This hi-lights the reason for never working
with an original copy of FE2.
The default palettes supplied are approximately as follows:
00 - 19: Two-dimensional methods for complex fractal types (not deg4 and newt).
20 - 24: Degree-4 complex fractal type.
25 - 29: Newton complex fractal type.
30 - 34: Sphere and scape methods of complex fractal types.
35 - 39: Other fractal methods; popcorn, DLA, clouds and mountains.
3.6 Batch mode operations
---------------------
FE2 provides a number of powerful batch operations that set it aside from other
fractal applications around. By clicking on the batch button from the main
menu, you are presented with the batch menu, as follows:
zoomanim - zoom animation of complex fractals.
jul anim - Julia set animation of complex fractals.
convert - convert a folder of .CDF into images.
poster - produce a poster to disk or printer from any image or .CDF.
exit - return to main menu.
Fractal animation
-----------------
The nature of fractal images makes them ideal for producing animation
sequences. This is especially the case with the complex fractal types.
The zoomanim and jul anim operations allow you to create your own sequences of
two and three-dimensional complex fractal images.
To create a zoom animation, decide upon a final frame and make sure that the
parameters are in the parameters window (use copy cd to do this). Then choose
the zoomanim operation from the batch menu. This will select your current image
as the last image in your animation sequence. Next, select the starting image
(making sure the parameters are correct and the type and method match) and
select zoomanim again. You will then be prompted for the number of frames
(including the start and end frames) and a folder on disk in which to save them
as well as whether or not you wish to save to disk. Selecting no (N) to this
last option means that output is sent to the printer.
Julia animation is used to animate a sequence of Julia sets at a fixed
magnification. The sequence is set up in the same manner as for zoom animation
using the jul anim option instead. Julia animation ignores any magnification,
taking the image aspect from the end frame. Therefore for continuity, you
should make sure that your start and end frames are at the same magnification.
One important point to note is that the number of frames and image size is
dependant on the amount of disk space and memory available. FE2 automatically
computes how much space you have available and will suggest a maximum number
frames. You may change this to make it smaller but are not allowed to exceed it
as this will lead to an error in the recording or playback of the sequence.
There is a file created for each frame of the animation as well as a control
file (ending in .ADF). The frames are also stored in the selected specified
directory. You cannot playback the animation whilst in FE2 due to the memory
limitations of the 520 STs. Instead, there is a special separate application
called DISPANIM.PRG provided that allows you to do this. It is best to have a
separate disk or folder for your animation sequences with a copy of the display
animation program available.
Drawing many images at once.
---------------------------
The convert option from the batch menu allows you to select a folder of
co-ordinate (.CDF) files and convert them to images. You can choose to send the
output to the disk or to the printer. This facility means that you can leave
the computer on overnight to draw a whole load of previously selected
co-ordinates.
Creating fractals for the wall.
------------------------------
The poster option from the batch menu takes the current image and enlarges the
scale to produce a poster sized picture. Once again, this can be to disk or the
printer. You can choose whether you wish to have a 2x2, 3x3 or 4x4 image in
screens.
------------------------------------------------------------------------------
4. Miscellaneous
-------------
Other randomly useful pieces of information can be found in this section.
4.1 A word about accuracy.
---------------------
As previously mentioned, there are up to three levels of precision available for
some of the complex fractal types using the normal, LEM and sphere methods. How
this works is as follows:
Usually (as was the case with FE1) all mathematical operations are done using
floating-point arithmetic that is converted into integer arithmetic at compile
time. As the routines supporting these mathematical operations (such as
multiply and subtraction) have to be extremely generic to cater for all possible
combinations, the microcode used can be lengthy and slow. Integer arithmetic is
achieved by coding the required routines directly in assembly language (or a
high-level language such as C) thus increasing size and efficiency. There are
two levels of accuracy supported by FE2 using integer math, 16 and 32-bit. The
latter is more accurate but slower. What is affected by these two alternatives
is the number of decimal digits allowed after the decimal point. The reason for
having 16 and 32-bit arithmetic as well as floating-point math is as follows:
As you should know, the parameter xstep determines the scale of each pixel on
the screen. It becomes a smaller value as the image is magnified and
consequently the differences in the fractional parts of the values being handled
by the computer become smaller as well. This means an increasing number of
decimal places are required to calculate the mathematics for image generation.
If the accuracy becomes inadequate, the computer may not be able to tell the
difference between adjacent points on the screen and colouring inconsistencies
will occur (i.e., it looks blocky!). This is easily achieved after a couple of
zooms using 16-bit arithmetic.
Luckily, FE2 sorts all of this out for you by looking at xstep and deciding what
level of precision is required. Although you may force it yourself, there is no
real reason to do this except to get a quick 16-bit sketch of images at high
magnification where 32-bit or floating-point math is too slow.
4.2 Hunting for fractals in the complex plane.
-----------------------------------------
The Mandelbrot sets of each type of complex fractal should always be your
starting point before you go off exploring. In general, the patterns you will
see become more subtle and complicated the further you zoom in. You will notice
that the buds which sprout from a Mandelbrot set have increasingly more
elaborate branches the smaller they get. Each branch is made from an infinite
number of smaller Mandelbrot figures: It is quite easy to zoom in and find an
exact copy of the whole set embedded in the branching structure. You have
complete control over the look of your picture, the closer you zoom in, the more
branches there are. This can be used to enhance the look of Julia sets.
Although it is easy to choose them from an unmagnified picture, close-up Julia
sets have much more appeal with more intricate structures.
Julia sets have definite characteristics depending on the fractal type and the
position on the Mandelbrot set from which they originate. Quadratic Julia sets
will be symmetrical about axes dividing it by 2 (i.e. The two halves of the
Julia set are always identical). Cubic 1 sets will be about 3 and most of the
others more unpredictable and complex in there symmetries. Choosing a Julia set
from one of the buds on the quadratic Mandelbrot set results in various
dragon-like shapes; towards the right-hand side of the main disk (c->0), they
become more circular and towards the thin line at the front more like straight
lines with disks; the thin branches at the ends of the buds will yield
lightning-like dendrites and, if c is selected completely away from the set,
they become disconnected and eventually disappear altogether: these Julia sets
are known as Fatou dust.
A good example of another property of Julia-Mandelbrot relationships is this:
Select a Julia from the middle of the second largest bud joining the main disk
(cardioid) of the quadratic Mandelbrot set. The resulting image has branches
which connect three regions and looks vaguely like a rabbit (Gaston Julia called
this du lapin). If you then select one from one of the next smallest buds, the
resulting set has branches which connect four regions. Selecting from the next
smallest bud again will yield one with five branches, and so on. This very
simply illustrates the periodic characteristics of the Mandelbrot set.
Also, try zooming in to find a smaller copy of the Mandelbrot set. Select a
Julia set once again from the middle of the second largest bud from the
cardioid. You will get another lapin, but this time the surrounding branching
structure of the level sets outside will be more complex and intricate.
4.3 Support for the fractal engine and the legal side of life
---------------------------------------------------------
The Fractal Engine version 2 has been thoroughly tested for bugs and
discrepancies. However, as is always the case, one can never reach the
zero-defects utopia that is so often strived for in all areas of business
today. Should you find a problem with the program, then please inform us
immediately so that we may rectify it. Likewise, if you have any serious
gripes or suggestions concerning FE2, then we would like to hear from you.
As far as copying FE2 goes, feel free to do so but please remember to register
if you find it useful and feel you would like to contribute to producing more
applications such as this. Unfortunately, we cannot run on thin air and
consequently need your money (not much of it though). We have decided not to
release a cut-down version, but to give you everything you need to produce your
pictures. This means you are not restricted as is so often the case with
shareware. It also means that you can copy it and never register, we cannot
stop you doing so. If you do however, other than the natural grate of your
conscience, you may be visited by some very nasty creatures one night when you
least expect it. We have friends with exotic pets (spiders, snakes, leaches,
wombats etc.) So beware!
If you use any version of the Fractal Engine to produce any artistic work which
is published in any manner, please quote your source. You may distribute FE2 as
much as you please but do not hire or offer it for sale without our permission.
We welcome contact from P.D. libraries. You may not reproduce the program or
any of the documentation out of context in part or whole for any reason without
our written permission. Your god will know what you've done even if we don't.
4.4 Some useful addresses and references
------------------------------------
Fractal Engine
Garden Flat,
20 Bristol Road, Lower,
Weston-Super-Mare,
Avon,
BS23 2PW
Art Matrix - fractal videos and other products.
PO Box 880MJ,
Ithaca,
NY 14851-0880,
U.S.A.
Strange Attractions - chaos shop - anything to do with fractals.
204 Kensington
Park Road,
Notting Hill Gate,
London W.11
The following texts represent a useful introduction to chaos and fractal
mathematics in general. There are numerous others but we strongly suggest the
following if you wish to investigate them for yourself. James Gleick's Chaos is
about the easiest to read of the tomes which although not specifically about
fractals is a comprehensive general introduction to chaos theory. The Science
of Fractal Images is about the best of the technical fractal books for non PhD
mathematics students and gives example algorithms and good explanations of what
is going on.
Barnsley, M.F.
Fractals Everywhere
(Academic Press, 1988)
Gleick, J.
Chaos, making a new science
(Sphere Books, 1991)
Peitgen H-O & Richter, P.H.
The Beauty of Fractals
(Springer-Verlag, 1986)
Peitgen, H-O & Saupe, D.
The Science of Fractal Images
(Springer-Verlag, 1988)
------------------------------------------------------------------------------
This document was written and edited by Mike Harris using Microsoft Word for
Windows v2.0. The ASCII text version was formatted using MicroEMACS 3.9e on
an IBM PC Compatable.
(c) 1993 Dan Grace and Mike Harris.