                 Mind-Boggling Fractals Lite (MBFL) Tutorial
                     Copyright (c) 2001, Paul W. Carlson


USING THE TUTORIAL
-------------------------------
The easiest way to use this tutorial is to make a printed copy by loading
the file Tutorial.txt (located in the directory that contains the 
MbfLite.exe program) into WordPad and use WordPad to print the file.

The on-screen tutorial that you see now can also be used concurrently with 
the main program.  Clicking on the Hide button will make the tutorial 
disappear, allowing you to interact with the program.  After you have 
interacted with the program, to view the tutorial again, put the mouse cursor 
in the Picture Box and click the right mouse button.  When you are done using 
the tutorial, click the Done button on the tutorial form.

DISPLAY MODE
----------------------
This program should be run with the display set to a screen resolution of 
800x600 or 1024x768 pixels, and the Color Palette set to HighColor or 
TrueColor.  A 256 color palette can be used - the images saved to disk will be 
perfect, but will probably appear somewhat less than perfect while running the 
program.  If your display is set to the standard configuration using small
fonts, MBFL will automatically position all popup dialogs for you.  If you are
using large fonts, you may have to position the popup dialogs manually the
first time you run MBFL, but from then on MBFL will remember the locations of
all popup windows and set them automatically for you.

CREATING FRACTALS
-------------------------------
Creating fractals is a process of exploration and experimentation.  If you 
have never created a fractal image, you may not know how to begin exploring.  
The best way to learn is to start with images created by others.  When you 
installed this program, several images were copied into the Images directory.
These are the images you will see listed when you click on the Load button
(all references to buttons from here on refer to buttons on the main program
form).  You can use these images as a starting point in your explorations by
zooming in and out, modifying the parameters and changing the colors (all of
which is explained below).  The section of this tutorial, Suggestions For
Exploring, below, gives more detailed suggestions for exploring.

The program was designed to make exploring and experimenting as easy as 
possible.  You will notice that the appearance of the form changes depending 
on the type of image and what you are doing at the moment.  This ensures that 
only appropriate values can be changed and that only appropriate buttons 
can be clicked.

SOME DEFINITIONS
----------------------------
Here are a few definitions you will need to know to understand the remainder 
of this tutorial and to use this program.  The definitions include some tips 
on using the program, so read them even if you are already familiar with the
definitions of the words.

1. Msets and Julia Sets
The types of fractals generated by this program can be put into two 
categories - Msets and Julia Sets.  An Mset is like a map of the whole 
territory and, like any territory, there are some locations with beautiful 
features and many locations that are rather boring or even featureless.  The 
most famous Mset is the Mandelbrot Set (in fact, the term "Mset" is an 
abbreviation for Mandebrot-like set).  There is only one Mset for each of the 
6 equations used to generate the fractals in this program (the full version
has 35 equations plus user-defined equations).  Unlike Msets, there are an
infinite number of Julia Sets for each equation.  There is a Julia Set for
every location in an Mset.  You can think of a Julia Set as an icon representing
the features at a particular location in an Mset.  If a particular location in
an Mset is a point within a five-armed spiral, the Julia Set for that point will
be made up of five-armed spirals.

2. Iterations
Both Mset and Julia Set images are generated by iterating an equation.  
Simply stated, an equation is iterated by repeatedly computing the value of 
the equation, the output from one computation being the input for the next 
computation.  Each computation of the equation's value is one iteration of the 
equation.  For each pixel in an image, the equation is repeatedly iterated 
until: 1) the specified maximum number of iterations is reached; 2) some 
criteria (determined by the rendering method) is met; 3) the value of the 
equation exceeds the value typed into the Iteration Loop Early Exit Value 
textbox.

The maximum number of iterations is specified by typing a number into the 
Max. Iters textbox.  In general, this number should be as small as possible 
to get the image you want, but should be large enough so that the centers of 
spirals are filled in and important features like minibrots (see below) are 
sharply defined.

The form also contains a Skip Iters textbox.  The number typed into this 
textbox tells the program to iterate the equation the specified number of 
times without checking if the rendering criteria is met.  In many cases this 
has the effect of removing the largest elements from an image.  Instances 
when you may want to eliminate image elements are when they obscure details 
you want to show, or when you want to isolate just a portion of an image.

3. Rendering Methods
Each of the 6 builtin equations in the program can be rendered or depicted
in several different ways.  The progam includes 9 different rendering
methods (the full version has 20 different rendering methods).  Some rendering
methods may not work well with some equations.  However, if you have created
a nice image, perhaps a spiral, often changing just the rendering method will
produce another nice image that has the same general shape but that looks
quite different.

4. Image Elements
The rendering methods used by this program (with the exception of the Level 
Set method) produce images consisting of sharply defined elements of 
different colors.  For example, the Rings rendering method produces images 
consisting of rings having a 3D appearance.  The rings may be very 
distorted, to the point where they no longer look like rings, but that may 
just add to the beauty of the final image.

5. Parameters
Parameters are values that you type in to vary the appearance of an image.  
This program uses the three parameters P1, P2 and P3.  The value of P1 in 
most cases will determine the size of the image elements.  P2 also affects 
the image elements in various ways.  P3 is used with the Chebyshev 
equation to select one of several variations of the equation.  When you 
select a rendering method from the Rendering dropdown list, only the 
textboxes for the required parameters appear on the form, and suggested 
ranges of values appear in the lower-right corner of the form.  Do not feel 
constrained by the suggested values - several of the images on the CD use 
values outside of the suggested ranges.  Experiment!

6. Functions
Some of the equations and/or rendering methods use one or two functions.  
These functions are selected from the Func1 and Func2 dropdown lists.  These 
dropdown lists appear only as needed.  There are no rules to go by in using 
the functions - some functions may produce nice images, others may produce 
nothing.  Experiment!

7. Magnification
The magnification of an image is a measure of the amount of zooming in or out 
done on an image and is equal to the image's unzoomed size (in the complex 
plane) divided by the image's zoomed size, where the image's unzoomed size is 
assumed to have a magnification equal to one (don't worry if you don't 
understand that bit of information - you don't need to).  Unfortunately, 
there is no standard size for an unzoomed image.  The magnification values 
computed by this program fall in between those computed by Fractint and 
UltraFractal, being closer to those used by UltraFractal.

8. Angle
This is the angle (in degrees) that the image has been rotated.  The 
direction of rotation used by this program is the same as that used by 
UltraFractal, and is opposite in sign to that used by Fractint.

9. Minibrots
These are miniature versions of the famous Mandelbrot Set.  Minibrots are 
found in the fractal images produced by many different equations.  They will 
always be plotted in the Max. Iter color.  They are usually surrounded by 
image elements in beautiful, nearly symmetrical configurations.

PROGRAM MAIN FORM CONTROLS
-------------------------------------------------
Many of the controls on the program's main form need no explanation.  The 
controls discussed below are not difficult - you could determine how they 
work with just a little experimentation, but the descriptions may save you a 
little time getting up to speed.

-- Picture Box --
This is the rectangular area where the image is plotted.  It resizes itself 
to the image's width/height ratio.  If the image is too large to fit into a 
512x384 box, the image displayed in the box will be scaled down by a factor 
of 2, 4, 8 or 16.  Because not every pixel that is computed is always 
displayed on the screen, the Picture Box should be considered a plotting 
progress monitor.  The full, unscaled image is always available to be saved.  
If the image in the Picture Box is scaled down by a factor of 8, then only 
every eighth pixel in every eighth row is plotted in the Picture Box. The 
number appearing below Plotting Image Row: always indicates the actual row 
being plotted in memory.  If only every fourth or eighth row is being 
plotted in the Picture Box it may seem to take a long time for the Picture 
Box image to change.  This method is actually slightly faster than plotting 
the entire image into a window with scrollbars and has the added big 
advantage of having the whole extent of the image available for zooming.

-- Plot Button --
Clicking this button starts or continues the plotting of an image.  If a 
partial image is in the Picture Box when this button is clicked, the image 
will continue plotting unless any of the information shown to the right of 
the Picture Box has been modified, in which case a new plot will be started.  
Some actions, such as as changing the Number of Color Ranges selection or 
loading a parameter file, will start a new plot automatically.

-- Pause Button and Esc Key --
The Pause button is active only while an image is being plotted.  Clicking 
this button halts the plot when the current row is complete and puts the 
program into a paused state.  It is only when the program is in a paused 
state that the other controls are activated.  In contrast to the Pause 
button, pressing the Esc key halts the plotting after the computations for 
the current pixel are complete.  This causes any pixels that were computed in 
the current row to be ignored, and clicking the Plot button will resume the 
plot starting at the beginning of the current row again.  Therefore, the Esc 
key should be considered as an emergency way of halting a plot and putting 
the program into a paused state.

When the program is in a paused state, a partial image can be saved to disk 
by clicking the Save Image File button.  The image can be completed at a 
later time by clicking the Load Image File button to load the partial image 
and then clicking the Plot button to continue plotting the image.

-- Zoom Button --
Clicking the Zoom button or clicking the left mouse button when the cursor
is in the Picture Box overlays the image with a zoom box having a Ratio 
equal to 0.5 and an Angle equal to zero.  The angle displayed above the Angle 
scrollbar is the angle of the zoom box, not the angle of the image.  There
are three ways to control the zoom box, which can be used in conjunction
with each other:

1. Using the Zoom Box Controls
Use the Angle scrollbar to change the zoom box angle and the Size scrollbar
to change the size of the zoom box (this changes the magnification ratio).
To move the zoom box, move the mouse cursor into the center of zoom box
and when the cursor changes to a four-way arrow, press and hold down the
left mouse button and drag the zoom box to the desired location.  Click
the Apply button to apply the zoom, or click the Cancel button to cancel
the zoom.

2. Using the Zoom Box Handles
The small square that initially appears on the bottom edge of the zoom box
is the sizing handle, and the square that appears on the upper-right corner
of the zoom box is the rotation handle.  When you click on either handle with
the left mouse button and hold the mouse down, the handle will turn red to
indicate that it is active.   With the sizing handle active, moving the mouse
forward will decrease the size of the zoom box, and moving the mouse backward
will increase the size of the zoom box.  With the rotation handle active,
moving the mouse to the right will rotate the zoom box clockwise, and moving
the mouse to the left will rotate the zoom box counter-clockwise.   Right-
clicking the mouse anywhere within the zoom box will apply the zoom.  Right-
clicking the mouse inside the Picture Box but outside of the zoom box will
cancel the zoom.  Pressing the Backspace key will also cancel the zoom.

3. Using the Arrow Keys
Press and hold down any of the four arrow keys to move the zoom box in the
direction of the arrow on the key.  If you press and hold down the Ctrl key
prior to pressing the Up or Down arrow keys, the size of the zoom box will be
increased with the up arrow key, decreased with the down arrow key.  If the
Right or Left arrow keys are pressed while the Ctrl key is depressed, the
zoom box will be rotated clockwise with the rigtht arrow key, counter-
clockwise with the left arrow key.  Pressing the Enter key will apply the
zoom and pressing the Backspace key will cancel the zoom.

The zoom box can be partially or totally outside of the Picture Box.  The
portion of the image inside the zoom box will be plotted when the zoom is
applied.  If the Ratio displayed above the Size scrollbar is less than 1.0
the result is a zoom in, greater than 1.0 the result is a zoom out.

-- Save Parameters Button --
If an image, or even a partial image, is displayed in the Picture Box, all 
the information needed to create the image can be saved in a Parameter File 
(having a .prm extension) by clicking the Save Parameters button.  This will 
bring up the Save Fractal Parameters dialog.  You can select an existing 
parameter file, in which case the information will be added as an entry to 
the file, or you can type in a new name which will create a new Parameter 
File.  After a file name is selected, a form will be displayed allowing you 
to enter a name for the entry and to add some comments to the entry.  You 
should probably limit the number of entries in a file to about 100 for 
efficiency in searching for entries.

-- Load Parameters Button --
Clicking on the Load Parameters button brings up the Load Fractal Parameters 
dialog.  After you have selected one of the file names displayed by this 
dialog, a form will be displayed allowing you to browse through the entries 
in the file.  Clicking on the Load button on this form will start a new plot 
immediately, using the current Image Resolution.

-- Switch to Julia Set/Mset Button --
If a complete or partial Mset image is displayed in the Picture Box, the 
Switch to Julia Set button will be activated.  When this button is clicked
the cursor will change to a locator box which will be centered in the Picture
Box.  Move this cursor and center it over the point that you wish to use for
the Julia Set coordinates and then click the left mouse button (or press the
Enter key) to plot the Julia set with a 160x120 resolution.  Click on the
Cancel button (or click the right mouse button, or press the Backspace key) to
cancel the switch to Julia Set.  Clicking on the Home button will center the
cursor in the Picture Box.

For certain equations a Julia Set preview box will show the general shape of
the Julia Set at the cursor coordinates when you are switching to a Julia Set.

If a complete or partial Julia Set image is displayed in the Picture Box, the 
Switch to Mset button will be activated.  Clicking on this button will plot 
the Mset with a 160x120 resolution with the point on the Mset that 
corresponds to the Julia Set coordinates located in the exact center of the 
image.  If you zoom in on this center point several times, you will likely 
see a portion of the Mset that looks very much like the Julia Set.

-- Modify Colors Button --
Clicking this button brings up the appropriate colormap editor form,
depending on the current Number of Color Ranges selected.  MBF supports two
modes of color editing, RGB and HLS.  You can switch modes at any time by
clicking on the Use RGB or Use HLS buttons.  The best way to learn about
changing the colors on an image is to experiment.  Clicking the Save Map
button allows you to save the image colors  to a colormap file with a .cm2,
.cm4 or .cm8 extension, depending on the current Number of Color Ranges
selected.  When a colormap file is loaded, the colors of the displayed image
will immediately change to those that were saved in the colormap file.

-- Undo Button --
Clicking this button starts a new plot using the image equation, rendering
method, coordinates, parameters, resolution and colors that were in effect
when the image prior to the one currently displayed was plotted or loaded.

-- Exit Program Button --
Clicking this button ends the execution of the progam.  Just before the program
is unloaded from memory, the state of the program is saved.  This is the state
the program will be in the next time you run it.  Everything will be the same
except that no image will be shown and the default colors will be in effect.

-- Set Default Coordinates Button --
Clicking this button sets Center Real, Center Imag and Angle to zero and sets 
Magnification to one.  A new plot is started immediately at the current Image 
Resolution.

THE SYSTEM MENU
----------------------------
The System Menu is accessed by clicking on the spiral icon at the left end of
the title bar of the main program window.  On the dropdown menu there is one
menu item that affects the appearance of a plotted image:

-- Allow/Remove Image Banding --
Some rendering methods may produce bands of color within the image elements.
You may or may not like this effect.  Clicking on this menu item will toggle
between Allow Image Banding and Remove Image Banding.  The change goes into
effect the next time a plot is started.  When an image is loaded into the
program or when an image is plotted from a parameter file, the image banding
will be determined by the loaded image or the parameter file.  The current
state of image banding is always displayed in the lower right corner of the
main window.

SUGGESTIONS FOR EXPLORING
-----------------------------------------------
1. Use Level Set rendering to explore an overall view of the Mset for the
equation you're interested in.  When you installed this program, twelve 
images were copied into the MsetLvSt directory (the full version has 54 of
these images).  All of these 160x120 resolution images are overall views of
the Msets of the equations used by this program, created using  Level Set
rendering.  These images make excellent starting points for your explorations.
Zoom into the areas along the edges of the black areas or other areas that
show a lot of detail, especially into the crevices.  When you have an area
displayed that looks promising, try changing to a different rendering method
and experiment with different parameter values.  Try skipping some iterations.
When you have a nice image displayed using the rendering you want, save it
and then click the Switch to Julia Set button to see what the corresponding 
Julia Set looks like.

2. Load an Mset image that you like that was created by someone else.  Set
the Image Resolution to 160x120 for fast plotting.  Click the Set Default
Coordinates button to get a more overall view of the Mset.  If the image
elements obscure the edges of the Mset, select the Level Set rendering method
and try the suggestions above.

3. Load a Julia Set image that you like that was created by someone else. 
Set the Image Resolution to 160x120 for fast plotting.  If the image is a
zoom into a Julia Set, Click the Set Default Coordinates button to get a more
overall view of the Julia Set.  To see where the Julia Set is located in the
Mset, click on the Switch to Mset button and zoom into the Mset using the 
suggestions above.

4. Be patient.  An infinite number of beautiful images are awaiting your 
discovery.  Although this program is easy to use, finding nice images does 
take some practice (and luck in some cases).

DESCRIPTION OF THE FULL VERSION
------------------------------------------------------
The Lite version of Mind-Boggling Fractals that you now have provides just a
sampling of what is available in the full version of the Mind-Boggling Fractals
(MBF) program.  The Lite version has 6 builtin equations, the full version has 35.
The lite version has 9 rendering methods, the full version has 20.  The full
version has a very easy to use user-defined equations editor that allows you
to experiment with almost any equation you can dream up, and you don't have
to be a mathematician or programmer to use it.  The user-defined equations
editor is one of the most popular features of the full MBF.

The full version of MBF is sold on a CD that also contains 730 images that were
created using MBF and that can be loaded into the MBF program and modified
in an infinite number of ways.  The images on the CD can also provide
starting points for your own explorations.

In addition to all this, owners of the full version have unlimited access to the
MBF User Support Area where several free programs can be found that were
written by the author of MBF, as well as many user-contributed parameter files
and colormaps.  The free programs include, among others, a high quality
anti-aliasing program and a program that generates Lyapunov images using the
same type of user-friendly interface as the MBF program.  The MBF User
Support Area always contains the very latest upgrade to the MBF program.
The upgades are free to all MBF CD owners and will run only if MBF has been
previously installed from the distribution CD.

Support for the MBF program does not end with the MBF User Support Area.
The author of MBF is available by email for answering questions about MBF and
questions about fractals in general.  There is also an MBF mailing list that
owners of the MBF CD can subscribe to at no cost, where they can learn from
other MBF users.

ORDERING THE FULL VERSION
---------------------------------------------
Ordering the CD containing the full version of the Mind-Boggling Fractals
program and 730 fractal images is very easy.  First, you need to be connected
to the internet.  When you are connected to the internet, click on the
Order MBF button on this form.  You will be taken to a Mind-Boggling Fractals
webpage where you will find instructions for ordering by credit card, check,
cash or money order.  The price is twenty-five US dollars per CD plus five US
dollars shipping and handling per order.

USING AND DISTRIBUTING MIND-BOGGLING FRACTALS LITE
---------------------------------------------------------------------------------------
Mind-Boggling Fractals Lite may be used for any non-profit purpose, at no cost.
It may be distributed by any means, provided that the unmodified MbfLite.zip
file as supplied by the author remains intact and no charge is made other than
for reasonable distribution costs.  You may give this program to individuals and
to non-profit organizations.  You may also upload the MbfLite.zip file to
websites, bulletin boards and freeware and shareware distribution sites on
the internet.

Mind-Boggling Fractals Lite may not be distributed with any commercial product
without a prior license agreement with the author.


