Home » Archimedes archive » Micro User » MU 1992-05.adf » PD » Fractal/!Fractal/Help/!Functions/Readme

Fractal/!Fractal/Help/!Functions/Readme

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Micro User » MU 1992-05.adf » PD
Filename: Fractal/!Fractal/Help/!Functions/Readme
Read OK:
File size: BF68 bytes
Load address: 0000
Exec address: 0000
File contents
  ________________________________________________________________________
 /                                                                        \
|                   !Fractal : General Fractal Plotter                     |
|                                                                          |
|                         Fractal Function Help                            |
|                                                                          |
|                             March 1992                                   |
 \________________________________________________________________________/ 

Introduction
============
This help file covers the various fractal and 3d transformers available
within !Fractal and their associated parameters and menu options. Note: the
3d_Plane, 3d_View, Riemannn and Render options are not fractal functions,
but take a fractal image and perform a 3d transformation. They are described
after the fractal functions.

The algorithms where shown usually give only the core maths, omitting things
like the scaling needed to handle zooming.

Most functions have a set of variables which are accessed from the
Image->Data menu option or the Numbers tool icon. Normally the first four
variables are for controlling the zooming and image positioning.

--------------------------------------------------------------------------

Bifurcate
---------
!Fractal would not be complete without bifurcation diagrams, one of the
original manifestations of chaos. They were originally discovered from a
very simple equation to describe animal populations:

    New Population = Growth Rate * Old Population * ( 1 - Old Population)

where population is a value between 0 and 1. With growth rates < 200% a
single line results, over 200% it splits (bifurcates) into 2, then 4, then
becomes chaotic.

In the plot the x-axis is the growth rate, the y-axis is the population.
Where multiple points are plotted at the same pixel, the colour is
decremented. The data values are:

Growth Rate: value at x0.
Pop. Size  : value at y0.
Rate Range : add to x0 to give growth rate at far right.
Pop. Range : add to y0 to give population at top of screen.
Init Popn. : The inital value of the population used in the equation.
Max Gen.   : Number of generations to calculate for each growth rate.
Min Gen.   : Number of generations before plotting.

The Min Gen value is used as a low filter to let the population stabilise
before plotting, whilst the Max Gen is the total number of generations to
calculate before moving onto the next growth rate.

You can zoom in to examine the chaotic patterns, which often reveal detail.
Increase Max Gen as you zoom in to see the range of population values.
!Fractal switches from fast 32 bit to full floating point calculations as
you zoom in.

There are many formulae that lead to bifurcation diagrams - some of these
will be included at a later date. Mitchel Feigenbaum discovered that the
ratios of lengths of adjacent areas of bifurcation were always 4.6692..., a
constant that is now named afer him.

--------------------------------------------------------------------------

Fault
-----
Generates a landscape by a very simple simulation of geological faulting.
Each time a fault occurs, a part of the landscape is moved up (or down). By
repeating the process hundreds or thousands of times at random locations
across the image, an uneven terrain is created. The portion of the terrain
faulted is determined by the fault type. These are based on various shapes
as selected by Fault->Type.

The data parameters are:
Count: the number of faults to be run before stopping. Higher numbers
produce more realistic and uneven shapes.

Shape Size: The size of the fault shape in OS units. Larger sizes tend to
produce more generalised faults but may lead to obvious boundary lines which
can look unrealistic. Smaller shapes give more uneven, bumpy landscapes.
Sizes of 1/5th the total image give a good balance between smoothness and
variety. Larger shapes will take longer to plot.

Step: The maximum height increment for each fault. The maximum height that
can result is 255 unless Fault->Wrap is turned on in which case heights wrap
around to 0. For 3d shapes such as Cone, the Step represents the maximum
height (usually the centre). Not used for Sprites.

Seed: The random number used as a seed to generate the landscape. To
recreate a landscape, set Fault->Random off and set the seed value. This
allows the effects of different shapes, sizes and step values to be
evaluated.

From the Fault menu the following options are selectable:
Type: leads to a submenu showing the type of fault to use. The first set are
shapes, the size of which is set from the data value Shape Size, and maximum
height by Step.
  Circle    : a circle of radius Shape Size/2.
  Cone      : a conic rising evenly in height (max Step) to the centre.
  Hexagon   : a hexagon of radius Size/2.
  Octagon   : an octagon of radius Size/2.
  Octagon 3d: a 3d octagon rising in height to the centre.
  Sprites   : leads to a panel listing a sprite shape to be used as the
              fault pattern. Click on Sprite to use this feature, and click
              on the name of the sprite to use.

Random: when on generates a random landscape. Turn off to recreate a
landscape using the Seed value.

Superimpose: when on causes the faults to be applied to the existing image.
This allows different shapes, sizes and step values to be cumulatively
applied. When off, the image will be cleared on redraw.

Wrap: when on allows height values to wrap around from 255 to 0, otherwise
values peak at 255.

Using Sprite Fault Shapes
-------------------------
Any shape can be used as the fault pattern. The colour values of the sprite
are used as the fault height, whilst the overall size of the sprite is set
by Shape Size as for other shapes. The supplied sprites are in the file
FaultSpr.

You can experiment with your own shapes by dragging a sprite file onto any
of !Fractal's windows whilst Fault is selected. The sprites must be defined
in a 256 colour mode - 13 and 21 are best since the pixels are square. Each
sprite should be square in terms of OS units, but the pattern inside can be
any shape.

It is best to draw the pattern in distinct colours since the low colour
values are difficult to see. When you are happy with the shape, use !Paint's
colour replace option (the bucket!) to set the colours to the height values
(low colour numbers). Typically these would be in the range 0-20. Circular
patterns tend to give the most realistic landscape effect, but feel free to
experiment since strange patterns can be produced with linear shapes. You
can think of Fault as a special type of Tiling mechanism.

Hints And Tips
--------------
The resulting image looks best with the Landscape display palette. If the
image is too low you'll just see blue, so use the Palette adjust facility
(striped Tool icon) to alter the mapping until you get a mixture of sea and
land. Alternatively load your own customised palette made with !FracPal. For
instance, a palette of various shades of white, grey and light blue give a
very realistic cloud effect.

To view the landscape in 3d try 3d_View or Render using either a Log or
Linear 3d mapping (in the 3d panel). Use the 3d Scalar value to accentuate
or smooth the image. Again, select the Landscape palette. Try the Riemann
plot to create your own globe.

When using the Superimpose facility it is best to start with a large shape
size, running for several hundred faults, to generate the basic rolling
terrain. Then use a smaller size, increase the number of faults and step
size to give more localised variation and peakiness. The best shapes are the
Cone and Octagon 3d - for these you'll need a relatively larger size than
Circle because of the gradual rise in height. Try mixing shapes using
Superimpose to create different effects. Using large shape sizes can also
produce interesting patterns.

Algorithm
---------
Faulting by shape simply involves selecting a point at random and then
plotting the shape centred on that spot. The value of each shape pixel is
added to the image pixel value - if Fault->Wrap is off, then the maximum
value of 255 is set, otherwise the value wraps around.

Watch This Space: A lot more functionality will be added, such as linear
faulting and fault programming!.

--------------------------------------------------------------------------

H�non Maps : An implementation of H�non's strange attractor.
----------
Two sub-functions are provided. The Original function shows a simple orbit,
whilst the SIN/COS function is a fuller implementation. They both relate to
orbits of asteroids and so on. The menu options are greyed when not
applicable to a particular function. The menu options are:

Original: selects the basic function. This function is infinite so you will
need to manually stop it. See Chaos by J.Gleick p.141 for full details.

SIN(a)/COS(a): selects the full function. See J.Dewdney, Sc.American, July
1987.

Random a: The value of a is chosen at random by the program when ticked.
Random b: The value of a is chosen at random by the program when ticked.

Auto Step: When on, the number of points calculated will be increased as you
zoom in, to give greater resolution, though this will take longer.
                                                         
Random Colour: when on the colour will be changed randomly every 100 points.

Original Algorithm:
------------------
The default value for a is 1.4 and b is 0.3. The best results come from
slightly altering these values rather than choosing random figures.

       px=1
       py=1
       do
           z=px
           px=py+1-a*z*z
           py=b*z
           plot px,py
       until (x>1.0e10 or y>1.0e10)

SIN(a)/COS(a) Algorithm:
-----------------------
Here the main control is the data variable a. The step rate is decreased
when zooming in. Thanks to Joyce Haslam for passing on this algorithm.

       for i=-0.8 to 0.8 step 0.05
         for j=-0.8 to 0.8 step 0.05
           c=0
           x=i
           y=j
           repeat
             c+=1
             xx=x*COSa-(y-x*x)*SINa
             y=x*SINa+(y-x*x)*COSa
             x=xx
             plot x,y
           until (i>100 or x>1000 or y>1000)
         next
       next

--------------------------------------------------------------------------

IFS 2d: An implementation of Michael Barnsley's IFS system in 2 dimensions.
------
Up to 40 IFS transformations are stored internally, one of which is the
working IFS. From the IFS menu the options are:

Data: The current IFS data except for the zooming co-ordinates which are
accessed via the standard Image�Data� menu. Click Input to enter new values,
or Re-draw to enter and re-draw the image. Click Store to store the data in
the internal file, or Restore to revert to the version held internally.
Click Copy to take a copy of the current data and create a new IFS function,
or click Delete to delete the current entry.
The data on display consists of:

Name: used to identify the IFS function, any 1-11 characters.

Number: location within the internal IFS file. Click on the arrows to access
prior or next entries.

Transformations: number of affine transforms to use (1-9). If the sum of the
probabilities is less than 1, this number is automatically increased by 1
and a null transformation is added.

Iterations: The number of iterations before stopping image generation.

The affine data is shown according to its place in the affine function, not
as a,b,c... as shown in some programs, so be careful when porting values.
The sum of the probabilties must be >=1. If not, an extra null
transformation is added. To move around the grid use !Fractal's standard
editing keys. Numbers may be entered in scientific format. Remember to click
Input or Re-draw afterwards to get the new values processed.

List: shows a panel listing all the internal IFS functions available. Click
over a name to make it the current one. Most of these came from Fractint, so
see there for credits.

Save: allows the internal IFS file to be saved as a text file. Saved files
can be re-loaded by dragging onto the !Fractal icon or window. Please send
in exciting new IFS functions to AFG so that we may all see them.

Algorithm
---------
The algorithm to generate each point is essential as shown on the input panel,
ie:

     r=random number from 0 to 1
     select affine transformation whose probability sum is just less than r
     x=a*x+b*y+c
     y=d*x+e*y+f
     plot x,y

where a..f refer to the columns in the data input panel left to right.

--------------------------------------------------------------------------

Julia Set
---------
Plots the Julia set corresponding to the equivalent Mandelbrot function.
The initial zoom uses integer maths, then reverts to to a rather slower
floating point. From the menu you can switch to the equivalent Mandelbrot -
the current Real and Imaginary values are used to set the Mandelbrot x & y
value for the centre of the image. Other options are as described under
Mandelbrot.

It is usually best to select a Julia from the equivalent Mandelbrot display.
Trying to set cReal and cImaginary otherwise can be a slow process to get
reasonable results. When switching to the Quaternion set, Quaternion q0 is
set to cReal & q2 to cImaginary.

When using functions other than Square, floating point is used much sooner
so as to maintain accuracy.

Algorithm: the Julia algorithm is essentially the same as for Mandelbrot,
but with a different start point, namely:

    u=x
    v=y
    x=cReal
    y=cImaginary

--------------------------------------------------------------------------

L-System : Turtle graphics as used for drawing plants etc.
--------
The L-system uses a LOGO like turtle language to describe shapes as a series
of movements, and was introduced by A. Lindenmayer to help describe plants.
Refer to the book The Algorithmic Beauty of Plants for full details of the
work by Prusinkiewicz and Lindenmayer. Up to 80 definitions are stored
internally which can be saved as a text file, or a new file may be loaded.
Each shape definition is made up of the following components:

Name: 1-19 character name for identification.

Iterations: the number of times the algorithm is recursively expanded.

Angles: Rather than describing the amount of each turn as so many degrees,
each turn is expressed as a fraction of a circle. Thus 6=60� (360�/6). The
number should be even if you plan to use the '|' command to allow turns of
180�.

Axiom: a string of 1-31 characters incorporating turtle commands and rules.

Rules: a single letter identifier and 0-79 characters consisting of further
rules or turtle commands. Note that the case of letters is significant.

The routine starts by taking the axiom string and then replaces each rule
character in it by the equivalent rule string. This process is repeated
for the number of iterations specified.

Thus if the axiom is F-F++F-F, after the first expansion we get :
  F-F++F-F-F-F++F-F++F-F++F-F-F-F++F-F
The string is in then interpreted as a series of turtle commands, any rule
characters being ignored. 

The key to the routine is this recursive expansion, and often the use of
F as a rule and turtle command (which is somewhat confusing I admit, but
very important).

Drawing
-------
Because the resulting size of the image is unknown at the outset, the plot
has to be repeated, with the image being correctly scaled to fit on the
screen on the second pass. However you can use zooming, in which case only a
single plot is performed.

Use Adjust to stop a plot. Note that currently it is not possible to restart
a plot after Adjust is pressed. You are advised to start at low iterations
and work up.

Basic Turtle Commands
---------------------
The characters used are those in standard use. Note that 'F' is different
from 'f'. (Fractint uses 'G' for 'f' since it is case insensitive).

F : draw a line forwards in the current direction.
D : same as F, ie. draw a line forwards.
f : move forwards without drawing a line.
- : turn anti-clockwise 1 angle (see definition of angle above).
+ : turn clockwise 1 angle.
| : turn 180�. Note - angle must be even for this to work correctly.

Advanced Turtle Commands
------------------------
To get more complex displays requires the use of one or more these commands.

[  : stack the current position, angle, line length, width and colour.
]  : unstack the turtle details.
!  : reverse meaning of '+' and '-'.
>n : increment colour by n where n is one or more digits.
<n : decrement colour by n.
@n : multiply the line length by n. The initial length is 1. 'n' is 1 or
     more decimal digits and may contain a decimal place.
     To divide precede the number by I (for inverse). eg. @I3 divides by 3,
     or use @0.333. 
     Precede the number by 'Q' for the square root, eg. @Q2 = length * 1.414
#n : Multiply the line width by n - the initial width is a single pixel.
     Numbers may be specified as for line length.
{sprite} : Plots a sprite of this name at the current position and rotation.
           The sprite is plotted the same size as the current line size.
           See below for full details.
{sprite,n} : As above but plots at the scale specified as 'n'.

Colour
------
The initial colour is 255 (white). Colour numbers are made up of the bits
BBGGRRTT where B=Blue, G=Green, R=Red, and T=Tint (amount of white). Thus
adding 64 each time increments the blue, 16 the green, and 4 the amount of
red. This colour scheme is the same as BASIC's COLOUR*4+TINT.

If the colour exceeds 255 it wraps around. Thus putting >16 in the axiom
sets the colour to maximum red (255+16-256=15).

Menu Options
------------
There are 4 menu options, providing data entry, selection of the
L-system to use, saving the internal file of data, and opening of the
current L-System data directory.

Data Entry Panel
----------------
Use this panel to update the L-system data, or select a new L-system. To
move the caret around the icons use !Fractal's standard editing keys. The
various icons are:

Input: You must click on this for your changes to take effect.

Re-draw: This is the same as Input followed by a re-draw request.

Store: This takes the data and stores it in the internal file. If you move
to another L-system without using this option your updates will be lost!

Restore: Refreshes the data on display from the copy in the internal file.
This lets you back out changes without having to re-load the file.

Copy: Takes a copy of the current L-system so that you can edit it without
modifying the original. You should give the copy a new name to avoid
confusion.

Delete: Deletes the current L-system from the internal file.

Name: the 1-19 character identifier for this L-system.

Item: click on the left or right arrows to move to a different L-system.
Remember to use Store if you want to keep any changes to the current
L-system.

Iterations: Use the arrows to change or click on the number to key in a new
value. Higher iterations give more complex patterns but will take much
longer to draw.

Angle: determines the amount of turn for '+' and '-'.

Axiom: the 1-31 character string that is the initial rule.

Rules: Each rule must have a unique character for identification. Up to 9
rules may be use, each of 0-79 characters. A null rule can be used to strip
out turtle commands during expansion (see Cesaro for example). Remember to
click Input or Redraw to enter your values.

L-System List Panel
-------------------
This panel lists all the L-systems that are held internally, showing the
first 11 characters of their name with current name being highlighted. Click
on a name to select one.

Save
----
The internal file of L-system definitions can be saved as a text file by
dragging the text icon to a filer window. The associated sprites will be
saved in the same directory if not already present. Saved definitions can be
reloaded at any time - !Fractal will automatically select L-system if it is
not the current fractal. Two files of definitions are supplied - click on
L-System->Directory to open a Filer window showing the files available.

You can edit the text file, but be careful to keep to the format which is:
      L-System
      sprite filename
      l-system name                                     } for each
      default iterations,angles,number of rules         } L-System
      axiom                                             }
      ruleid=rule text                 1 for each rule  }

The supplied definitions come from the Science of Fractals, Algorithmic
Beauty of Plants, Fractint, and John Greening. Please send in more functions
to AFG so we can all see them. I have added colour and sprites to some of
the shapes.

Hints And Tips On Creating L-Systems
------------------------------------
To get an idea how L-systems work, look at the shapes prefixed 'Sier' and
start at low iteration values. Note that shapes grow because a rule string
contains more than one rule itself.

A good way to trace how a shape is built up is to add a colour change at the
start or end of a rule, ie. add a >4 or >1. The different colours in the
result show where a new copy of the rule was expanded. Try the colour
cycling on this as well!

Shapes that are made up of lots of smaller copies of themselves are created
by making the rules recursive, that is the rule string contains the same
letter as the rule name (eg. F=FF) or a subsequent rule refers back to the
first one (eg. F=AB, A=FB).

To set the initial direction, width or colour, place the required turtle
commands in the Axiom. The initial direction is to the right so use '-' to
make a shape start plotting upwards. That way they are only executed once -
see Bush3 for an example.

The stack is a very powerful feature and worth experimenting with - it is
the key to shapes that feature points, such as the plant examples. It also
allows you to create a sub-shape with its own colour, size and width which
may be placed anywhere within the main pattern. See Tree3 which uses 'L' for
the Leaf rule. Typically these sub-shapes are placed at the end of a stacked
sequence - PlantLeaf uses [--L] to place a leaf at the tip at particular
points.

Two draw commands (F and D) are provided so that one may be expanded (by
making the command a rule) and the other unexpanded. Tree3 uses this to
allow the leaves to be drawn the same size. If the L rule used 'F' for
drawing, the 'F' rule would expand making the leaf larger depending on where
it was drawn - try it and see.

The length command (@) is generally used to make successive parts of the
shape relatively smaller. See Tree1 for example which uses it to make the
branches smaller and smaller. A similar effect can be achieve by using a
rule of the form F=FF - at higher iterations each F character is expanded
into more F draw commands.

Use the width command (#) to give body to plant and tree shapes for extra
reality.

Sprites
-------
The sprite plotting feature is a powerful extension to the normal command
syntax. Instead of using F to draw a line specify the name of a sprite, which
will be plotted at the same length as the line and at the same rotation. To
avoid long rule lines it can be useful to use a rule for a sprite eg.
         P=+T-TT++T
         T={trunk}
Plotting with sprites will take longer, and it is often better when creating
a new shape to start off with the outline, then substitute the sprites at a
later time.

Creating Sprites
----------------
The following guidelines must be followed for plotting to work correctly.
The sprites are contained in a sprite file in the same directory as the
L-system definitions. The name of the sprite file is specified in the second
line of the L-system definition.

The supplied sprite file is called "L-Sprites" - click on
L-System->Directory to locate. Look at the example sprites provided to get
an idea of the requirements. Each sprite must be:

1) The sprite must be square and should be a multiple of 4 pixels in size.

2) A 256 colour must be chosen that has square pixels, such as mode 21 (or
mode 13).

3) The sprite should be created with a mask. All pixels that are not to be
plotted should be set to the mask colour so these pixels become transparent.

4) When creating the shape bear in mind that top is to the right since that
is the initial direction of plotting. You may find it easier to create the
shape and rotate it 90� clockwise.

5) Since the sprite gets rotated, pixels in the corners will tend to get
lost at angles other than 0,90,180, & 270 degrees. To avoid black space
however, you will normally need to set pixels up to the edge of the sprite.

The above rules are necessary because of the scaling and rotation that is
performed. If you get strange results, check that you have followed these
guidelines. The main limitation on the size of sprites is the amount of
memory in your computer. Large spries will soon consume all that is
available. Sizes from 16-64 pixels should be adequate for most purposes.
Larger sprites will tend to look better when scaled and rotated - small
sprites will look more distorted. To maintain clarity try to avoid too much
detail in the sprite.

To reload a sprite file after editing, drag the corresponding text file onto a !Fractal window or its icon.

Using Sprites
-------------
The sprite name is specified by {spritename} in a rule definition. If the
sprite cannot be found, it is ignored. The sprites are displayed at the
current line scale no matter how large the sprite is. To plot the sprite at
a different relative size use {spritename,9.9} where '9.9' is the scaling
factor.

The size of sprites is also controlled by the line length specifier '@' -
this allows sprites to be plotted at increasingly smaller (or larger) sizes
which is useful for plant like shapes.

Sprites can be used with the all the other plotting commands, though the
colour and width commands do not affect the sprite. Interesting effects can
be achieved by taking the shapes provided and replacing the 'F' commands by
a sprite. To do this it will be necessary to preserve the recursive nature.
Thus if the original rule was F=F+F-, then the replacement rule would need
to be S=S{sprite}+S{sprite}-.

To avoid out of memory conditions it is best to use a number of L-system
definition files with their own sprite files. To create a new file delete
the entries not required, and save the remaining definitions under a new
filename. Then edit the text file to specify a new sprite file name.

--------------------------------------------------------------------------

Lorenz : The Edward Lorenz Strange Attractor.
------
This was probably the first fractal to be recognised as such, and started
the ball rolling for chaos investigation. The shape is three dimensional and
you can use !Fractal's rotation and elevation icons to control the view
position. There are three variables which may be set or randomly chosen, and
there are three colour schemes. Refer to Chaos by J.Gleick for a description
of the story behind its discovery. 

The plot is infinite. You can control the speed by setting the Step Rate
factor - smaller values will slow the plot so you can trace its shape.
Notice that the plot revolves around one centre and then suddenly jumps
across to the other.  Try altering the default values of a/b/c by small
amounts and see the effect this has on the shape and when the jump occurs.

The menu options are:

Random a/b/c: Click to set/unset random selection of the variable when a
plot is started. For each variable there is an associated maximum, which can
be changed from the data panel. New variables are not chosen when zooming.
Once you have found an interesting shape, turn off random variables, and use
the 3d options to explore the shape.

Random colour: when set a random colour is chosen after every 100 plots.

Step Colour: the colour value is increased after every 100 plots.

If neither Random or Step colour is set, then the plot is made in white
using exclusive or'ing to trace the current position.

You can change the viewpoint whilst plotting by pressing the cursor keys,
and then pressing the space bar to restart. See the 3d section in the
!MainHelp file for more details. Try Step Rate=2.0e-2 for the best use of
this function - note that bigger values destroy the shape.
  
Algorithm
---------
    x=1; y=1; z=1;
    do
       dx=a*(py-px)
       dy=px*(b-pz)-py
       dz=px*py-c*pz
       px+=dx*step_rate
       py+=dy*step_rate
       pz+=dz*step_rate
       draw px,pz           where px/pz are 3d transforms of x/y/z
    forever

--------------------------------------------------------------------------

Mandelbrot
----------
The classic fractal, supplied here in 8 different methods. Thanks to Joyce
Haslam for providing the enhanced versions.

The initial zoom uses integer maths, then reverts to to a rather slower
floating point. The data values provided are the co-ordinates and size of
the image, and the maximal and minimal iteration count. High Max Iter values
will slow down plotting. Setting Min Iter allows exclusion of low iteration
colour values. Set Min Iter=Max Iter to only plot the interior. From the
menu the options are:

Julia Set: switches to the equivalent Julia set. Moving the mouse changes
the Real (x) and Imaginary (y) values as shown on top of the screen. Press
select to generate the fractal. The best places to choose are along the
Mandelbrot boundary. After seeing the Julia image you can jump back to the
Mandelbrot by using Display->Previous if you have only drawn the Julia once.

Quarternion: switches to the equivalent Quaternion map in a similar way to
above. The selected x values becomes q0 and y -> q2 in the Quaternion set.

Function: 8 different Mandelbrot functions: square, cubic, quartic,
Bruce Ikenaga's function, a function discovered by Ushiki called Phoenix,
and Inverse square, cubic and quartic.

Infill: provides 5 different colouring options for the interior. Black uses
no colour whilst Max. Iter uses the value of Max Iter as the colour. The
other 3 generate a colour based on the last iterated value of z.

Mandelbrots and Julias can be drawn directly in 3d by turning on the 3d X/Y Plot option. See the 3d section of !MainHelp for details.

Algorithms
----------
For each pixel we calculate the x & y value and then iterate. The colour is
the iteration number unless uu+vv>4.0, when we set the colour to 0 (or as
set by the Interior menu option).
 
Square: z=z*z+c
                  iter=0
                  u=0; v=0;
                  repeat
                    uu=u*u;
                    vv=v*v;
                    m=uu-vv+x
                    v=u*(v+v)+y
                    u=m
                    iter+=1
                  until (iter>maxiter or uu+vv>4.0)

Cubic: z=z*z*z+c
                  iter=0
                  u=0; v=0;
                  repeat
                    uu=u*u;
                    vv=v*v;
                    u=uu*u-3*u*vv+x
                    v=3*v*uu-vv*v+y
                    iter+=1
                  until (iter>maxiter or uu+vv>4.0)

Quartic: z=z*z*z*z+c
                  iter=0
                  u=0; v=0;
                  repeat
                    uu=u*u;
                    vv=v*v;
                    m=uu*uu+6*uu*vv+vv*vv+x
                    v=4*u*v*(uu-vv)+y
                    u=m
                    iter+=1
                  until (iter>maxiter or uu+vv>4.0)

Ikenaga:          iter=0
                  u=0; v=0;
                  repeat
                    uu=u*u;
                    vv=v*v;
                    m=u*(uu-3*vv+x-1)-v*y-x
                    v=v*(3*uu-vv+x-1)+u*y-y
                    u=m
                    iter+=1
                  until (iter>maxiter or uu+vv>4.0)

Phoenix:          iter=0
                  u=0; v=0; ux=0; uy=0
                  repeat
                    uu=u*u;
                    vv=v*v;
                    m=2*u*v+y*vx
                    n=uu-vv+x+y*ux
                    ux=u
                    vx=v
                    u=m
                    v=n
                    iter+=1
                  until (iter>maxiter or uu+vv>4.0)

Inverse:          r=x*x+y*y
                  x=x/r
                  y=y/r
                  then as per Square/Cubic/Quartic

--------------------------------------------------------------------------

Martin Map: uses the algorithm of Dr. Martin.
----------
Change the values of a, b or c to get different patterns.
The colours are plotted at random. The zoom option does not give more
detail, but allows the size and position of the image to be changed. The
routine is infinite and so you will need to select Stop to end it.

From the menu you can select whether a, b or c are set randomly. Due to the
way the algorithm works it is not possible to guess the size or position of
the resulting image. New variables are not chosen when zooming.

For each variable there is an associated maximum for the random number,
which can be changed from the data panel.

--------------------------------------------------------------------------
Midpoint
--------
The midpoint displacement algorithm is one of the simplest used to generate
fractal landscapes. Start with a square and randomly choose the heights of
each corner. Divide this square into smaller ones and set the height of each
unplotted corner to the average height of the surrounding points, +/- a
random displacement. This process is repeated until we reach a unit
square. As we proceed the maximum displacement is reduced proportionately.

Starting with just 4 random points produces a smooth rolling landscape. To
get a more varied landscape more of the squares are plotted with random
heights prior to performing the midpoint displacement. For more information
see The Science Of Fractals, especially p96.

Menu Options
------------
Random: when on a different landscape is plotted. Set to off to allow
re-generation of a landscape with changes in the data variables.

There are 5 data variables that can be used to control the process.

Roughness: Increase to generate more random seed points, giving more hills
and depressions. A value of 0 plots just the initial outer 4 points (1
square), 1 plots 4 squares, 2 plots 16 squares and so on.

Height: Specifies the initial maximum displacement as a power of 2. Thus 8
(the default) means 256. Increase this value to give steeper gradients.

Seed: The initial random value use to generate the landscape. A new seed is
chosen every time unless Random is set off.

Sea Level: An height less than the sea level will be plotted in blue. This
is useful when creating the source images for a Riemann globe.

Sea Colour: The physical colour number used for the sea. Blues are 128-131
and 136-139, but any colour may be chosen.

Notes On Usage
--------------
This algorithm works best in modes with square pixels, ie. modes 21, 13 etc.
Mode 15 will tend to produce more oblong shapes.

Try colour cycling for a psychedelic effect. The landscape palettes give
more realistic results - use Palette shifting to get a sea/land balance.

To generate a landscape use one of the 3d viewing functions within !Fractal.
The 3d palette should be set to Linear for the best effects, though
experiment. Try a Riemann sphere for a planet effect - this works best when
the sea level is set above 0 or when using a landscape palette.

Midpoint does not multi-task since it is pretty fast.

--------------------------------------------------------------------------

Newton
------
This function calculates the cube root of -1 ie. z*z*z-1=0, using the
Newton-Raphson method. There are three possible roots which are: z=1,
z=-0.5+0.8666i, z=-0.5-0.866i. Floating point arithmetic is required so
don't expect it to zip along. Initially 32 bit accuracy is used which is
reasonably fast, then it switches to 64 bit. The menu options are:

Plot Root: in this mode, the colour is chosen depending on which root we are
converging to. This is the quickest option, but not very spectacular.

Plot Iters: in this mode the colour is set from the number of iterations
required to reach the root. This produces Mandelbrot type displays of
infinite complexity, but it can take a lot of time.

There are 2 data variables:

Max Iter : iteration limit, mainly of use when using Plot Iters and zooming
in.

e : The accuracy check value. The iteration is stopped when a root is found
that solves the equation to within the 'e' accuracy value. Higher values of
'e' force greater accuracy and more iterations to be used, useful when
zooming in.

A 3d version can be drawn directly by turning on the 3d X/Y Plot option.
See the 3d section of !MainHelp for details.

--------------------------------------------------------------------------
Pickover - A Strange Attractor developed by Clifford Pickover
--------
This is a 3 dimensional shape controlled by 4 variables. To get a feeling of
the shape you really need to try the 3d viewing options of !Fractal - use
the Rotate & Elevate icons to set your viewing position or better still use
the cursor keys whilst plotting. The plot is infinite and is made with
points rather than lines to avoid too much clutter.

The menu options are:

Random a/b/c/d: Click to set/unset random selection of the variable when a
plot is started. For each variable there is an associated maximum, which can
be changed from the data panel. New variables are not chosen when zooming.
Once you have found an interesting shape, turn off random variables, and use
the 3d options to explore the shape from different view points. The default
variables were obtained in this way.

Random colour: when set a random colour is chosen after every 100 plots.

Step Colour: the colour value is increased after every 100 plots.

If neither Random or Step colour is set, then the plot is made in white
using exclusive or'ing to trace the current position.

You can change the viewpoint whilst plotting by pressing the cursor keys,
and then pressing the space bar to restart. See the 3d section in the
!MainHelp file for more details.

Algorithm
---------
    x=1; y=1; z=1;
    do
      xnew = sin(a*y) - z*cos(b*x)
      ynew = z*sin(c*x) - cos(d*y)
      znew = sin(x)
      plot px,pz                    where px/pz are 3d transform of x/y/z
    forever

--------------------------------------------------------------------------
Popcorn
-------
An algorithm developed by Clifford Pickover featured in Scientific American
July 1989, then in Fractint (where the name Popcorn was given), and
contributed here by Joyce Haslam. There are 9 different equations used with
an option to plot the pattern in a wave like form or a pixel by pixel form
(Julia).

The equation is selected from the Popcorn->Types menu. Click on
Popcorn->Julia to activate the pixel mode plot. The Julia is slow due to the
repeated use of SIN and TAN, so use small values for limit and threshold to
speed things up.

The data items after the standard x/y width/height are:

Limit: for Julia the iteration limit, otherwise the iteration limit sets the
length of each arm plotted.

Step Rate: controls the effect each iteration has on previous values. Higher
values produce more exaggerated plots.

Detail: for the non-Julia plots - 0 gives maximum detail, higher values
give rougher images which allows quicker examination.

Threshold: for Julia, the escape value. Higher values take longer to
calculate but produce more detail.

n: The multiplier in the SIN and TAN equations. Try different values to see
the effect.

A 3d version of the Julia image can be drawn directly by turning on the
3d X/Y Plot option. See the 3d section of !MainHelp for details.

Algorithms
----------
The nine equations are as shown in the Popcorn->Types menu. They are
implemented in code as shown in the 2 examples below:

Julia: for each pixel set the x and y value then :
           repeat
             sqsum=x*x+y*y
             if sqsum < threshold
                xx=x-dt*sin(y+tan(n*y))           where dt=step rate
                y=y-dt*sin(x+tan(n*x))
                x=xx
                iter=iter+1
           until sqsum>=threshold or iter=limit
           colour=iter

non-Julia: for each nth x/y pixel where the value of n is increased with the
value of "detail".

           increment colour
           repeat
              xx=x-dt*sin(y+tan(n*y))             where dt=step rate
              y=y-dt*sin(x+tan(n*x))
              x=xx
              iter=iter+1
              plot x*scalar,y*scalar
           until iter=limit

--------------------------------------------------------------------------
Quaternion : Invented by William Hamilton, 1843
----------
A Quaternion is a 4d equivalent of a complex number, written as:
     Q = a+bi+cj+dk
where i, j and k are imaginary numbers. They are used here in a similar way
to Julia sets with Q -> Q�+q where q is a quaternion constant, made up of
q0, q1, q2 and q3 in this routine. The routine maps out a 2-dimensional
slice using x=a and y=c, with the values of b and d being set to choose
which slice of the 4d plane we are drawing.

The initial values chosen for q0 and q2 are the same as those for the Julia
Set, and you will note the image is superficially very similar. Changing q1,
q3, b or d however allows different planes to be examined, giving a great
area to investigate.

As with the Julia set, the best way to choose values for q0 and q2 is from
the Mandelbrot set - use the Quaternion menu option to pick a point from
near the boundary.

The menu options operate in the same way as for the Julia set.

Algorithm
---------
A 32 bit and floating point version are provided, but both will be slower
than Julia's due to the extra multiplications.

For each pixel we calculate the a (x) & c (y) value and then iterate. The
colour is the iteration number unless Q�>4.0, when we set the colour to 0
(or as set by the Interior menu option).

   iter=0;
   repeat
     iter + 1
     if (a�+b�+c�+d�>4) then escape
     new_a=a�-b�-c�-d�+q0
     b=2*a*b+q1
     c=2*a*c+q2
     d=2*a*d+q3
     a=new_a
   until iter>=max_iter

Notes: It is possible to use other functions such as Q->Q�+q as done for
Mandelbrot's. Also it is possible to produce a 3d mapping, though a lot of
the swirling detail apparently is lost. Iterating the function Mandelbrot
style gives a variation on the Mandelbrot shape.

--------------------------------------------------------------------------
Rossler : The Otto Rossler Strange Attractor.
-------
This strange attractor is similar to the Lorenz with a very distinctive
shape. The shape is three dimensional which looks like a treble cleff from
some angles. You can use !Fractal's Rotation and Elevation icons to control
the view position to explore the shape. There are three variables which may
be set or randomly chosen, and there are three colour schemes.

The plot is infinite. You can control the speed by setting the Step Rate
factor - smaller values will slow the plot so you can trace its shape.
Notice that the plot revolves around a point then leaps off in a strange
loop. Try altering the default values of a/b/c by small amounts and see the
effect this has on the shape and when the jump occurs. Alternatively try
using one or more random variables to see what shapes you can arrive at.

The menu options are:

Random a/b/c: Click to set/unset random selection of the variable when a
plot is started. For each variable there is an associated maximum, which can
be changed from the data panel. New variables are not chosen when zooming.
Once you have found an interesting shape, turn off random variables, and use
the 3d options to explore the shape from different view points.

Random colour: when set a random colour is chosen after every 100 plots.

Step Colour: the colour value is increased after every 100 plots.

If neither Random or Step colour is set, then the plot is made in white
using exclusive or'ing to trace the current position.

You can change the viewpoint whilst plotting by pressing the cursor keys,
and then pressing the space bar to restart. See the 3d section in the
!MainHelp file.

Algorithm
---------
    x=1; y=1; z=1;
    do
       new x=x-y*dt-z*dt            dt=step rate
       new y=y+x*dt+a*y*dt
       new z=z+b*dt+x*z*dt-c*z*dt
       draw px,pz                   px/pz are 3d transform of x/y/z
    forever

--------------------------------------------------------------------------
Unity
=====
This transformation was developed by Mark Peterson of Fractint and is a
simple "Newton" style algorithm, which is:

   One=x*x+y*y;  y=(2-One)*x;  x=(2-One)*y;

which is iterated for each screen pixel until 1-One=0 within the accuracy of
plotting. The colour is the number of iterations (+32 to avoid dark
colours). The plot looks very similar to a Henon map, with thin lines that
get thinner when you zoom in.

Unity uses integer arithmetic and thus soon hits a zoom limit.

--------------------------------------------------------------------------

3d Transforms
=============
These take a fractal image and transform it. The best images are those of
Mandelbrots using a standard or inverted palette (but feel free to
experiment). Except for Riemann, they do not multitask since they are quite
quick. They offer varying degrees of control.

There is a common menu option which allows you to re-display the source
image, and then store it again as the 3d source. This allows you to do three
things:

a) change the colours of the original image, by using the Effects->Palette
menu. For Render and 3d views this will change the displayed height.

b) Rotate the source image via the tools rotate icon.

c) Use a 3d image as the source of another (or same) 3d transform.

3d View and Riemann provide rotation directly - for the others use the
Rotate rotate tool icon.

Return to function: This menu option takes you directly back to the original
function, displaying the source image to allow zooming to re-commence.

Height Mapping
--------------
The 3d_Plane, 3d_View and Render functions use the pixel colour to determine
the height. Use the Effects->3d Details panel to control this mapping
process, described in the !MainHelp file. When these functions are selected
the min and max pixel colours are automatically calculated. Override these
values to smooth out peaks or clip the image. To reset the values use the
Initial button on the Image->Data panel.

3d Plane
--------
Presents an oblique view of an image, scaled to fit onto the screen. The
height is based on the source colour (0=low, 255=high). The data variables
are:

x Scalar: a value of 1 plots the x axis full size. Use smaller values to
accomodate the shift incurred by the viewing angle.

y Scalar: a value of 1 plots the y axis full size, but 0.6 provides a more
realistic image.

The rotation angle is used as the angle of the y axis, with 90� being the
far right and -90� the far left. Larger angles will tend to lower the
viewpoint and see more to the left or right. You can use the Rotation tool
icon  but note that the viewpoint angle is only an indication of the
apparent direction.

3d View
-------
This offers a more realistic 3d image than 3d Plane, and provides two
viewing options - either full rotation or a front end view with perspective
control. The data parameters are:

Distance: when Rotation=0 this parameter controls the vanishing point. A
value of 1 gives the maximum distortion, whilst larger values give more
subtle effects.

From the 3D_View menu you can set Smooth: when off contour lines are
accentuated, which works well with Mandelbrot images. When on contour lines
run into each other, which works best with landscapes such as Midpoint and
Fault functions.

Render
------
Draws a 3d representation as seen full on, using the colour as the height. A
light source is assumed from the bottom left corner and is used to add a
shadow effect.

From Render's menu you can select the elevation viewpoint, or you can use
the Elevation tool icon to control this. Note that only 4 angles are
available.

Riemann
-------
Takes the image and maps it onto a sphere, using a Riemann transformation.
Basically the source image is mapped onto a sphere at the south pole. A
value can only be mapped onto the north pole if it is at infinity. See the
article in Fractal Report 16 by Roger Castle-Smith for a full explanation.

The data values are :

Image Scale: the source image size in relation to the sphere size. Larger
values will mean that the source image is stretched up towards the north
pole.

Globe Scale: the globe size as a fraction of the total image size (0 - 1.0).
Thus 0.5 produces a globe half the total image size. Smaller values help
reduce the distortion introduced by the mapping process.

Fill Colour: The colour used to fill in black pixels. The colour number is
in BBGGRRTT format where B=Blue (x64), G=Green (x16), R=Red (x4) & T=Tint
bits.

----------------------------------------------------------------
00000000  20 20 5f 5f 5f 5f 5f 5f  5f 5f 5f 5f 5f 5f 5f 5f  |  ______________|
00000010  5f 5f 5f 5f 5f 5f 5f 5f  5f 5f 5f 5f 5f 5f 5f 5f  |________________|
*
00000040  5f 5f 5f 5f 5f 5f 5f 5f  5f 5f 0a 20 2f 20 20 20  |__________. /   |
00000050  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000090  20 20 20 20 20 5c 0a 7c  20 20 20 20 20 20 20 20  |     \.|        |
000000a0  20 20 20 20 20 20 20 20  20 20 20 21 46 72 61 63  |           !Frac|
000000b0  74 61 6c 20 3a 20 47 65  6e 65 72 61 6c 20 46 72  |tal : General Fr|
000000c0  61 63 74 61 6c 20 50 6c  6f 74 74 65 72 20 20 20  |actal Plotter   |
000000d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000000e0  20 20 7c 0a 7c 20 20 20  20 20 20 20 20 20 20 20  |  |.|           |
000000f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000120  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 7c  |               ||
00000130  0a 7c 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.|              |
00000140  20 20 20 20 20 20 20 20  20 20 20 46 72 61 63 74  |           Fract|
00000150  61 6c 20 46 75 6e 63 74  69 6f 6e 20 48 65 6c 70  |al Function Help|
00000160  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000170  20 20 20 20 20 20 20 20  20 20 20 20 7c 0a 7c 20  |            |.| |
00000180  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
000001c0  20 20 20 20 20 20 20 20  20 7c 0a 7c 20 20 20 20  |         |.|    |
000001d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000001e0  20 20 20 20 20 20 20 20  20 4d 61 72 63 68 20 31  |         March 1|
000001f0  39 39 32 20 20 20 20 20  20 20 20 20 20 20 20 20  |992             |
00000200  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000210  20 20 20 20 20 20 7c 0a  20 5c 5f 5f 5f 5f 5f 5f  |      |. \______|
00000220  5f 5f 5f 5f 5f 5f 5f 5f  5f 5f 5f 5f 5f 5f 5f 5f  |________________|
*
00000260  5f 5f 2f 20 0a 0a 49 6e  74 72 6f 64 75 63 74 69  |__/ ..Introducti|
00000270  6f 6e 0a 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 0a  |on.============.|
00000280  54 68 69 73 20 68 65 6c  70 20 66 69 6c 65 20 63  |This help file c|
00000290  6f 76 65 72 73 20 74 68  65 20 76 61 72 69 6f 75  |overs the variou|
000002a0  73 20 66 72 61 63 74 61  6c 20 61 6e 64 20 33 64  |s fractal and 3d|
000002b0  20 74 72 61 6e 73 66 6f  72 6d 65 72 73 20 61 76  | transformers av|
000002c0  61 69 6c 61 62 6c 65 0a  77 69 74 68 69 6e 20 21  |ailable.within !|
000002d0  46 72 61 63 74 61 6c 20  61 6e 64 20 74 68 65 69  |Fractal and thei|
000002e0  72 20 61 73 73 6f 63 69  61 74 65 64 20 70 61 72  |r associated par|
000002f0  61 6d 65 74 65 72 73 20  61 6e 64 20 6d 65 6e 75  |ameters and menu|
00000300  20 6f 70 74 69 6f 6e 73  2e 20 4e 6f 74 65 3a 20  | options. Note: |
00000310  74 68 65 0a 33 64 5f 50  6c 61 6e 65 2c 20 33 64  |the.3d_Plane, 3d|
00000320  5f 56 69 65 77 2c 20 52  69 65 6d 61 6e 6e 6e 20  |_View, Riemannn |
00000330  61 6e 64 20 52 65 6e 64  65 72 20 6f 70 74 69 6f  |and Render optio|
00000340  6e 73 20 61 72 65 20 6e  6f 74 20 66 72 61 63 74  |ns are not fract|
00000350  61 6c 20 66 75 6e 63 74  69 6f 6e 73 2c 0a 62 75  |al functions,.bu|
00000360  74 20 74 61 6b 65 20 61  20 66 72 61 63 74 61 6c  |t take a fractal|
00000370  20 69 6d 61 67 65 20 61  6e 64 20 70 65 72 66 6f  | image and perfo|
00000380  72 6d 20 61 20 33 64 20  74 72 61 6e 73 66 6f 72  |rm a 3d transfor|
00000390  6d 61 74 69 6f 6e 2e 20  54 68 65 79 20 61 72 65  |mation. They are|
000003a0  20 64 65 73 63 72 69 62  65 64 0a 61 66 74 65 72  | described.after|
000003b0  20 74 68 65 20 66 72 61  63 74 61 6c 20 66 75 6e  | the fractal fun|
000003c0  63 74 69 6f 6e 73 2e 0a  0a 54 68 65 20 61 6c 67  |ctions...The alg|
000003d0  6f 72 69 74 68 6d 73 20  77 68 65 72 65 20 73 68  |orithms where sh|
000003e0  6f 77 6e 20 75 73 75 61  6c 6c 79 20 67 69 76 65  |own usually give|
000003f0  20 6f 6e 6c 79 20 74 68  65 20 63 6f 72 65 20 6d  | only the core m|
00000400  61 74 68 73 2c 20 6f 6d  69 74 74 69 6e 67 20 74  |aths, omitting t|
00000410  68 69 6e 67 73 0a 6c 69  6b 65 20 74 68 65 20 73  |hings.like the s|
00000420  63 61 6c 69 6e 67 20 6e  65 65 64 65 64 20 74 6f  |caling needed to|
00000430  20 68 61 6e 64 6c 65 20  7a 6f 6f 6d 69 6e 67 2e  | handle zooming.|
00000440  0a 0a 4d 6f 73 74 20 66  75 6e 63 74 69 6f 6e 73  |..Most functions|
00000450  20 68 61 76 65 20 61 20  73 65 74 20 6f 66 20 76  | have a set of v|
00000460  61 72 69 61 62 6c 65 73  20 77 68 69 63 68 20 61  |ariables which a|
00000470  72 65 20 61 63 63 65 73  73 65 64 20 66 72 6f 6d  |re accessed from|
00000480  20 74 68 65 0a 49 6d 61  67 65 2d 3e 44 61 74 61  | the.Image->Data|
00000490  20 6d 65 6e 75 20 6f 70  74 69 6f 6e 20 6f 72 20  | menu option or |
000004a0  74 68 65 20 4e 75 6d 62  65 72 73 20 74 6f 6f 6c  |the Numbers tool|
000004b0  20 69 63 6f 6e 2e 20 4e  6f 72 6d 61 6c 6c 79 20  | icon. Normally |
000004c0  74 68 65 20 66 69 72 73  74 20 66 6f 75 72 0a 76  |the first four.v|
000004d0  61 72 69 61 62 6c 65 73  20 61 72 65 20 66 6f 72  |ariables are for|
000004e0  20 63 6f 6e 74 72 6f 6c  6c 69 6e 67 20 74 68 65  | controlling the|
000004f0  20 7a 6f 6f 6d 69 6e 67  20 61 6e 64 20 69 6d 61  | zooming and ima|
00000500  67 65 20 70 6f 73 69 74  69 6f 6e 69 6e 67 2e 0a  |ge positioning..|
00000510  0a 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |.---------------|
00000520  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000550  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 0a 0a 42 69 66  |-----------..Bif|
00000560  75 72 63 61 74 65 0a 2d  2d 2d 2d 2d 2d 2d 2d 2d  |urcate.---------|
00000570  0a 21 46 72 61 63 74 61  6c 20 77 6f 75 6c 64 20  |.!Fractal would |
00000580  6e 6f 74 20 62 65 20 63  6f 6d 70 6c 65 74 65 20  |not be complete |
00000590  77 69 74 68 6f 75 74 20  62 69 66 75 72 63 61 74  |without bifurcat|
000005a0  69 6f 6e 20 64 69 61 67  72 61 6d 73 2c 20 6f 6e  |ion diagrams, on|
000005b0  65 20 6f 66 20 74 68 65  0a 6f 72 69 67 69 6e 61  |e of the.origina|
000005c0  6c 20 6d 61 6e 69 66 65  73 74 61 74 69 6f 6e 73  |l manifestations|
000005d0  20 6f 66 20 63 68 61 6f  73 2e 20 54 68 65 79 20  | of chaos. They |
000005e0  77 65 72 65 20 6f 72 69  67 69 6e 61 6c 6c 79 20  |were originally |
000005f0  64 69 73 63 6f 76 65 72  65 64 20 66 72 6f 6d 20  |discovered from |
00000600  61 0a 76 65 72 79 20 73  69 6d 70 6c 65 20 65 71  |a.very simple eq|
00000610  75 61 74 69 6f 6e 20 74  6f 20 64 65 73 63 72 69  |uation to descri|
00000620  62 65 20 61 6e 69 6d 61  6c 20 70 6f 70 75 6c 61  |be animal popula|
00000630  74 69 6f 6e 73 3a 0a 0a  20 20 20 20 4e 65 77 20  |tions:..    New |
00000640  50 6f 70 75 6c 61 74 69  6f 6e 20 3d 20 47 72 6f  |Population = Gro|
00000650  77 74 68 20 52 61 74 65  20 2a 20 4f 6c 64 20 50  |wth Rate * Old P|
00000660  6f 70 75 6c 61 74 69 6f  6e 20 2a 20 28 20 31 20  |opulation * ( 1 |
00000670  2d 20 4f 6c 64 20 50 6f  70 75 6c 61 74 69 6f 6e  |- Old Population|
00000680  29 0a 0a 77 68 65 72 65  20 70 6f 70 75 6c 61 74  |)..where populat|
00000690  69 6f 6e 20 69 73 20 61  20 76 61 6c 75 65 20 62  |ion is a value b|
000006a0  65 74 77 65 65 6e 20 30  20 61 6e 64 20 31 2e 20  |etween 0 and 1. |
000006b0  57 69 74 68 20 67 72 6f  77 74 68 20 72 61 74 65  |With growth rate|
000006c0  73 20 3c 20 32 30 30 25  20 61 0a 73 69 6e 67 6c  |s < 200% a.singl|
000006d0  65 20 6c 69 6e 65 20 72  65 73 75 6c 74 73 2c 20  |e line results, |
000006e0  6f 76 65 72 20 32 30 30  25 20 69 74 20 73 70 6c  |over 200% it spl|
000006f0  69 74 73 20 28 62 69 66  75 72 63 61 74 65 73 29  |its (bifurcates)|
00000700  20 69 6e 74 6f 20 32 2c  20 74 68 65 6e 20 34 2c  | into 2, then 4,|
00000710  20 74 68 65 6e 0a 62 65  63 6f 6d 65 73 20 63 68  | then.becomes ch|
00000720  61 6f 74 69 63 2e 0a 0a  49 6e 20 74 68 65 20 70  |aotic...In the p|
00000730  6c 6f 74 20 74 68 65 20  78 2d 61 78 69 73 20 69  |lot the x-axis i|
00000740  73 20 74 68 65 20 67 72  6f 77 74 68 20 72 61 74  |s the growth rat|
00000750  65 2c 20 74 68 65 20 79  2d 61 78 69 73 20 69 73  |e, the y-axis is|
00000760  20 74 68 65 20 70 6f 70  75 6c 61 74 69 6f 6e 2e  | the population.|
00000770  0a 57 68 65 72 65 20 6d  75 6c 74 69 70 6c 65 20  |.Where multiple |
00000780  70 6f 69 6e 74 73 20 61  72 65 20 70 6c 6f 74 74  |points are plott|
00000790  65 64 20 61 74 20 74 68  65 20 73 61 6d 65 20 70  |ed at the same p|
000007a0  69 78 65 6c 2c 20 74 68  65 20 63 6f 6c 6f 75 72  |ixel, the colour|
000007b0  20 69 73 0a 64 65 63 72  65 6d 65 6e 74 65 64 2e  | is.decremented.|
000007c0  20 54 68 65 20 64 61 74  61 20 76 61 6c 75 65 73  | The data values|
000007d0  20 61 72 65 3a 0a 0a 47  72 6f 77 74 68 20 52 61  | are:..Growth Ra|
000007e0  74 65 3a 20 76 61 6c 75  65 20 61 74 20 78 30 2e  |te: value at x0.|
000007f0  0a 50 6f 70 2e 20 53 69  7a 65 20 20 3a 20 76 61  |.Pop. Size  : va|
00000800  6c 75 65 20 61 74 20 79  30 2e 0a 52 61 74 65 20  |lue at y0..Rate |
00000810  52 61 6e 67 65 20 3a 20  61 64 64 20 74 6f 20 78  |Range : add to x|
00000820  30 20 74 6f 20 67 69 76  65 20 67 72 6f 77 74 68  |0 to give growth|
00000830  20 72 61 74 65 20 61 74  20 66 61 72 20 72 69 67  | rate at far rig|
00000840  68 74 2e 0a 50 6f 70 2e  20 52 61 6e 67 65 20 3a  |ht..Pop. Range :|
00000850  20 61 64 64 20 74 6f 20  79 30 20 74 6f 20 67 69  | add to y0 to gi|
00000860  76 65 20 70 6f 70 75 6c  61 74 69 6f 6e 20 61 74  |ve population at|
00000870  20 74 6f 70 20 6f 66 20  73 63 72 65 65 6e 2e 0a  | top of screen..|
00000880  49 6e 69 74 20 50 6f 70  6e 2e 20 3a 20 54 68 65  |Init Popn. : The|
00000890  20 69 6e 69 74 61 6c 20  76 61 6c 75 65 20 6f 66  | inital value of|
000008a0  20 74 68 65 20 70 6f 70  75 6c 61 74 69 6f 6e 20  | the population |
000008b0  75 73 65 64 20 69 6e 20  74 68 65 20 65 71 75 61  |used in the equa|
000008c0  74 69 6f 6e 2e 0a 4d 61  78 20 47 65 6e 2e 20 20  |tion..Max Gen.  |
000008d0  20 3a 20 4e 75 6d 62 65  72 20 6f 66 20 67 65 6e  | : Number of gen|
000008e0  65 72 61 74 69 6f 6e 73  20 74 6f 20 63 61 6c 63  |erations to calc|
000008f0  75 6c 61 74 65 20 66 6f  72 20 65 61 63 68 20 67  |ulate for each g|
00000900  72 6f 77 74 68 20 72 61  74 65 2e 0a 4d 69 6e 20  |rowth rate..Min |
00000910  47 65 6e 2e 20 20 20 3a  20 4e 75 6d 62 65 72 20  |Gen.   : Number |
00000920  6f 66 20 67 65 6e 65 72  61 74 69 6f 6e 73 20 62  |of generations b|
00000930  65 66 6f 72 65 20 70 6c  6f 74 74 69 6e 67 2e 0a  |efore plotting..|
00000940  0a 54 68 65 20 4d 69 6e  20 47 65 6e 20 76 61 6c  |.The Min Gen val|
00000950  75 65 20 69 73 20 75 73  65 64 20 61 73 20 61 20  |ue is used as a |
00000960  6c 6f 77 20 66 69 6c 74  65 72 20 74 6f 20 6c 65  |low filter to le|
00000970  74 20 74 68 65 20 70 6f  70 75 6c 61 74 69 6f 6e  |t the population|
00000980  20 73 74 61 62 69 6c 69  73 65 0a 62 65 66 6f 72  | stabilise.befor|
00000990  65 20 70 6c 6f 74 74 69  6e 67 2c 20 77 68 69 6c  |e plotting, whil|
000009a0  73 74 20 74 68 65 20 4d  61 78 20 47 65 6e 20 69  |st the Max Gen i|
000009b0  73 20 74 68 65 20 74 6f  74 61 6c 20 6e 75 6d 62  |s the total numb|
000009c0  65 72 20 6f 66 20 67 65  6e 65 72 61 74 69 6f 6e  |er of generation|
000009d0  73 20 74 6f 0a 63 61 6c  63 75 6c 61 74 65 20 62  |s to.calculate b|
000009e0  65 66 6f 72 65 20 6d 6f  76 69 6e 67 20 6f 6e 74  |efore moving ont|
000009f0  6f 20 74 68 65 20 6e 65  78 74 20 67 72 6f 77 74  |o the next growt|
00000a00  68 20 72 61 74 65 2e 0a  0a 59 6f 75 20 63 61 6e  |h rate...You can|
00000a10  20 7a 6f 6f 6d 20 69 6e  20 74 6f 20 65 78 61 6d  | zoom in to exam|
00000a20  69 6e 65 20 74 68 65 20  63 68 61 6f 74 69 63 20  |ine the chaotic |
00000a30  70 61 74 74 65 72 6e 73  2c 20 77 68 69 63 68 20  |patterns, which |
00000a40  6f 66 74 65 6e 20 72 65  76 65 61 6c 20 64 65 74  |often reveal det|
00000a50  61 69 6c 2e 0a 49 6e 63  72 65 61 73 65 20 4d 61  |ail..Increase Ma|
00000a60  78 20 47 65 6e 20 61 73  20 79 6f 75 20 7a 6f 6f  |x Gen as you zoo|
00000a70  6d 20 69 6e 20 74 6f 20  73 65 65 20 74 68 65 20  |m in to see the |
00000a80  72 61 6e 67 65 20 6f 66  20 70 6f 70 75 6c 61 74  |range of populat|
00000a90  69 6f 6e 20 76 61 6c 75  65 73 2e 0a 21 46 72 61  |ion values..!Fra|
00000aa0  63 74 61 6c 20 73 77 69  74 63 68 65 73 20 66 72  |ctal switches fr|
00000ab0  6f 6d 20 66 61 73 74 20  33 32 20 62 69 74 20 74  |om fast 32 bit t|
00000ac0  6f 20 66 75 6c 6c 20 66  6c 6f 61 74 69 6e 67 20  |o full floating |
00000ad0  70 6f 69 6e 74 20 63 61  6c 63 75 6c 61 74 69 6f  |point calculatio|
00000ae0  6e 73 20 61 73 0a 79 6f  75 20 7a 6f 6f 6d 20 69  |ns as.you zoom i|
00000af0  6e 2e 0a 0a 54 68 65 72  65 20 61 72 65 20 6d 61  |n...There are ma|
00000b00  6e 79 20 66 6f 72 6d 75  6c 61 65 20 74 68 61 74  |ny formulae that|
00000b10  20 6c 65 61 64 20 74 6f  20 62 69 66 75 72 63 61  | lead to bifurca|
00000b20  74 69 6f 6e 20 64 69 61  67 72 61 6d 73 20 2d 20  |tion diagrams - |
00000b30  73 6f 6d 65 20 6f 66 20  74 68 65 73 65 0a 77 69  |some of these.wi|
00000b40  6c 6c 20 62 65 20 69 6e  63 6c 75 64 65 64 20 61  |ll be included a|
00000b50  74 20 61 20 6c 61 74 65  72 20 64 61 74 65 2e 20  |t a later date. |
00000b60  4d 69 74 63 68 65 6c 20  46 65 69 67 65 6e 62 61  |Mitchel Feigenba|
00000b70  75 6d 20 64 69 73 63 6f  76 65 72 65 64 20 74 68  |um discovered th|
00000b80  61 74 20 74 68 65 0a 72  61 74 69 6f 73 20 6f 66  |at the.ratios of|
00000b90  20 6c 65 6e 67 74 68 73  20 6f 66 20 61 64 6a 61  | lengths of adja|
00000ba0  63 65 6e 74 20 61 72 65  61 73 20 6f 66 20 62 69  |cent areas of bi|
00000bb0  66 75 72 63 61 74 69 6f  6e 20 77 65 72 65 20 61  |furcation were a|
00000bc0  6c 77 61 79 73 20 34 2e  36 36 39 32 2e 2e 2e 2c  |lways 4.6692...,|
00000bd0  20 61 0a 63 6f 6e 73 74  61 6e 74 20 74 68 61 74  | a.constant that|
00000be0  20 69 73 20 6e 6f 77 20  6e 61 6d 65 64 20 61 66  | is now named af|
00000bf0  65 72 20 68 69 6d 2e 0a  0a 2d 2d 2d 2d 2d 2d 2d  |er him...-------|
00000c00  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000c40  2d 2d 2d 0a 0a 46 61 75  6c 74 0a 2d 2d 2d 2d 2d  |---..Fault.-----|
00000c50  0a 47 65 6e 65 72 61 74  65 73 20 61 20 6c 61 6e  |.Generates a lan|
00000c60  64 73 63 61 70 65 20 62  79 20 61 20 76 65 72 79  |dscape by a very|
00000c70  20 73 69 6d 70 6c 65 20  73 69 6d 75 6c 61 74 69  | simple simulati|
00000c80  6f 6e 20 6f 66 20 67 65  6f 6c 6f 67 69 63 61 6c  |on of geological|
00000c90  20 66 61 75 6c 74 69 6e  67 2e 0a 45 61 63 68 20  | faulting..Each |
00000ca0  74 69 6d 65 20 61 20 66  61 75 6c 74 20 6f 63 63  |time a fault occ|
00000cb0  75 72 73 2c 20 61 20 70  61 72 74 20 6f 66 20 74  |urs, a part of t|
00000cc0  68 65 20 6c 61 6e 64 73  63 61 70 65 20 69 73 20  |he landscape is |
00000cd0  6d 6f 76 65 64 20 75 70  20 28 6f 72 20 64 6f 77  |moved up (or dow|
00000ce0  6e 29 2e 20 42 79 0a 72  65 70 65 61 74 69 6e 67  |n). By.repeating|
00000cf0  20 74 68 65 20 70 72 6f  63 65 73 73 20 68 75 6e  | the process hun|
00000d00  64 72 65 64 73 20 6f 72  20 74 68 6f 75 73 61 6e  |dreds or thousan|
00000d10  64 73 20 6f 66 20 74 69  6d 65 73 20 61 74 20 72  |ds of times at r|
00000d20  61 6e 64 6f 6d 20 6c 6f  63 61 74 69 6f 6e 73 0a  |andom locations.|
00000d30  61 63 72 6f 73 73 20 74  68 65 20 69 6d 61 67 65  |across the image|
00000d40  2c 20 61 6e 20 75 6e 65  76 65 6e 20 74 65 72 72  |, an uneven terr|
00000d50  61 69 6e 20 69 73 20 63  72 65 61 74 65 64 2e 20  |ain is created. |
00000d60  54 68 65 20 70 6f 72 74  69 6f 6e 20 6f 66 20 74  |The portion of t|
00000d70  68 65 20 74 65 72 72 61  69 6e 0a 66 61 75 6c 74  |he terrain.fault|
00000d80  65 64 20 69 73 20 64 65  74 65 72 6d 69 6e 65 64  |ed is determined|
00000d90  20 62 79 20 74 68 65 20  66 61 75 6c 74 20 74 79  | by the fault ty|
00000da0  70 65 2e 20 54 68 65 73  65 20 61 72 65 20 62 61  |pe. These are ba|
00000db0  73 65 64 20 6f 6e 20 76  61 72 69 6f 75 73 20 73  |sed on various s|
00000dc0  68 61 70 65 73 0a 61 73  20 73 65 6c 65 63 74 65  |hapes.as selecte|
00000dd0  64 20 62 79 20 46 61 75  6c 74 2d 3e 54 79 70 65  |d by Fault->Type|
00000de0  2e 0a 0a 54 68 65 20 64  61 74 61 20 70 61 72 61  |...The data para|
00000df0  6d 65 74 65 72 73 20 61  72 65 3a 0a 43 6f 75 6e  |meters are:.Coun|
00000e00  74 3a 20 74 68 65 20 6e  75 6d 62 65 72 20 6f 66  |t: the number of|
00000e10  20 66 61 75 6c 74 73 20  74 6f 20 62 65 20 72 75  | faults to be ru|
00000e20  6e 20 62 65 66 6f 72 65  20 73 74 6f 70 70 69 6e  |n before stoppin|
00000e30  67 2e 20 48 69 67 68 65  72 20 6e 75 6d 62 65 72  |g. Higher number|
00000e40  73 0a 70 72 6f 64 75 63  65 20 6d 6f 72 65 20 72  |s.produce more r|
00000e50  65 61 6c 69 73 74 69 63  20 61 6e 64 20 75 6e 65  |ealistic and une|
00000e60  76 65 6e 20 73 68 61 70  65 73 2e 0a 0a 53 68 61  |ven shapes...Sha|
00000e70  70 65 20 53 69 7a 65 3a  20 54 68 65 20 73 69 7a  |pe Size: The siz|
00000e80  65 20 6f 66 20 74 68 65  20 66 61 75 6c 74 20 73  |e of the fault s|
00000e90  68 61 70 65 20 69 6e 20  4f 53 20 75 6e 69 74 73  |hape in OS units|
00000ea0  2e 20 4c 61 72 67 65 72  20 73 69 7a 65 73 20 74  |. Larger sizes t|
00000eb0  65 6e 64 20 74 6f 0a 70  72 6f 64 75 63 65 20 6d  |end to.produce m|
00000ec0  6f 72 65 20 67 65 6e 65  72 61 6c 69 73 65 64 20  |ore generalised |
00000ed0  66 61 75 6c 74 73 20 62  75 74 20 6d 61 79 20 6c  |faults but may l|
00000ee0  65 61 64 20 74 6f 20 6f  62 76 69 6f 75 73 20 62  |ead to obvious b|
00000ef0  6f 75 6e 64 61 72 79 20  6c 69 6e 65 73 20 77 68  |oundary lines wh|
00000f00  69 63 68 0a 63 61 6e 20  6c 6f 6f 6b 20 75 6e 72  |ich.can look unr|
00000f10  65 61 6c 69 73 74 69 63  2e 20 53 6d 61 6c 6c 65  |ealistic. Smalle|
00000f20  72 20 73 68 61 70 65 73  20 67 69 76 65 20 6d 6f  |r shapes give mo|
00000f30  72 65 20 75 6e 65 76 65  6e 2c 20 62 75 6d 70 79  |re uneven, bumpy|
00000f40  20 6c 61 6e 64 73 63 61  70 65 73 2e 0a 53 69 7a  | landscapes..Siz|
00000f50  65 73 20 6f 66 20 31 2f  35 74 68 20 74 68 65 20  |es of 1/5th the |
00000f60  74 6f 74 61 6c 20 69 6d  61 67 65 20 67 69 76 65  |total image give|
00000f70  20 61 20 67 6f 6f 64 20  62 61 6c 61 6e 63 65 20  | a good balance |
00000f80  62 65 74 77 65 65 6e 20  73 6d 6f 6f 74 68 6e 65  |between smoothne|
00000f90  73 73 20 61 6e 64 0a 76  61 72 69 65 74 79 2e 20  |ss and.variety. |
00000fa0  4c 61 72 67 65 72 20 73  68 61 70 65 73 20 77 69  |Larger shapes wi|
00000fb0  6c 6c 20 74 61 6b 65 20  6c 6f 6e 67 65 72 20 74  |ll take longer t|
00000fc0  6f 20 70 6c 6f 74 2e 0a  0a 53 74 65 70 3a 20 54  |o plot...Step: T|
00000fd0  68 65 20 6d 61 78 69 6d  75 6d 20 68 65 69 67 68  |he maximum heigh|
00000fe0  74 20 69 6e 63 72 65 6d  65 6e 74 20 66 6f 72 20  |t increment for |
00000ff0  65 61 63 68 20 66 61 75  6c 74 2e 20 54 68 65 20  |each fault. The |
00001000  6d 61 78 69 6d 75 6d 20  68 65 69 67 68 74 20 74  |maximum height t|
00001010  68 61 74 0a 63 61 6e 20  72 65 73 75 6c 74 20 69  |hat.can result i|
00001020  73 20 32 35 35 20 75 6e  6c 65 73 73 20 46 61 75  |s 255 unless Fau|
00001030  6c 74 2d 3e 57 72 61 70  20 69 73 20 74 75 72 6e  |lt->Wrap is turn|
00001040  65 64 20 6f 6e 20 69 6e  20 77 68 69 63 68 20 63  |ed on in which c|
00001050  61 73 65 20 68 65 69 67  68 74 73 20 77 72 61 70  |ase heights wrap|
00001060  0a 61 72 6f 75 6e 64 20  74 6f 20 30 2e 20 46 6f  |.around to 0. Fo|
00001070  72 20 33 64 20 73 68 61  70 65 73 20 73 75 63 68  |r 3d shapes such|
00001080  20 61 73 20 43 6f 6e 65  2c 20 74 68 65 20 53 74  | as Cone, the St|
00001090  65 70 20 72 65 70 72 65  73 65 6e 74 73 20 74 68  |ep represents th|
000010a0  65 20 6d 61 78 69 6d 75  6d 0a 68 65 69 67 68 74  |e maximum.height|
000010b0  20 28 75 73 75 61 6c 6c  79 20 74 68 65 20 63 65  | (usually the ce|
000010c0  6e 74 72 65 29 2e 20 4e  6f 74 20 75 73 65 64 20  |ntre). Not used |
000010d0  66 6f 72 20 53 70 72 69  74 65 73 2e 0a 0a 53 65  |for Sprites...Se|
000010e0  65 64 3a 20 54 68 65 20  72 61 6e 64 6f 6d 20 6e  |ed: The random n|
000010f0  75 6d 62 65 72 20 75 73  65 64 20 61 73 20 61 20  |umber used as a |
00001100  73 65 65 64 20 74 6f 20  67 65 6e 65 72 61 74 65  |seed to generate|
00001110  20 74 68 65 20 6c 61 6e  64 73 63 61 70 65 2e 20  | the landscape. |
00001120  54 6f 0a 72 65 63 72 65  61 74 65 20 61 20 6c 61  |To.recreate a la|
00001130  6e 64 73 63 61 70 65 2c  20 73 65 74 20 46 61 75  |ndscape, set Fau|
00001140  6c 74 2d 3e 52 61 6e 64  6f 6d 20 6f 66 66 20 61  |lt->Random off a|
00001150  6e 64 20 73 65 74 20 74  68 65 20 73 65 65 64 20  |nd set the seed |
00001160  76 61 6c 75 65 2e 20 54  68 69 73 0a 61 6c 6c 6f  |value. This.allo|
00001170  77 73 20 74 68 65 20 65  66 66 65 63 74 73 20 6f  |ws the effects o|
00001180  66 20 64 69 66 66 65 72  65 6e 74 20 73 68 61 70  |f different shap|
00001190  65 73 2c 20 73 69 7a 65  73 20 61 6e 64 20 73 74  |es, sizes and st|
000011a0  65 70 20 76 61 6c 75 65  73 20 74 6f 20 62 65 0a  |ep values to be.|
000011b0  65 76 61 6c 75 61 74 65  64 2e 0a 0a 46 72 6f 6d  |evaluated...From|
000011c0  20 74 68 65 20 46 61 75  6c 74 20 6d 65 6e 75 20  | the Fault menu |
000011d0  74 68 65 20 66 6f 6c 6c  6f 77 69 6e 67 20 6f 70  |the following op|
000011e0  74 69 6f 6e 73 20 61 72  65 20 73 65 6c 65 63 74  |tions are select|
000011f0  61 62 6c 65 3a 0a 54 79  70 65 3a 20 6c 65 61 64  |able:.Type: lead|
00001200  73 20 74 6f 20 61 20 73  75 62 6d 65 6e 75 20 73  |s to a submenu s|
00001210  68 6f 77 69 6e 67 20 74  68 65 20 74 79 70 65 20  |howing the type |
00001220  6f 66 20 66 61 75 6c 74  20 74 6f 20 75 73 65 2e  |of fault to use.|
00001230  20 54 68 65 20 66 69 72  73 74 20 73 65 74 20 61  | The first set a|
00001240  72 65 0a 73 68 61 70 65  73 2c 20 74 68 65 20 73  |re.shapes, the s|
00001250  69 7a 65 20 6f 66 20 77  68 69 63 68 20 69 73 20  |ize of which is |
00001260  73 65 74 20 66 72 6f 6d  20 74 68 65 20 64 61 74  |set from the dat|
00001270  61 20 76 61 6c 75 65 20  53 68 61 70 65 20 53 69  |a value Shape Si|
00001280  7a 65 2c 20 61 6e 64 20  6d 61 78 69 6d 75 6d 0a  |ze, and maximum.|
00001290  68 65 69 67 68 74 20 62  79 20 53 74 65 70 2e 0a  |height by Step..|
000012a0  20 20 43 69 72 63 6c 65  20 20 20 20 3a 20 61 20  |  Circle    : a |
000012b0  63 69 72 63 6c 65 20 6f  66 20 72 61 64 69 75 73  |circle of radius|
000012c0  20 53 68 61 70 65 20 53  69 7a 65 2f 32 2e 0a 20  | Shape Size/2.. |
000012d0  20 43 6f 6e 65 20 20 20  20 20 20 3a 20 61 20 63  | Cone      : a c|
000012e0  6f 6e 69 63 20 72 69 73  69 6e 67 20 65 76 65 6e  |onic rising even|
000012f0  6c 79 20 69 6e 20 68 65  69 67 68 74 20 28 6d 61  |ly in height (ma|
00001300  78 20 53 74 65 70 29 20  74 6f 20 74 68 65 20 63  |x Step) to the c|
00001310  65 6e 74 72 65 2e 0a 20  20 48 65 78 61 67 6f 6e  |entre..  Hexagon|
00001320  20 20 20 3a 20 61 20 68  65 78 61 67 6f 6e 20 6f  |   : a hexagon o|
00001330  66 20 72 61 64 69 75 73  20 53 69 7a 65 2f 32 2e  |f radius Size/2.|
00001340  0a 20 20 4f 63 74 61 67  6f 6e 20 20 20 3a 20 61  |.  Octagon   : a|
00001350  6e 20 6f 63 74 61 67 6f  6e 20 6f 66 20 72 61 64  |n octagon of rad|
00001360  69 75 73 20 53 69 7a 65  2f 32 2e 0a 20 20 4f 63  |ius Size/2..  Oc|
00001370  74 61 67 6f 6e 20 33 64  3a 20 61 20 33 64 20 6f  |tagon 3d: a 3d o|
00001380  63 74 61 67 6f 6e 20 72  69 73 69 6e 67 20 69 6e  |ctagon rising in|
00001390  20 68 65 69 67 68 74 20  74 6f 20 74 68 65 20 63  | height to the c|
000013a0  65 6e 74 72 65 2e 0a 20  20 53 70 72 69 74 65 73  |entre..  Sprites|
000013b0  20 20 20 3a 20 6c 65 61  64 73 20 74 6f 20 61 20  |   : leads to a |
000013c0  70 61 6e 65 6c 20 6c 69  73 74 69 6e 67 20 61 20  |panel listing a |
000013d0  73 70 72 69 74 65 20 73  68 61 70 65 20 74 6f 20  |sprite shape to |
000013e0  62 65 20 75 73 65 64 20  61 73 20 74 68 65 0a 20  |be used as the. |
000013f0  20 20 20 20 20 20 20 20  20 20 20 20 20 66 61 75  |             fau|
00001400  6c 74 20 70 61 74 74 65  72 6e 2e 20 43 6c 69 63  |lt pattern. Clic|
00001410  6b 20 6f 6e 20 53 70 72  69 74 65 20 74 6f 20 75  |k on Sprite to u|
00001420  73 65 20 74 68 69 73 20  66 65 61 74 75 72 65 2c  |se this feature,|
00001430  20 61 6e 64 20 63 6c 69  63 6b 0a 20 20 20 20 20  | and click.     |
00001440  20 20 20 20 20 20 20 20  20 6f 6e 20 74 68 65 20  |         on the |
00001450  6e 61 6d 65 20 6f 66 20  74 68 65 20 73 70 72 69  |name of the spri|
00001460  74 65 20 74 6f 20 75 73  65 2e 0a 0a 52 61 6e 64  |te to use...Rand|
00001470  6f 6d 3a 20 77 68 65 6e  20 6f 6e 20 67 65 6e 65  |om: when on gene|
00001480  72 61 74 65 73 20 61 20  72 61 6e 64 6f 6d 20 6c  |rates a random l|
00001490  61 6e 64 73 63 61 70 65  2e 20 54 75 72 6e 20 6f  |andscape. Turn o|
000014a0  66 66 20 74 6f 20 72 65  63 72 65 61 74 65 20 61  |ff to recreate a|
000014b0  0a 6c 61 6e 64 73 63 61  70 65 20 75 73 69 6e 67  |.landscape using|
000014c0  20 74 68 65 20 53 65 65  64 20 76 61 6c 75 65 2e  | the Seed value.|
000014d0  0a 0a 53 75 70 65 72 69  6d 70 6f 73 65 3a 20 77  |..Superimpose: w|
000014e0  68 65 6e 20 6f 6e 20 63  61 75 73 65 73 20 74 68  |hen on causes th|
000014f0  65 20 66 61 75 6c 74 73  20 74 6f 20 62 65 20 61  |e faults to be a|
00001500  70 70 6c 69 65 64 20 74  6f 20 74 68 65 20 65 78  |pplied to the ex|
00001510  69 73 74 69 6e 67 20 69  6d 61 67 65 2e 0a 54 68  |isting image..Th|
00001520  69 73 20 61 6c 6c 6f 77  73 20 64 69 66 66 65 72  |is allows differ|
00001530  65 6e 74 20 73 68 61 70  65 73 2c 20 73 69 7a 65  |ent shapes, size|
00001540  73 20 61 6e 64 20 73 74  65 70 20 76 61 6c 75 65  |s and step value|
00001550  73 20 74 6f 20 62 65 20  63 75 6d 75 6c 61 74 69  |s to be cumulati|
00001560  76 65 6c 79 0a 61 70 70  6c 69 65 64 2e 20 57 68  |vely.applied. Wh|
00001570  65 6e 20 6f 66 66 2c 20  74 68 65 20 69 6d 61 67  |en off, the imag|
00001580  65 20 77 69 6c 6c 20 62  65 20 63 6c 65 61 72 65  |e will be cleare|
00001590  64 20 6f 6e 20 72 65 64  72 61 77 2e 0a 0a 57 72  |d on redraw...Wr|
000015a0  61 70 3a 20 77 68 65 6e  20 6f 6e 20 61 6c 6c 6f  |ap: when on allo|
000015b0  77 73 20 68 65 69 67 68  74 20 76 61 6c 75 65 73  |ws height values|
000015c0  20 74 6f 20 77 72 61 70  20 61 72 6f 75 6e 64 20  | to wrap around |
000015d0  66 72 6f 6d 20 32 35 35  20 74 6f 20 30 2c 20 6f  |from 255 to 0, o|
000015e0  74 68 65 72 77 69 73 65  0a 76 61 6c 75 65 73 20  |therwise.values |
000015f0  70 65 61 6b 20 61 74 20  32 35 35 2e 0a 0a 55 73  |peak at 255...Us|
00001600  69 6e 67 20 53 70 72 69  74 65 20 46 61 75 6c 74  |ing Sprite Fault|
00001610  20 53 68 61 70 65 73 0a  2d 2d 2d 2d 2d 2d 2d 2d  | Shapes.--------|
00001620  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00001630  2d 0a 41 6e 79 20 73 68  61 70 65 20 63 61 6e 20  |-.Any shape can |
00001640  62 65 20 75 73 65 64 20  61 73 20 74 68 65 20 66  |be used as the f|
00001650  61 75 6c 74 20 70 61 74  74 65 72 6e 2e 20 54 68  |ault pattern. Th|
00001660  65 20 63 6f 6c 6f 75 72  20 76 61 6c 75 65 73 20  |e colour values |
00001670  6f 66 20 74 68 65 20 73  70 72 69 74 65 0a 61 72  |of the sprite.ar|
00001680  65 20 75 73 65 64 20 61  73 20 74 68 65 20 66 61  |e used as the fa|
00001690  75 6c 74 20 68 65 69 67  68 74 2c 20 77 68 69 6c  |ult height, whil|
000016a0  73 74 20 74 68 65 20 6f  76 65 72 61 6c 6c 20 73  |st the overall s|
000016b0  69 7a 65 20 6f 66 20 74  68 65 20 73 70 72 69 74  |ize of the sprit|
000016c0  65 20 69 73 20 73 65 74  0a 62 79 20 53 68 61 70  |e is set.by Shap|
000016d0  65 20 53 69 7a 65 20 61  73 20 66 6f 72 20 6f 74  |e Size as for ot|
000016e0  68 65 72 20 73 68 61 70  65 73 2e 20 54 68 65 20  |her shapes. The |
000016f0  73 75 70 70 6c 69 65 64  20 73 70 72 69 74 65 73  |supplied sprites|
00001700  20 61 72 65 20 69 6e 20  74 68 65 20 66 69 6c 65  | are in the file|
00001710  0a 46 61 75 6c 74 53 70  72 2e 0a 0a 59 6f 75 20  |.FaultSpr...You |
00001720  63 61 6e 20 65 78 70 65  72 69 6d 65 6e 74 20 77  |can experiment w|
00001730  69 74 68 20 79 6f 75 72  20 6f 77 6e 20 73 68 61  |ith your own sha|
00001740  70 65 73 20 62 79 20 64  72 61 67 67 69 6e 67 20  |pes by dragging |
00001750  61 20 73 70 72 69 74 65  20 66 69 6c 65 20 6f 6e  |a sprite file on|
00001760  74 6f 20 61 6e 79 0a 6f  66 20 21 46 72 61 63 74  |to any.of !Fract|
00001770  61 6c 27 73 20 77 69 6e  64 6f 77 73 20 77 68 69  |al's windows whi|
00001780  6c 73 74 20 46 61 75 6c  74 20 69 73 20 73 65 6c  |lst Fault is sel|
00001790  65 63 74 65 64 2e 20 54  68 65 20 73 70 72 69 74  |ected. The sprit|
000017a0  65 73 20 6d 75 73 74 20  62 65 20 64 65 66 69 6e  |es must be defin|
000017b0  65 64 0a 69 6e 20 61 20  32 35 36 20 63 6f 6c 6f  |ed.in a 256 colo|
000017c0  75 72 20 6d 6f 64 65 20  2d 20 31 33 20 61 6e 64  |ur mode - 13 and|
000017d0  20 32 31 20 61 72 65 20  62 65 73 74 20 73 69 6e  | 21 are best sin|
000017e0  63 65 20 74 68 65 20 70  69 78 65 6c 73 20 61 72  |ce the pixels ar|
000017f0  65 20 73 71 75 61 72 65  2e 20 45 61 63 68 0a 73  |e square. Each.s|
00001800  70 72 69 74 65 20 73 68  6f 75 6c 64 20 62 65 20  |prite should be |
00001810  73 71 75 61 72 65 20 69  6e 20 74 65 72 6d 73 20  |square in terms |
00001820  6f 66 20 4f 53 20 75 6e  69 74 73 2c 20 62 75 74  |of OS units, but|
00001830  20 74 68 65 20 70 61 74  74 65 72 6e 20 69 6e 73  | the pattern ins|
00001840  69 64 65 20 63 61 6e 20  62 65 0a 61 6e 79 20 73  |ide can be.any s|
00001850  68 61 70 65 2e 0a 0a 49  74 20 69 73 20 62 65 73  |hape...It is bes|
00001860  74 20 74 6f 20 64 72 61  77 20 74 68 65 20 70 61  |t to draw the pa|
00001870  74 74 65 72 6e 20 69 6e  20 64 69 73 74 69 6e 63  |ttern in distinc|
00001880  74 20 63 6f 6c 6f 75 72  73 20 73 69 6e 63 65 20  |t colours since |
00001890  74 68 65 20 6c 6f 77 20  63 6f 6c 6f 75 72 0a 76  |the low colour.v|
000018a0  61 6c 75 65 73 20 61 72  65 20 64 69 66 66 69 63  |alues are diffic|
000018b0  75 6c 74 20 74 6f 20 73  65 65 2e 20 57 68 65 6e  |ult to see. When|
000018c0  20 79 6f 75 20 61 72 65  20 68 61 70 70 79 20 77  | you are happy w|
000018d0  69 74 68 20 74 68 65 20  73 68 61 70 65 2c 20 75  |ith the shape, u|
000018e0  73 65 20 21 50 61 69 6e  74 27 73 0a 63 6f 6c 6f  |se !Paint's.colo|
000018f0  75 72 20 72 65 70 6c 61  63 65 20 6f 70 74 69 6f  |ur replace optio|
00001900  6e 20 28 74 68 65 20 62  75 63 6b 65 74 21 29 20  |n (the bucket!) |
00001910  74 6f 20 73 65 74 20 74  68 65 20 63 6f 6c 6f 75  |to set the colou|
00001920  72 73 20 74 6f 20 74 68  65 20 68 65 69 67 68 74  |rs to the height|
00001930  20 76 61 6c 75 65 73 0a  28 6c 6f 77 20 63 6f 6c  | values.(low col|
00001940  6f 75 72 20 6e 75 6d 62  65 72 73 29 2e 20 54 79  |our numbers). Ty|
00001950  70 69 63 61 6c 6c 79 20  74 68 65 73 65 20 77 6f  |pically these wo|
00001960  75 6c 64 20 62 65 20 69  6e 20 74 68 65 20 72 61  |uld be in the ra|
00001970  6e 67 65 20 30 2d 32 30  2e 20 43 69 72 63 75 6c  |nge 0-20. Circul|
00001980  61 72 0a 70 61 74 74 65  72 6e 73 20 74 65 6e 64  |ar.patterns tend|
00001990  20 74 6f 20 67 69 76 65  20 74 68 65 20 6d 6f 73  | to give the mos|
000019a0  74 20 72 65 61 6c 69 73  74 69 63 20 6c 61 6e 64  |t realistic land|
000019b0  73 63 61 70 65 20 65 66  66 65 63 74 2c 20 62 75  |scape effect, bu|
000019c0  74 20 66 65 65 6c 20 66  72 65 65 20 74 6f 0a 65  |t feel free to.e|
000019d0  78 70 65 72 69 6d 65 6e  74 20 73 69 6e 63 65 20  |xperiment since |
000019e0  73 74 72 61 6e 67 65 20  70 61 74 74 65 72 6e 73  |strange patterns|
000019f0  20 63 61 6e 20 62 65 20  70 72 6f 64 75 63 65 64  | can be produced|
00001a00  20 77 69 74 68 20 6c 69  6e 65 61 72 20 73 68 61  | with linear sha|
00001a10  70 65 73 2e 20 59 6f 75  0a 63 61 6e 20 74 68 69  |pes. You.can thi|
00001a20  6e 6b 20 6f 66 20 46 61  75 6c 74 20 61 73 20 61  |nk of Fault as a|
00001a30  20 73 70 65 63 69 61 6c  20 74 79 70 65 20 6f 66  | special type of|
00001a40  20 54 69 6c 69 6e 67 20  6d 65 63 68 61 6e 69 73  | Tiling mechanis|
00001a50  6d 2e 0a 0a 48 69 6e 74  73 20 41 6e 64 20 54 69  |m...Hints And Ti|
00001a60  70 73 0a 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |ps.-------------|
00001a70  2d 0a 54 68 65 20 72 65  73 75 6c 74 69 6e 67 20  |-.The resulting |
00001a80  69 6d 61 67 65 20 6c 6f  6f 6b 73 20 62 65 73 74  |image looks best|
00001a90  20 77 69 74 68 20 74 68  65 20 4c 61 6e 64 73 63  | with the Landsc|
00001aa0  61 70 65 20 64 69 73 70  6c 61 79 20 70 61 6c 65  |ape display pale|
00001ab0  74 74 65 2e 20 49 66 20  74 68 65 0a 69 6d 61 67  |tte. If the.imag|
00001ac0  65 20 69 73 20 74 6f 6f  20 6c 6f 77 20 79 6f 75  |e is too low you|
00001ad0  27 6c 6c 20 6a 75 73 74  20 73 65 65 20 62 6c 75  |'ll just see blu|
00001ae0  65 2c 20 73 6f 20 75 73  65 20 74 68 65 20 50 61  |e, so use the Pa|
00001af0  6c 65 74 74 65 20 61 64  6a 75 73 74 20 66 61 63  |lette adjust fac|
00001b00  69 6c 69 74 79 0a 28 73  74 72 69 70 65 64 20 54  |ility.(striped T|
00001b10  6f 6f 6c 20 69 63 6f 6e  29 20 74 6f 20 61 6c 74  |ool icon) to alt|
00001b20  65 72 20 74 68 65 20 6d  61 70 70 69 6e 67 20 75  |er the mapping u|
00001b30  6e 74 69 6c 20 79 6f 75  20 67 65 74 20 61 20 6d  |ntil you get a m|
00001b40  69 78 74 75 72 65 20 6f  66 20 73 65 61 20 61 6e  |ixture of sea an|
00001b50  64 0a 6c 61 6e 64 2e 20  41 6c 74 65 72 6e 61 74  |d.land. Alternat|
00001b60  69 76 65 6c 79 20 6c 6f  61 64 20 79 6f 75 72 20  |ively load your |
00001b70  6f 77 6e 20 63 75 73 74  6f 6d 69 73 65 64 20 70  |own customised p|
00001b80  61 6c 65 74 74 65 20 6d  61 64 65 20 77 69 74 68  |alette made with|
00001b90  20 21 46 72 61 63 50 61  6c 2e 20 46 6f 72 0a 69  | !FracPal. For.i|
00001ba0  6e 73 74 61 6e 63 65 2c  20 61 20 70 61 6c 65 74  |nstance, a palet|
00001bb0  74 65 20 6f 66 20 76 61  72 69 6f 75 73 20 73 68  |te of various sh|
00001bc0  61 64 65 73 20 6f 66 20  77 68 69 74 65 2c 20 67  |ades of white, g|
00001bd0  72 65 79 20 61 6e 64 20  6c 69 67 68 74 20 62 6c  |rey and light bl|
00001be0  75 65 20 67 69 76 65 20  61 0a 76 65 72 79 20 72  |ue give a.very r|
00001bf0  65 61 6c 69 73 74 69 63  20 63 6c 6f 75 64 20 65  |ealistic cloud e|
00001c00  66 66 65 63 74 2e 0a 0a  54 6f 20 76 69 65 77 20  |ffect...To view |
00001c10  74 68 65 20 6c 61 6e 64  73 63 61 70 65 20 69 6e  |the landscape in|
00001c20  20 33 64 20 74 72 79 20  33 64 5f 56 69 65 77 20  | 3d try 3d_View |
00001c30  6f 72 20 52 65 6e 64 65  72 20 75 73 69 6e 67 20  |or Render using |
00001c40  65 69 74 68 65 72 20 61  20 4c 6f 67 20 6f 72 0a  |either a Log or.|
00001c50  4c 69 6e 65 61 72 20 33  64 20 6d 61 70 70 69 6e  |Linear 3d mappin|
00001c60  67 20 28 69 6e 20 74 68  65 20 33 64 20 70 61 6e  |g (in the 3d pan|
00001c70  65 6c 29 2e 20 55 73 65  20 74 68 65 20 33 64 20  |el). Use the 3d |
00001c80  53 63 61 6c 61 72 20 76  61 6c 75 65 20 74 6f 20  |Scalar value to |
00001c90  61 63 63 65 6e 74 75 61  74 65 0a 6f 72 20 73 6d  |accentuate.or sm|
00001ca0  6f 6f 74 68 20 74 68 65  20 69 6d 61 67 65 2e 20  |ooth the image. |
00001cb0  41 67 61 69 6e 2c 20 73  65 6c 65 63 74 20 74 68  |Again, select th|
00001cc0  65 20 4c 61 6e 64 73 63  61 70 65 20 70 61 6c 65  |e Landscape pale|
00001cd0  74 74 65 2e 20 54 72 79  20 74 68 65 20 52 69 65  |tte. Try the Rie|
00001ce0  6d 61 6e 6e 0a 70 6c 6f  74 20 74 6f 20 63 72 65  |mann.plot to cre|
00001cf0  61 74 65 20 79 6f 75 72  20 6f 77 6e 20 67 6c 6f  |ate your own glo|
00001d00  62 65 2e 0a 0a 57 68 65  6e 20 75 73 69 6e 67 20  |be...When using |
00001d10  74 68 65 20 53 75 70 65  72 69 6d 70 6f 73 65 20  |the Superimpose |
00001d20  66 61 63 69 6c 69 74 79  20 69 74 20 69 73 20 62  |facility it is b|
00001d30  65 73 74 20 74 6f 20 73  74 61 72 74 20 77 69 74  |est to start wit|
00001d40  68 20 61 20 6c 61 72 67  65 20 73 68 61 70 65 0a  |h a large shape.|
00001d50  73 69 7a 65 2c 20 72 75  6e 6e 69 6e 67 20 66 6f  |size, running fo|
00001d60  72 20 73 65 76 65 72 61  6c 20 68 75 6e 64 72 65  |r several hundre|
00001d70  64 20 66 61 75 6c 74 73  2c 20 74 6f 20 67 65 6e  |d faults, to gen|
00001d80  65 72 61 74 65 20 74 68  65 20 62 61 73 69 63 20  |erate the basic |
00001d90  72 6f 6c 6c 69 6e 67 0a  74 65 72 72 61 69 6e 2e  |rolling.terrain.|
00001da0  20 54 68 65 6e 20 75 73  65 20 61 20 73 6d 61 6c  | Then use a smal|
00001db0  6c 65 72 20 73 69 7a 65  2c 20 69 6e 63 72 65 61  |ler size, increa|
00001dc0  73 65 20 74 68 65 20 6e  75 6d 62 65 72 20 6f 66  |se the number of|
00001dd0  20 66 61 75 6c 74 73 20  61 6e 64 20 73 74 65 70  | faults and step|
00001de0  0a 73 69 7a 65 20 74 6f  20 67 69 76 65 20 6d 6f  |.size to give mo|
00001df0  72 65 20 6c 6f 63 61 6c  69 73 65 64 20 76 61 72  |re localised var|
00001e00  69 61 74 69 6f 6e 20 61  6e 64 20 70 65 61 6b 69  |iation and peaki|
00001e10  6e 65 73 73 2e 20 54 68  65 20 62 65 73 74 20 73  |ness. The best s|
00001e20  68 61 70 65 73 20 61 72  65 20 74 68 65 0a 43 6f  |hapes are the.Co|
00001e30  6e 65 20 61 6e 64 20 4f  63 74 61 67 6f 6e 20 33  |ne and Octagon 3|
00001e40  64 20 2d 20 66 6f 72 20  74 68 65 73 65 20 79 6f  |d - for these yo|
00001e50  75 27 6c 6c 20 6e 65 65  64 20 61 20 72 65 6c 61  |u'll need a rela|
00001e60  74 69 76 65 6c 79 20 6c  61 72 67 65 72 20 73 69  |tively larger si|
00001e70  7a 65 20 74 68 61 6e 0a  43 69 72 63 6c 65 20 62  |ze than.Circle b|
00001e80  65 63 61 75 73 65 20 6f  66 20 74 68 65 20 67 72  |ecause of the gr|
00001e90  61 64 75 61 6c 20 72 69  73 65 20 69 6e 20 68 65  |adual rise in he|
00001ea0  69 67 68 74 2e 20 54 72  79 20 6d 69 78 69 6e 67  |ight. Try mixing|
00001eb0  20 73 68 61 70 65 73 20  75 73 69 6e 67 0a 53 75  | shapes using.Su|
00001ec0  70 65 72 69 6d 70 6f 73  65 20 74 6f 20 63 72 65  |perimpose to cre|
00001ed0  61 74 65 20 64 69 66 66  65 72 65 6e 74 20 65 66  |ate different ef|
00001ee0  66 65 63 74 73 2e 20 55  73 69 6e 67 20 6c 61 72  |fects. Using lar|
00001ef0  67 65 20 73 68 61 70 65  20 73 69 7a 65 73 20 63  |ge shape sizes c|
00001f00  61 6e 20 61 6c 73 6f 0a  70 72 6f 64 75 63 65 20  |an also.produce |
00001f10  69 6e 74 65 72 65 73 74  69 6e 67 20 70 61 74 74  |interesting patt|
00001f20  65 72 6e 73 2e 0a 0a 41  6c 67 6f 72 69 74 68 6d  |erns...Algorithm|
00001f30  0a 2d 2d 2d 2d 2d 2d 2d  2d 2d 0a 46 61 75 6c 74  |.---------.Fault|
00001f40  69 6e 67 20 62 79 20 73  68 61 70 65 20 73 69 6d  |ing by shape sim|
00001f50  70 6c 79 20 69 6e 76 6f  6c 76 65 73 20 73 65 6c  |ply involves sel|
00001f60  65 63 74 69 6e 67 20 61  20 70 6f 69 6e 74 20 61  |ecting a point a|
00001f70  74 20 72 61 6e 64 6f 6d  20 61 6e 64 20 74 68 65  |t random and the|
00001f80  6e 0a 70 6c 6f 74 74 69  6e 67 20 74 68 65 20 73  |n.plotting the s|
00001f90  68 61 70 65 20 63 65 6e  74 72 65 64 20 6f 6e 20  |hape centred on |
00001fa0  74 68 61 74 20 73 70 6f  74 2e 20 54 68 65 20 76  |that spot. The v|
00001fb0  61 6c 75 65 20 6f 66 20  65 61 63 68 20 73 68 61  |alue of each sha|
00001fc0  70 65 20 70 69 78 65 6c  20 69 73 0a 61 64 64 65  |pe pixel is.adde|
00001fd0  64 20 74 6f 20 74 68 65  20 69 6d 61 67 65 20 70  |d to the image p|
00001fe0  69 78 65 6c 20 76 61 6c  75 65 20 2d 20 69 66 20  |ixel value - if |
00001ff0  46 61 75 6c 74 2d 3e 57  72 61 70 20 69 73 20 6f  |Fault->Wrap is o|
00002000  66 66 2c 20 74 68 65 6e  20 74 68 65 20 6d 61 78  |ff, then the max|
00002010  69 6d 75 6d 0a 76 61 6c  75 65 20 6f 66 20 32 35  |imum.value of 25|
00002020  35 20 69 73 20 73 65 74  2c 20 6f 74 68 65 72 77  |5 is set, otherw|
00002030  69 73 65 20 74 68 65 20  76 61 6c 75 65 20 77 72  |ise the value wr|
00002040  61 70 73 20 61 72 6f 75  6e 64 2e 0a 0a 57 61 74  |aps around...Wat|
00002050  63 68 20 54 68 69 73 20  53 70 61 63 65 3a 20 41  |ch This Space: A|
00002060  20 6c 6f 74 20 6d 6f 72  65 20 66 75 6e 63 74 69  | lot more functi|
00002070  6f 6e 61 6c 69 74 79 20  77 69 6c 6c 20 62 65 20  |onality will be |
00002080  61 64 64 65 64 2c 20 73  75 63 68 20 61 73 20 6c  |added, such as l|
00002090  69 6e 65 61 72 0a 66 61  75 6c 74 69 6e 67 20 61  |inear.faulting a|
000020a0  6e 64 20 66 61 75 6c 74  20 70 72 6f 67 72 61 6d  |nd fault program|
000020b0  6d 69 6e 67 21 2e 0a 0a  2d 2d 2d 2d 2d 2d 2d 2d  |ming!...--------|
000020c0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00002100  2d 2d 0a 0a 48 e9 6e 6f  6e 20 4d 61 70 73 20 3a  |--..H.non Maps :|
00002110  20 41 6e 20 69 6d 70 6c  65 6d 65 6e 74 61 74 69  | An implementati|
00002120  6f 6e 20 6f 66 20 48 e9  6e 6f 6e 27 73 20 73 74  |on of H.non's st|
00002130  72 61 6e 67 65 20 61 74  74 72 61 63 74 6f 72 2e  |range attractor.|
00002140  0a 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 0a 54 77 6f 20  |.----------.Two |
00002150  73 75 62 2d 66 75 6e 63  74 69 6f 6e 73 20 61 72  |sub-functions ar|
00002160  65 20 70 72 6f 76 69 64  65 64 2e 20 54 68 65 20  |e provided. The |
00002170  4f 72 69 67 69 6e 61 6c  20 66 75 6e 63 74 69 6f  |Original functio|
00002180  6e 20 73 68 6f 77 73 20  61 20 73 69 6d 70 6c 65  |n shows a simple|
00002190  20 6f 72 62 69 74 2c 0a  77 68 69 6c 73 74 20 74  | orbit,.whilst t|
000021a0  68 65 20 53 49 4e 2f 43  4f 53 20 66 75 6e 63 74  |he SIN/COS funct|
000021b0  69 6f 6e 20 69 73 20 61  20 66 75 6c 6c 65 72 20  |ion is a fuller |
000021c0  69 6d 70 6c 65 6d 65 6e  74 61 74 69 6f 6e 2e 20  |implementation. |
000021d0  54 68 65 79 20 62 6f 74  68 20 72 65 6c 61 74 65  |They both relate|
000021e0  20 74 6f 0a 6f 72 62 69  74 73 20 6f 66 20 61 73  | to.orbits of as|
000021f0  74 65 72 6f 69 64 73 20  61 6e 64 20 73 6f 20 6f  |teroids and so o|
00002200  6e 2e 20 54 68 65 20 6d  65 6e 75 20 6f 70 74 69  |n. The menu opti|
00002210  6f 6e 73 20 61 72 65 20  67 72 65 79 65 64 20 77  |ons are greyed w|
00002220  68 65 6e 20 6e 6f 74 0a  61 70 70 6c 69 63 61 62  |hen not.applicab|
00002230  6c 65 20 74 6f 20 61 20  70 61 72 74 69 63 75 6c  |le to a particul|
00002240  61 72 20 66 75 6e 63 74  69 6f 6e 2e 20 54 68 65  |ar function. The|
00002250  20 6d 65 6e 75 20 6f 70  74 69 6f 6e 73 20 61 72  | menu options ar|
00002260  65 3a 0a 0a 4f 72 69 67  69 6e 61 6c 3a 20 73 65  |e:..Original: se|
00002270  6c 65 63 74 73 20 74 68  65 20 62 61 73 69 63 20  |lects the basic |
00002280  66 75 6e 63 74 69 6f 6e  2e 20 54 68 69 73 20 66  |function. This f|
00002290  75 6e 63 74 69 6f 6e 20  69 73 20 69 6e 66 69 6e  |unction is infin|
000022a0  69 74 65 20 73 6f 20 79  6f 75 20 77 69 6c 6c 0a  |ite so you will.|
000022b0  6e 65 65 64 20 74 6f 20  6d 61 6e 75 61 6c 6c 79  |need to manually|
000022c0  20 73 74 6f 70 20 69 74  2e 20 53 65 65 20 43 68  | stop it. See Ch|
000022d0  61 6f 73 20 62 79 20 4a  2e 47 6c 65 69 63 6b 20  |aos by J.Gleick |
000022e0  70 2e 31 34 31 20 66 6f  72 20 66 75 6c 6c 20 64  |p.141 for full d|
000022f0  65 74 61 69 6c 73 2e 0a  0a 53 49 4e 28 61 29 2f  |etails...SIN(a)/|
00002300  43 4f 53 28 61 29 3a 20  73 65 6c 65 63 74 73 20  |COS(a): selects |
00002310  74 68 65 20 66 75 6c 6c  20 66 75 6e 63 74 69 6f  |the full functio|
00002320  6e 2e 20 53 65 65 20 4a  2e 44 65 77 64 6e 65 79  |n. See J.Dewdney|
00002330  2c 20 53 63 2e 41 6d 65  72 69 63 61 6e 2c 20 4a  |, Sc.American, J|
00002340  75 6c 79 0a 31 39 38 37  2e 0a 0a 52 61 6e 64 6f  |uly.1987...Rando|
00002350  6d 20 61 3a 20 54 68 65  20 76 61 6c 75 65 20 6f  |m a: The value o|
00002360  66 20 61 20 69 73 20 63  68 6f 73 65 6e 20 61 74  |f a is chosen at|
00002370  20 72 61 6e 64 6f 6d 20  62 79 20 74 68 65 20 70  | random by the p|
00002380  72 6f 67 72 61 6d 20 77  68 65 6e 20 74 69 63 6b  |rogram when tick|
00002390  65 64 2e 0a 52 61 6e 64  6f 6d 20 62 3a 20 54 68  |ed..Random b: Th|
000023a0  65 20 76 61 6c 75 65 20  6f 66 20 61 20 69 73 20  |e value of a is |
000023b0  63 68 6f 73 65 6e 20 61  74 20 72 61 6e 64 6f 6d  |chosen at random|
000023c0  20 62 79 20 74 68 65 20  70 72 6f 67 72 61 6d 20  | by the program |
000023d0  77 68 65 6e 20 74 69 63  6b 65 64 2e 0a 0a 41 75  |when ticked...Au|
000023e0  74 6f 20 53 74 65 70 3a  20 57 68 65 6e 20 6f 6e  |to Step: When on|
000023f0  2c 20 74 68 65 20 6e 75  6d 62 65 72 20 6f 66 20  |, the number of |
00002400  70 6f 69 6e 74 73 20 63  61 6c 63 75 6c 61 74 65  |points calculate|
00002410  64 20 77 69 6c 6c 20 62  65 20 69 6e 63 72 65 61  |d will be increa|
00002420  73 65 64 20 61 73 20 79  6f 75 0a 7a 6f 6f 6d 20  |sed as you.zoom |
00002430  69 6e 2c 20 74 6f 20 67  69 76 65 20 67 72 65 61  |in, to give grea|
00002440  74 65 72 20 72 65 73 6f  6c 75 74 69 6f 6e 2c 20  |ter resolution, |
00002450  74 68 6f 75 67 68 20 74  68 69 73 20 77 69 6c 6c  |though this will|
00002460  20 74 61 6b 65 20 6c 6f  6e 67 65 72 2e 0a 20 20  | take longer..  |
00002470  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
000024a0  20 20 20 20 20 20 20 0a  52 61 6e 64 6f 6d 20 43  |       .Random C|
000024b0  6f 6c 6f 75 72 3a 20 77  68 65 6e 20 6f 6e 20 74  |olour: when on t|
000024c0  68 65 20 63 6f 6c 6f 75  72 20 77 69 6c 6c 20 62  |he colour will b|
000024d0  65 20 63 68 61 6e 67 65  64 20 72 61 6e 64 6f 6d  |e changed random|
000024e0  6c 79 20 65 76 65 72 79  20 31 30 30 20 70 6f 69  |ly every 100 poi|
000024f0  6e 74 73 2e 0a 0a 4f 72  69 67 69 6e 61 6c 20 41  |nts...Original A|
00002500  6c 67 6f 72 69 74 68 6d  3a 0a 2d 2d 2d 2d 2d 2d  |lgorithm:.------|
00002510  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 0a 54 68 65  |------------.The|
00002520  20 64 65 66 61 75 6c 74  20 76 61 6c 75 65 20 66  | default value f|
00002530  6f 72 20 61 20 69 73 20  31 2e 34 20 61 6e 64 20  |or a is 1.4 and |
00002540  62 20 69 73 20 30 2e 33  2e 20 54 68 65 20 62 65  |b is 0.3. The be|
00002550  73 74 20 72 65 73 75 6c  74 73 20 63 6f 6d 65 20  |st results come |
00002560  66 72 6f 6d 0a 73 6c 69  67 68 74 6c 79 20 61 6c  |from.slightly al|
00002570  74 65 72 69 6e 67 20 74  68 65 73 65 20 76 61 6c  |tering these val|
00002580  75 65 73 20 72 61 74 68  65 72 20 74 68 61 6e 20  |ues rather than |
00002590  63 68 6f 6f 73 69 6e 67  20 72 61 6e 64 6f 6d 20  |choosing random |
000025a0  66 69 67 75 72 65 73 2e  0a 0a 20 20 20 20 20 20  |figures...      |
000025b0  20 70 78 3d 31 0a 20 20  20 20 20 20 20 70 79 3d  | px=1.       py=|
000025c0  31 0a 20 20 20 20 20 20  20 64 6f 0a 20 20 20 20  |1.       do.    |
000025d0  20 20 20 20 20 20 20 7a  3d 70 78 0a 20 20 20 20  |       z=px.    |
000025e0  20 20 20 20 20 20 20 70  78 3d 70 79 2b 31 2d 61  |       px=py+1-a|
000025f0  2a 7a 2a 7a 0a 20 20 20  20 20 20 20 20 20 20 20  |*z*z.           |
00002600  70 79 3d 62 2a 7a 0a 20  20 20 20 20 20 20 20 20  |py=b*z.         |
00002610  20 20 70 6c 6f 74 20 70  78 2c 70 79 0a 20 20 20  |  plot px,py.   |
00002620  20 20 20 20 75 6e 74 69  6c 20 28 78 3e 31 2e 30  |    until (x>1.0|
00002630  65 31 30 20 6f 72 20 79  3e 31 2e 30 65 31 30 29  |e10 or y>1.0e10)|
00002640  0a 0a 53 49 4e 28 61 29  2f 43 4f 53 28 61 29 20  |..SIN(a)/COS(a) |
00002650  41 6c 67 6f 72 69 74 68  6d 3a 0a 2d 2d 2d 2d 2d  |Algorithm:.-----|
00002660  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00002670  2d 2d 0a 48 65 72 65 20  74 68 65 20 6d 61 69 6e  |--.Here the main|
00002680  20 63 6f 6e 74 72 6f 6c  20 69 73 20 74 68 65 20  | control is the |
00002690  64 61 74 61 20 76 61 72  69 61 62 6c 65 20 61 2e  |data variable a.|
000026a0  20 54 68 65 20 73 74 65  70 20 72 61 74 65 20 69  | The step rate i|
000026b0  73 20 64 65 63 72 65 61  73 65 64 0a 77 68 65 6e  |s decreased.when|
000026c0  20 7a 6f 6f 6d 69 6e 67  20 69 6e 2e 20 54 68 61  | zooming in. Tha|
000026d0  6e 6b 73 20 74 6f 20 4a  6f 79 63 65 20 48 61 73  |nks to Joyce Has|
000026e0  6c 61 6d 20 66 6f 72 20  70 61 73 73 69 6e 67 20  |lam for passing |
000026f0  6f 6e 20 74 68 69 73 20  61 6c 67 6f 72 69 74 68  |on this algorith|
00002700  6d 2e 0a 0a 20 20 20 20  20 20 20 66 6f 72 20 69  |m...       for i|
00002710  3d 2d 30 2e 38 20 74 6f  20 30 2e 38 20 73 74 65  |=-0.8 to 0.8 ste|
00002720  70 20 30 2e 30 35 0a 20  20 20 20 20 20 20 20 20  |p 0.05.         |
00002730  66 6f 72 20 6a 3d 2d 30  2e 38 20 74 6f 20 30 2e  |for j=-0.8 to 0.|
00002740  38 20 73 74 65 70 20 30  2e 30 35 0a 20 20 20 20  |8 step 0.05.    |
00002750  20 20 20 20 20 20 20 63  3d 30 0a 20 20 20 20 20  |       c=0.     |
00002760  20 20 20 20 20 20 78 3d  69 0a 20 20 20 20 20 20  |      x=i.      |
00002770  20 20 20 20 20 79 3d 6a  0a 20 20 20 20 20 20 20  |     y=j.       |
00002780  20 20 20 20 72 65 70 65  61 74 0a 20 20 20 20 20  |    repeat.     |
00002790  20 20 20 20 20 20 20 20  63 2b 3d 31 0a 20 20 20  |        c+=1.   |
000027a0  20 20 20 20 20 20 20 20  20 20 78 78 3d 78 2a 43  |          xx=x*C|
000027b0  4f 53 61 2d 28 79 2d 78  2a 78 29 2a 53 49 4e 61  |OSa-(y-x*x)*SINa|
000027c0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 79 3d  |.             y=|
000027d0  78 2a 53 49 4e 61 2b 28  79 2d 78 2a 78 29 2a 43  |x*SINa+(y-x*x)*C|
000027e0  4f 53 61 0a 20 20 20 20  20 20 20 20 20 20 20 20  |OSa.            |
000027f0  20 78 3d 78 78 0a 20 20  20 20 20 20 20 20 20 20  | x=xx.          |
00002800  20 20 20 70 6c 6f 74 20  78 2c 79 0a 20 20 20 20  |   plot x,y.    |
00002810  20 20 20 20 20 20 20 75  6e 74 69 6c 20 28 69 3e  |       until (i>|
00002820  31 30 30 20 6f 72 20 78  3e 31 30 30 30 20 6f 72  |100 or x>1000 or|
00002830  20 79 3e 31 30 30 30 29  0a 20 20 20 20 20 20 20  | y>1000).       |
00002840  20 20 6e 65 78 74 0a 20  20 20 20 20 20 20 6e 65  |  next.       ne|
00002850  78 74 0a 0a 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |xt..------------|
00002860  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00002890  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 0a 0a  |--------------..|
000028a0  49 46 53 20 32 64 3a 20  41 6e 20 69 6d 70 6c 65  |IFS 2d: An imple|
000028b0  6d 65 6e 74 61 74 69 6f  6e 20 6f 66 20 4d 69 63  |mentation of Mic|
000028c0  68 61 65 6c 20 42 61 72  6e 73 6c 65 79 27 73 20  |hael Barnsley's |
000028d0  49 46 53 20 73 79 73 74  65 6d 20 69 6e 20 32 20  |IFS system in 2 |
000028e0  64 69 6d 65 6e 73 69 6f  6e 73 2e 0a 2d 2d 2d 2d  |dimensions..----|
000028f0  2d 2d 0a 55 70 20 74 6f  20 34 30 20 49 46 53 20  |--.Up to 40 IFS |
00002900  74 72 61 6e 73 66 6f 72  6d 61 74 69 6f 6e 73 20  |transformations |
00002910  61 72 65 20 73 74 6f 72  65 64 20 69 6e 74 65 72  |are stored inter|
00002920  6e 61 6c 6c 79 2c 20 6f  6e 65 20 6f 66 20 77 68  |nally, one of wh|
00002930  69 63 68 20 69 73 20 74  68 65 0a 77 6f 72 6b 69  |ich is the.worki|
00002940  6e 67 20 49 46 53 2e 20  46 72 6f 6d 20 74 68 65  |ng IFS. From the|
00002950  20 49 46 53 20 6d 65 6e  75 20 74 68 65 20 6f 70  | IFS menu the op|
00002960  74 69 6f 6e 73 20 61 72  65 3a 0a 0a 44 61 74 61  |tions are:..Data|
00002970  3a 20 54 68 65 20 63 75  72 72 65 6e 74 20 49 46  |: The current IF|
00002980  53 20 64 61 74 61 20 65  78 63 65 70 74 20 66 6f  |S data except fo|
00002990  72 20 74 68 65 20 7a 6f  6f 6d 69 6e 67 20 63 6f  |r the zooming co|
000029a0  2d 6f 72 64 69 6e 61 74  65 73 20 77 68 69 63 68  |-ordinates which|
000029b0  20 61 72 65 0a 61 63 63  65 73 73 65 64 20 76 69  | are.accessed vi|
000029c0  61 20 74 68 65 20 73 74  61 6e 64 61 72 64 20 49  |a the standard I|
000029d0  6d 61 67 65 89 44 61 74  61 89 20 6d 65 6e 75 2e  |mage.Data. menu.|
000029e0  20 43 6c 69 63 6b 20 49  6e 70 75 74 20 74 6f 20  | Click Input to |
000029f0  65 6e 74 65 72 20 6e 65  77 20 76 61 6c 75 65 73  |enter new values|
00002a00  2c 0a 6f 72 20 52 65 2d  64 72 61 77 20 74 6f 20  |,.or Re-draw to |
00002a10  65 6e 74 65 72 20 61 6e  64 20 72 65 2d 64 72 61  |enter and re-dra|
00002a20  77 20 74 68 65 20 69 6d  61 67 65 2e 20 43 6c 69  |w the image. Cli|
00002a30  63 6b 20 53 74 6f 72 65  20 74 6f 20 73 74 6f 72  |ck Store to stor|
00002a40  65 20 74 68 65 20 64 61  74 61 20 69 6e 0a 74 68  |e the data in.th|
00002a50  65 20 69 6e 74 65 72 6e  61 6c 20 66 69 6c 65 2c  |e internal file,|
00002a60  20 6f 72 20 52 65 73 74  6f 72 65 20 74 6f 20 72  | or Restore to r|
00002a70  65 76 65 72 74 20 74 6f  20 74 68 65 20 76 65 72  |evert to the ver|
00002a80  73 69 6f 6e 20 68 65 6c  64 20 69 6e 74 65 72 6e  |sion held intern|
00002a90  61 6c 6c 79 2e 0a 43 6c  69 63 6b 20 43 6f 70 79  |ally..Click Copy|
00002aa0  20 74 6f 20 74 61 6b 65  20 61 20 63 6f 70 79 20  | to take a copy |
00002ab0  6f 66 20 74 68 65 20 63  75 72 72 65 6e 74 20 64  |of the current d|
00002ac0  61 74 61 20 61 6e 64 20  63 72 65 61 74 65 20 61  |ata and create a|
00002ad0  20 6e 65 77 20 49 46 53  20 66 75 6e 63 74 69 6f  | new IFS functio|
00002ae0  6e 2c 0a 6f 72 20 63 6c  69 63 6b 20 44 65 6c 65  |n,.or click Dele|
00002af0  74 65 20 74 6f 20 64 65  6c 65 74 65 20 74 68 65  |te to delete the|
00002b00  20 63 75 72 72 65 6e 74  20 65 6e 74 72 79 2e 0a  | current entry..|
00002b10  54 68 65 20 64 61 74 61  20 6f 6e 20 64 69 73 70  |The data on disp|
00002b20  6c 61 79 20 63 6f 6e 73  69 73 74 73 20 6f 66 3a  |lay consists of:|
00002b30  0a 0a 4e 61 6d 65 3a 20  75 73 65 64 20 74 6f 20  |..Name: used to |
00002b40  69 64 65 6e 74 69 66 79  20 74 68 65 20 49 46 53  |identify the IFS|
00002b50  20 66 75 6e 63 74 69 6f  6e 2c 20 61 6e 79 20 31  | function, any 1|
00002b60  2d 31 31 20 63 68 61 72  61 63 74 65 72 73 2e 0a  |-11 characters..|
00002b70  0a 4e 75 6d 62 65 72 3a  20 6c 6f 63 61 74 69 6f  |.Number: locatio|
00002b80  6e 20 77 69 74 68 69 6e  20 74 68 65 20 69 6e 74  |n within the int|
00002b90  65 72 6e 61 6c 20 49 46  53 20 66 69 6c 65 2e 20  |ernal IFS file. |
00002ba0  43 6c 69 63 6b 20 6f 6e  20 74 68 65 20 61 72 72  |Click on the arr|
00002bb0  6f 77 73 20 74 6f 20 61  63 63 65 73 73 0a 70 72  |ows to access.pr|
00002bc0  69 6f 72 20 6f 72 20 6e  65 78 74 20 65 6e 74 72  |ior or next entr|
00002bd0  69 65 73 2e 0a 0a 54 72  61 6e 73 66 6f 72 6d 61  |ies...Transforma|
00002be0  74 69 6f 6e 73 3a 20 6e  75 6d 62 65 72 20 6f 66  |tions: number of|
00002bf0  20 61 66 66 69 6e 65 20  74 72 61 6e 73 66 6f 72  | affine transfor|
00002c00  6d 73 20 74 6f 20 75 73  65 20 28 31 2d 39 29 2e  |ms to use (1-9).|
00002c10  20 49 66 20 74 68 65 20  73 75 6d 20 6f 66 20 74  | If the sum of t|
00002c20  68 65 0a 70 72 6f 62 61  62 69 6c 69 74 69 65 73  |he.probabilities|
00002c30  20 69 73 20 6c 65 73 73  20 74 68 61 6e 20 31 2c  | is less than 1,|
00002c40  20 74 68 69 73 20 6e 75  6d 62 65 72 20 69 73 20  | this number is |
00002c50  61 75 74 6f 6d 61 74 69  63 61 6c 6c 79 20 69 6e  |automatically in|
00002c60  63 72 65 61 73 65 64 20  62 79 20 31 0a 61 6e 64  |creased by 1.and|
00002c70  20 61 20 6e 75 6c 6c 20  74 72 61 6e 73 66 6f 72  | a null transfor|
00002c80  6d 61 74 69 6f 6e 20 69  73 20 61 64 64 65 64 2e  |mation is added.|
00002c90  0a 0a 49 74 65 72 61 74  69 6f 6e 73 3a 20 54 68  |..Iterations: Th|
00002ca0  65 20 6e 75 6d 62 65 72  20 6f 66 20 69 74 65 72  |e number of iter|
00002cb0  61 74 69 6f 6e 73 20 62  65 66 6f 72 65 20 73 74  |ations before st|
00002cc0  6f 70 70 69 6e 67 20 69  6d 61 67 65 20 67 65 6e  |opping image gen|
00002cd0  65 72 61 74 69 6f 6e 2e  0a 0a 54 68 65 20 61 66  |eration...The af|
00002ce0  66 69 6e 65 20 64 61 74  61 20 69 73 20 73 68 6f  |fine data is sho|
00002cf0  77 6e 20 61 63 63 6f 72  64 69 6e 67 20 74 6f 20  |wn according to |
00002d00  69 74 73 20 70 6c 61 63  65 20 69 6e 20 74 68 65  |its place in the|
00002d10  20 61 66 66 69 6e 65 20  66 75 6e 63 74 69 6f 6e  | affine function|
00002d20  2c 20 6e 6f 74 0a 61 73  20 61 2c 62 2c 63 2e 2e  |, not.as a,b,c..|
00002d30  2e 20 61 73 20 73 68 6f  77 6e 20 69 6e 20 73 6f  |. as shown in so|
00002d40  6d 65 20 70 72 6f 67 72  61 6d 73 2c 20 73 6f 20  |me programs, so |
00002d50  62 65 20 63 61 72 65 66  75 6c 20 77 68 65 6e 20  |be careful when |
00002d60  70 6f 72 74 69 6e 67 20  76 61 6c 75 65 73 2e 0a  |porting values..|
00002d70  54 68 65 20 73 75 6d 20  6f 66 20 74 68 65 20 70  |The sum of the p|
00002d80  72 6f 62 61 62 69 6c 74  69 65 73 20 6d 75 73 74  |robabilties must|
00002d90  20 62 65 20 3e 3d 31 2e  20 49 66 20 6e 6f 74 2c  | be >=1. If not,|
00002da0  20 61 6e 20 65 78 74 72  61 20 6e 75 6c 6c 0a 74  | an extra null.t|
00002db0  72 61 6e 73 66 6f 72 6d  61 74 69 6f 6e 20 69 73  |ransformation is|
00002dc0  20 61 64 64 65 64 2e 20  54 6f 20 6d 6f 76 65 20  | added. To move |
00002dd0  61 72 6f 75 6e 64 20 74  68 65 20 67 72 69 64 20  |around the grid |
00002de0  75 73 65 20 21 46 72 61  63 74 61 6c 27 73 20 73  |use !Fractal's s|
00002df0  74 61 6e 64 61 72 64 0a  65 64 69 74 69 6e 67 20  |tandard.editing |
00002e00  6b 65 79 73 2e 20 4e 75  6d 62 65 72 73 20 6d 61  |keys. Numbers ma|
00002e10  79 20 62 65 20 65 6e 74  65 72 65 64 20 69 6e 20  |y be entered in |
00002e20  73 63 69 65 6e 74 69 66  69 63 20 66 6f 72 6d 61  |scientific forma|
00002e30  74 2e 20 52 65 6d 65 6d  62 65 72 20 74 6f 20 63  |t. Remember to c|
00002e40  6c 69 63 6b 0a 49 6e 70  75 74 20 6f 72 20 52 65  |lick.Input or Re|
00002e50  2d 64 72 61 77 20 61 66  74 65 72 77 61 72 64 73  |-draw afterwards|
00002e60  20 74 6f 20 67 65 74 20  74 68 65 20 6e 65 77 20  | to get the new |
00002e70  76 61 6c 75 65 73 20 70  72 6f 63 65 73 73 65 64  |values processed|
00002e80  2e 0a 0a 4c 69 73 74 3a  20 73 68 6f 77 73 20 61  |...List: shows a|
00002e90  20 70 61 6e 65 6c 20 6c  69 73 74 69 6e 67 20 61  | panel listing a|
00002ea0  6c 6c 20 74 68 65 20 69  6e 74 65 72 6e 61 6c 20  |ll the internal |
00002eb0  49 46 53 20 66 75 6e 63  74 69 6f 6e 73 20 61 76  |IFS functions av|
00002ec0  61 69 6c 61 62 6c 65 2e  20 43 6c 69 63 6b 0a 6f  |ailable. Click.o|
00002ed0  76 65 72 20 61 20 6e 61  6d 65 20 74 6f 20 6d 61  |ver a name to ma|
00002ee0  6b 65 20 69 74 20 74 68  65 20 63 75 72 72 65 6e  |ke it the curren|
00002ef0  74 20 6f 6e 65 2e 20 4d  6f 73 74 20 6f 66 20 74  |t one. Most of t|
00002f00  68 65 73 65 20 63 61 6d  65 20 66 72 6f 6d 20 46  |hese came from F|
00002f10  72 61 63 74 69 6e 74 2c  20 73 6f 0a 73 65 65 20  |ractint, so.see |
00002f20  74 68 65 72 65 20 66 6f  72 20 63 72 65 64 69 74  |there for credit|
00002f30  73 2e 0a 0a 53 61 76 65  3a 20 61 6c 6c 6f 77 73  |s...Save: allows|
00002f40  20 74 68 65 20 69 6e 74  65 72 6e 61 6c 20 49 46  | the internal IF|
00002f50  53 20 66 69 6c 65 20 74  6f 20 62 65 20 73 61 76  |S file to be sav|
00002f60  65 64 20 61 73 20 61 20  74 65 78 74 20 66 69 6c  |ed as a text fil|
00002f70  65 2e 20 53 61 76 65 64  20 66 69 6c 65 73 0a 63  |e. Saved files.c|
00002f80  61 6e 20 62 65 20 72 65  2d 6c 6f 61 64 65 64 20  |an be re-loaded |
00002f90  62 79 20 64 72 61 67 67  69 6e 67 20 6f 6e 74 6f  |by dragging onto|
00002fa0  20 74 68 65 20 21 46 72  61 63 74 61 6c 20 69 63  | the !Fractal ic|
00002fb0  6f 6e 20 6f 72 20 77 69  6e 64 6f 77 2e 20 50 6c  |on or window. Pl|
00002fc0  65 61 73 65 20 73 65 6e  64 0a 69 6e 20 65 78 63  |ease send.in exc|
00002fd0  69 74 69 6e 67 20 6e 65  77 20 49 46 53 20 66 75  |iting new IFS fu|
00002fe0  6e 63 74 69 6f 6e 73 20  74 6f 20 41 46 47 20 73  |nctions to AFG s|
00002ff0  6f 20 74 68 61 74 20 77  65 20 6d 61 79 20 61 6c  |o that we may al|
00003000  6c 20 73 65 65 20 74 68  65 6d 2e 0a 0a 41 6c 67  |l see them...Alg|
00003010  6f 72 69 74 68 6d 0a 2d  2d 2d 2d 2d 2d 2d 2d 2d  |orithm.---------|
00003020  0a 54 68 65 20 61 6c 67  6f 72 69 74 68 6d 20 74  |.The algorithm t|
00003030  6f 20 67 65 6e 65 72 61  74 65 20 65 61 63 68 20  |o generate each |
00003040  70 6f 69 6e 74 20 69 73  20 65 73 73 65 6e 74 69  |point is essenti|
00003050  61 6c 20 61 73 20 73 68  6f 77 6e 20 6f 6e 20 74  |al as shown on t|
00003060  68 65 20 69 6e 70 75 74  20 70 61 6e 65 6c 2c 0a  |he input panel,.|
00003070  69 65 3a 0a 0a 20 20 20  20 20 72 3d 72 61 6e 64  |ie:..     r=rand|
00003080  6f 6d 20 6e 75 6d 62 65  72 20 66 72 6f 6d 20 30  |om number from 0|
00003090  20 74 6f 20 31 0a 20 20  20 20 20 73 65 6c 65 63  | to 1.     selec|
000030a0  74 20 61 66 66 69 6e 65  20 74 72 61 6e 73 66 6f  |t affine transfo|
000030b0  72 6d 61 74 69 6f 6e 20  77 68 6f 73 65 20 70 72  |rmation whose pr|
000030c0  6f 62 61 62 69 6c 69 74  79 20 73 75 6d 20 69 73  |obability sum is|
000030d0  20 6a 75 73 74 20 6c 65  73 73 20 74 68 61 6e 20  | just less than |
000030e0  72 0a 20 20 20 20 20 78  3d 61 2a 78 2b 62 2a 79  |r.     x=a*x+b*y|
000030f0  2b 63 0a 20 20 20 20 20  79 3d 64 2a 78 2b 65 2a  |+c.     y=d*x+e*|
00003100  79 2b 66 0a 20 20 20 20  20 70 6c 6f 74 20 78 2c  |y+f.     plot x,|
00003110  79 0a 0a 77 68 65 72 65  20 61 2e 2e 66 20 72 65  |y..where a..f re|
00003120  66 65 72 20 74 6f 20 74  68 65 20 63 6f 6c 75 6d  |fer to the colum|
00003130  6e 73 20 69 6e 20 74 68  65 20 64 61 74 61 20 69  |ns in the data i|
00003140  6e 70 75 74 20 70 61 6e  65 6c 20 6c 65 66 74 20  |nput panel left |
00003150  74 6f 20 72 69 67 68 74  2e 0a 0a 2d 2d 2d 2d 2d  |to right...-----|
00003160  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000031a0  2d 2d 2d 2d 2d 0a 0a 4a  75 6c 69 61 20 53 65 74  |-----..Julia Set|
000031b0  0a 2d 2d 2d 2d 2d 2d 2d  2d 2d 0a 50 6c 6f 74 73  |.---------.Plots|
000031c0  20 74 68 65 20 4a 75 6c  69 61 20 73 65 74 20 63  | the Julia set c|
000031d0  6f 72 72 65 73 70 6f 6e  64 69 6e 67 20 74 6f 20  |orresponding to |
000031e0  74 68 65 20 65 71 75 69  76 61 6c 65 6e 74 20 4d  |the equivalent M|
000031f0  61 6e 64 65 6c 62 72 6f  74 20 66 75 6e 63 74 69  |andelbrot functi|
00003200  6f 6e 2e 0a 54 68 65 20  69 6e 69 74 69 61 6c 20  |on..The initial |
00003210  7a 6f 6f 6d 20 75 73 65  73 20 69 6e 74 65 67 65  |zoom uses intege|
00003220  72 20 6d 61 74 68 73 2c  20 74 68 65 6e 20 72 65  |r maths, then re|
00003230  76 65 72 74 73 20 74 6f  20 74 6f 20 61 20 72 61  |verts to to a ra|
00003240  74 68 65 72 20 73 6c 6f  77 65 72 0a 66 6c 6f 61  |ther slower.floa|
00003250  74 69 6e 67 20 70 6f 69  6e 74 2e 20 46 72 6f 6d  |ting point. From|
00003260  20 74 68 65 20 6d 65 6e  75 20 79 6f 75 20 63 61  | the menu you ca|
00003270  6e 20 73 77 69 74 63 68  20 74 6f 20 74 68 65 20  |n switch to the |
00003280  65 71 75 69 76 61 6c 65  6e 74 20 4d 61 6e 64 65  |equivalent Mande|
00003290  6c 62 72 6f 74 20 2d 0a  74 68 65 20 63 75 72 72  |lbrot -.the curr|
000032a0  65 6e 74 20 52 65 61 6c  20 61 6e 64 20 49 6d 61  |ent Real and Ima|
000032b0  67 69 6e 61 72 79 20 76  61 6c 75 65 73 20 61 72  |ginary values ar|
000032c0  65 20 75 73 65 64 20 74  6f 20 73 65 74 20 74 68  |e used to set th|
000032d0  65 20 4d 61 6e 64 65 6c  62 72 6f 74 20 78 20 26  |e Mandelbrot x &|
000032e0  20 79 0a 76 61 6c 75 65  20 66 6f 72 20 74 68 65  | y.value for the|
000032f0  20 63 65 6e 74 72 65 20  6f 66 20 74 68 65 20 69  | centre of the i|
00003300  6d 61 67 65 2e 20 4f 74  68 65 72 20 6f 70 74 69  |mage. Other opti|
00003310  6f 6e 73 20 61 72 65 20  61 73 20 64 65 73 63 72  |ons are as descr|
00003320  69 62 65 64 20 75 6e 64  65 72 0a 4d 61 6e 64 65  |ibed under.Mande|
00003330  6c 62 72 6f 74 2e 0a 0a  49 74 20 69 73 20 75 73  |lbrot...It is us|
00003340  75 61 6c 6c 79 20 62 65  73 74 20 74 6f 20 73 65  |ually best to se|
00003350  6c 65 63 74 20 61 20 4a  75 6c 69 61 20 66 72 6f  |lect a Julia fro|
00003360  6d 20 74 68 65 20 65 71  75 69 76 61 6c 65 6e 74  |m the equivalent|
00003370  20 4d 61 6e 64 65 6c 62  72 6f 74 20 64 69 73 70  | Mandelbrot disp|
00003380  6c 61 79 2e 0a 54 72 79  69 6e 67 20 74 6f 20 73  |lay..Trying to s|
00003390  65 74 20 63 52 65 61 6c  20 61 6e 64 20 63 49 6d  |et cReal and cIm|
000033a0  61 67 69 6e 61 72 79 20  6f 74 68 65 72 77 69 73  |aginary otherwis|
000033b0  65 20 63 61 6e 20 62 65  20 61 20 73 6c 6f 77 20  |e can be a slow |
000033c0  70 72 6f 63 65 73 73 20  74 6f 20 67 65 74 0a 72  |process to get.r|
000033d0  65 61 73 6f 6e 61 62 6c  65 20 72 65 73 75 6c 74  |easonable result|
000033e0  73 2e 20 57 68 65 6e 20  73 77 69 74 63 68 69 6e  |s. When switchin|
000033f0  67 20 74 6f 20 74 68 65  20 51 75 61 74 65 72 6e  |g to the Quatern|
00003400  69 6f 6e 20 73 65 74 2c  20 51 75 61 74 65 72 6e  |ion set, Quatern|
00003410  69 6f 6e 20 71 30 20 69  73 0a 73 65 74 20 74 6f  |ion q0 is.set to|
00003420  20 63 52 65 61 6c 20 26  20 71 32 20 74 6f 20 63  | cReal & q2 to c|
00003430  49 6d 61 67 69 6e 61 72  79 2e 0a 0a 57 68 65 6e  |Imaginary...When|
00003440  20 75 73 69 6e 67 20 66  75 6e 63 74 69 6f 6e 73  | using functions|
00003450  20 6f 74 68 65 72 20 74  68 61 6e 20 53 71 75 61  | other than Squa|
00003460  72 65 2c 20 66 6c 6f 61  74 69 6e 67 20 70 6f 69  |re, floating poi|
00003470  6e 74 20 69 73 20 75 73  65 64 20 6d 75 63 68 20  |nt is used much |
00003480  73 6f 6f 6e 65 72 0a 73  6f 20 61 73 20 74 6f 20  |sooner.so as to |
00003490  6d 61 69 6e 74 61 69 6e  20 61 63 63 75 72 61 63  |maintain accurac|
000034a0  79 2e 0a 0a 41 6c 67 6f  72 69 74 68 6d 3a 20 74  |y...Algorithm: t|
000034b0  68 65 20 4a 75 6c 69 61  20 61 6c 67 6f 72 69 74  |he Julia algorit|
000034c0  68 6d 20 69 73 20 65 73  73 65 6e 74 69 61 6c 6c  |hm is essentiall|
000034d0  79 20 74 68 65 20 73 61  6d 65 20 61 73 20 66 6f  |y the same as fo|
000034e0  72 20 4d 61 6e 64 65 6c  62 72 6f 74 2c 0a 62 75  |r Mandelbrot,.bu|
000034f0  74 20 77 69 74 68 20 61  20 64 69 66 66 65 72 65  |t with a differe|
00003500  6e 74 20 73 74 61 72 74  20 70 6f 69 6e 74 2c 20  |nt start point, |
00003510  6e 61 6d 65 6c 79 3a 0a  0a 20 20 20 20 75 3d 78  |namely:..    u=x|
00003520  0a 20 20 20 20 76 3d 79  0a 20 20 20 20 78 3d 63  |.    v=y.    x=c|
00003530  52 65 61 6c 0a 20 20 20  20 79 3d 63 49 6d 61 67  |Real.    y=cImag|
00003540  69 6e 61 72 79 0a 0a 2d  2d 2d 2d 2d 2d 2d 2d 2d  |inary..---------|
00003550  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00003590  2d 0a 0a 4c 2d 53 79 73  74 65 6d 20 3a 20 54 75  |-..L-System : Tu|
000035a0  72 74 6c 65 20 67 72 61  70 68 69 63 73 20 61 73  |rtle graphics as|
000035b0  20 75 73 65 64 20 66 6f  72 20 64 72 61 77 69 6e  | used for drawin|
000035c0  67 20 70 6c 61 6e 74 73  20 65 74 63 2e 0a 2d 2d  |g plants etc..--|
000035d0  2d 2d 2d 2d 2d 2d 0a 54  68 65 20 4c 2d 73 79 73  |------.The L-sys|
000035e0  74 65 6d 20 75 73 65 73  20 61 20 4c 4f 47 4f 20  |tem uses a LOGO |
000035f0  6c 69 6b 65 20 74 75 72  74 6c 65 20 6c 61 6e 67  |like turtle lang|
00003600  75 61 67 65 20 74 6f 20  64 65 73 63 72 69 62 65  |uage to describe|
00003610  20 73 68 61 70 65 73 20  61 73 20 61 20 73 65 72  | shapes as a ser|
00003620  69 65 73 0a 6f 66 20 6d  6f 76 65 6d 65 6e 74 73  |ies.of movements|
00003630  2c 20 61 6e 64 20 77 61  73 20 69 6e 74 72 6f 64  |, and was introd|
00003640  75 63 65 64 20 62 79 20  41 2e 20 4c 69 6e 64 65  |uced by A. Linde|
00003650  6e 6d 61 79 65 72 20 74  6f 20 68 65 6c 70 20 64  |nmayer to help d|
00003660  65 73 63 72 69 62 65 20  70 6c 61 6e 74 73 2e 0a  |escribe plants..|
00003670  52 65 66 65 72 20 74 6f  20 74 68 65 20 62 6f 6f  |Refer to the boo|
00003680  6b 20 54 68 65 20 41 6c  67 6f 72 69 74 68 6d 69  |k The Algorithmi|
00003690  63 20 42 65 61 75 74 79  20 6f 66 20 50 6c 61 6e  |c Beauty of Plan|
000036a0  74 73 20 66 6f 72 20 66  75 6c 6c 20 64 65 74 61  |ts for full deta|
000036b0  69 6c 73 20 6f 66 20 74  68 65 0a 77 6f 72 6b 20  |ils of the.work |
000036c0  62 79 20 50 72 75 73 69  6e 6b 69 65 77 69 63 7a  |by Prusinkiewicz|
000036d0  20 61 6e 64 20 4c 69 6e  64 65 6e 6d 61 79 65 72  | and Lindenmayer|
000036e0  2e 20 55 70 20 74 6f 20  38 30 20 64 65 66 69 6e  |. Up to 80 defin|
000036f0  69 74 69 6f 6e 73 20 61  72 65 20 73 74 6f 72 65  |itions are store|
00003700  64 0a 69 6e 74 65 72 6e  61 6c 6c 79 20 77 68 69  |d.internally whi|
00003710  63 68 20 63 61 6e 20 62  65 20 73 61 76 65 64 20  |ch can be saved |
00003720  61 73 20 61 20 74 65 78  74 20 66 69 6c 65 2c 20  |as a text file, |
00003730  6f 72 20 61 20 6e 65 77  20 66 69 6c 65 20 6d 61  |or a new file ma|
00003740  79 20 62 65 20 6c 6f 61  64 65 64 2e 0a 45 61 63  |y be loaded..Eac|
00003750  68 20 73 68 61 70 65 20  64 65 66 69 6e 69 74 69  |h shape definiti|
00003760  6f 6e 20 69 73 20 6d 61  64 65 20 75 70 20 6f 66  |on is made up of|
00003770  20 74 68 65 20 66 6f 6c  6c 6f 77 69 6e 67 20 63  | the following c|
00003780  6f 6d 70 6f 6e 65 6e 74  73 3a 0a 0a 4e 61 6d 65  |omponents:..Name|
00003790  3a 20 31 2d 31 39 20 63  68 61 72 61 63 74 65 72  |: 1-19 character|
000037a0  20 6e 61 6d 65 20 66 6f  72 20 69 64 65 6e 74 69  | name for identi|
000037b0  66 69 63 61 74 69 6f 6e  2e 0a 0a 49 74 65 72 61  |fication...Itera|
000037c0  74 69 6f 6e 73 3a 20 74  68 65 20 6e 75 6d 62 65  |tions: the numbe|
000037d0  72 20 6f 66 20 74 69 6d  65 73 20 74 68 65 20 61  |r of times the a|
000037e0  6c 67 6f 72 69 74 68 6d  20 69 73 20 72 65 63 75  |lgorithm is recu|
000037f0  72 73 69 76 65 6c 79 20  65 78 70 61 6e 64 65 64  |rsively expanded|
00003800  2e 0a 0a 41 6e 67 6c 65  73 3a 20 52 61 74 68 65  |...Angles: Rathe|
00003810  72 20 74 68 61 6e 20 64  65 73 63 72 69 62 69 6e  |r than describin|
00003820  67 20 74 68 65 20 61 6d  6f 75 6e 74 20 6f 66 20  |g the amount of |
00003830  65 61 63 68 20 74 75 72  6e 20 61 73 20 73 6f 20  |each turn as so |
00003840  6d 61 6e 79 20 64 65 67  72 65 65 73 2c 0a 65 61  |many degrees,.ea|
00003850  63 68 20 74 75 72 6e 20  69 73 20 65 78 70 72 65  |ch turn is expre|
00003860  73 73 65 64 20 61 73 20  61 20 66 72 61 63 74 69  |ssed as a fracti|
00003870  6f 6e 20 6f 66 20 61 20  63 69 72 63 6c 65 2e 20  |on of a circle. |
00003880  54 68 75 73 20 36 3d 36  30 b0 20 28 33 36 30 b0  |Thus 6=60. (360.|
00003890  2f 36 29 2e 20 54 68 65  0a 6e 75 6d 62 65 72 20  |/6). The.number |
000038a0  73 68 6f 75 6c 64 20 62  65 20 65 76 65 6e 20 69  |should be even i|
000038b0  66 20 79 6f 75 20 70 6c  61 6e 20 74 6f 20 75 73  |f you plan to us|
000038c0  65 20 74 68 65 20 27 7c  27 20 63 6f 6d 6d 61 6e  |e the '|' comman|
000038d0  64 20 74 6f 20 61 6c 6c  6f 77 20 74 75 72 6e 73  |d to allow turns|
000038e0  20 6f 66 0a 31 38 30 b0  2e 0a 0a 41 78 69 6f 6d  | of.180....Axiom|
000038f0  3a 20 61 20 73 74 72 69  6e 67 20 6f 66 20 31 2d  |: a string of 1-|
00003900  33 31 20 63 68 61 72 61  63 74 65 72 73 20 69 6e  |31 characters in|
00003910  63 6f 72 70 6f 72 61 74  69 6e 67 20 74 75 72 74  |corporating turt|
00003920  6c 65 20 63 6f 6d 6d 61  6e 64 73 20 61 6e 64 20  |le commands and |
00003930  72 75 6c 65 73 2e 0a 0a  52 75 6c 65 73 3a 20 61  |rules...Rules: a|
00003940  20 73 69 6e 67 6c 65 20  6c 65 74 74 65 72 20 69  | single letter i|
00003950  64 65 6e 74 69 66 69 65  72 20 61 6e 64 20 30 2d  |dentifier and 0-|
00003960  37 39 20 63 68 61 72 61  63 74 65 72 73 20 63 6f  |79 characters co|
00003970  6e 73 69 73 74 69 6e 67  20 6f 66 20 66 75 72 74  |nsisting of furt|
00003980  68 65 72 0a 72 75 6c 65  73 20 6f 72 20 74 75 72  |her.rules or tur|
00003990  74 6c 65 20 63 6f 6d 6d  61 6e 64 73 2e 20 4e 6f  |tle commands. No|
000039a0  74 65 20 74 68 61 74 20  74 68 65 20 63 61 73 65  |te that the case|
000039b0  20 6f 66 20 6c 65 74 74  65 72 73 20 69 73 20 73  | of letters is s|
000039c0  69 67 6e 69 66 69 63 61  6e 74 2e 0a 0a 54 68 65  |ignificant...The|
000039d0  20 72 6f 75 74 69 6e 65  20 73 74 61 72 74 73 20  | routine starts |
000039e0  62 79 20 74 61 6b 69 6e  67 20 74 68 65 20 61 78  |by taking the ax|
000039f0  69 6f 6d 20 73 74 72 69  6e 67 20 61 6e 64 20 74  |iom string and t|
00003a00  68 65 6e 20 72 65 70 6c  61 63 65 73 20 65 61 63  |hen replaces eac|
00003a10  68 20 72 75 6c 65 0a 63  68 61 72 61 63 74 65 72  |h rule.character|
00003a20  20 69 6e 20 69 74 20 62  79 20 74 68 65 20 65 71  | in it by the eq|
00003a30  75 69 76 61 6c 65 6e 74  20 72 75 6c 65 20 73 74  |uivalent rule st|
00003a40  72 69 6e 67 2e 20 54 68  69 73 20 70 72 6f 63 65  |ring. This proce|
00003a50  73 73 20 69 73 20 72 65  70 65 61 74 65 64 0a 66  |ss is repeated.f|
00003a60  6f 72 20 74 68 65 20 6e  75 6d 62 65 72 20 6f 66  |or the number of|
00003a70  20 69 74 65 72 61 74 69  6f 6e 73 20 73 70 65 63  | iterations spec|
00003a80  69 66 69 65 64 2e 0a 0a  54 68 75 73 20 69 66 20  |ified...Thus if |
00003a90  74 68 65 20 61 78 69 6f  6d 20 69 73 20 46 2d 46  |the axiom is F-F|
00003aa0  2b 2b 46 2d 46 2c 20 61  66 74 65 72 20 74 68 65  |++F-F, after the|
00003ab0  20 66 69 72 73 74 20 65  78 70 61 6e 73 69 6f 6e  | first expansion|
00003ac0  20 77 65 20 67 65 74 20  3a 0a 20 20 46 2d 46 2b  | we get :.  F-F+|
00003ad0  2b 46 2d 46 2d 46 2d 46  2b 2b 46 2d 46 2b 2b 46  |+F-F-F-F++F-F++F|
00003ae0  2d 46 2b 2b 46 2d 46 2d  46 2d 46 2b 2b 46 2d 46  |-F++F-F-F-F++F-F|
00003af0  0a 54 68 65 20 73 74 72  69 6e 67 20 69 73 20 69  |.The string is i|
00003b00  6e 20 74 68 65 6e 20 69  6e 74 65 72 70 72 65 74  |n then interpret|
00003b10  65 64 20 61 73 20 61 20  73 65 72 69 65 73 20 6f  |ed as a series o|
00003b20  66 20 74 75 72 74 6c 65  20 63 6f 6d 6d 61 6e 64  |f turtle command|
00003b30  73 2c 20 61 6e 79 20 72  75 6c 65 0a 63 68 61 72  |s, any rule.char|
00003b40  61 63 74 65 72 73 20 62  65 69 6e 67 20 69 67 6e  |acters being ign|
00003b50  6f 72 65 64 2e 20 0a 0a  54 68 65 20 6b 65 79 20  |ored. ..The key |
00003b60  74 6f 20 74 68 65 20 72  6f 75 74 69 6e 65 20 69  |to the routine i|
00003b70  73 20 74 68 69 73 20 72  65 63 75 72 73 69 76 65  |s this recursive|
00003b80  20 65 78 70 61 6e 73 69  6f 6e 2c 20 61 6e 64 20  | expansion, and |
00003b90  6f 66 74 65 6e 20 74 68  65 20 75 73 65 20 6f 66  |often the use of|
00003ba0  0a 46 20 61 73 20 61 20  72 75 6c 65 20 61 6e 64  |.F as a rule and|
00003bb0  20 74 75 72 74 6c 65 20  63 6f 6d 6d 61 6e 64 20  | turtle command |
00003bc0  28 77 68 69 63 68 20 69  73 20 73 6f 6d 65 77 68  |(which is somewh|
00003bd0  61 74 20 63 6f 6e 66 75  73 69 6e 67 20 49 20 61  |at confusing I a|
00003be0  64 6d 69 74 2c 20 62 75  74 0a 76 65 72 79 20 69  |dmit, but.very i|
00003bf0  6d 70 6f 72 74 61 6e 74  29 2e 0a 0a 44 72 61 77  |mportant)...Draw|
00003c00  69 6e 67 0a 2d 2d 2d 2d  2d 2d 2d 0a 42 65 63 61  |ing.-------.Beca|
00003c10  75 73 65 20 74 68 65 20  72 65 73 75 6c 74 69 6e  |use the resultin|
00003c20  67 20 73 69 7a 65 20 6f  66 20 74 68 65 20 69 6d  |g size of the im|
00003c30  61 67 65 20 69 73 20 75  6e 6b 6e 6f 77 6e 20 61  |age is unknown a|
00003c40  74 20 74 68 65 20 6f 75  74 73 65 74 2c 20 74 68  |t the outset, th|
00003c50  65 20 70 6c 6f 74 0a 68  61 73 20 74 6f 20 62 65  |e plot.has to be|
00003c60  20 72 65 70 65 61 74 65  64 2c 20 77 69 74 68 20  | repeated, with |
00003c70  74 68 65 20 69 6d 61 67  65 20 62 65 69 6e 67 20  |the image being |
00003c80  63 6f 72 72 65 63 74 6c  79 20 73 63 61 6c 65 64  |correctly scaled|
00003c90  20 74 6f 20 66 69 74 20  6f 6e 20 74 68 65 0a 73  | to fit on the.s|
00003ca0  63 72 65 65 6e 20 6f 6e  20 74 68 65 20 73 65 63  |creen on the sec|
00003cb0  6f 6e 64 20 70 61 73 73  2e 20 48 6f 77 65 76 65  |ond pass. Howeve|
00003cc0  72 20 79 6f 75 20 63 61  6e 20 75 73 65 20 7a 6f  |r you can use zo|
00003cd0  6f 6d 69 6e 67 2c 20 69  6e 20 77 68 69 63 68 20  |oming, in which |
00003ce0  63 61 73 65 20 6f 6e 6c  79 20 61 0a 73 69 6e 67  |case only a.sing|
00003cf0  6c 65 20 70 6c 6f 74 20  69 73 20 70 65 72 66 6f  |le plot is perfo|
00003d00  72 6d 65 64 2e 0a 0a 55  73 65 20 41 64 6a 75 73  |rmed...Use Adjus|
00003d10  74 20 74 6f 20 73 74 6f  70 20 61 20 70 6c 6f 74  |t to stop a plot|
00003d20  2e 20 4e 6f 74 65 20 74  68 61 74 20 63 75 72 72  |. Note that curr|
00003d30  65 6e 74 6c 79 20 69 74  20 69 73 20 6e 6f 74 20  |ently it is not |
00003d40  70 6f 73 73 69 62 6c 65  20 74 6f 20 72 65 73 74  |possible to rest|
00003d50  61 72 74 0a 61 20 70 6c  6f 74 20 61 66 74 65 72  |art.a plot after|
00003d60  20 41 64 6a 75 73 74 20  69 73 20 70 72 65 73 73  | Adjust is press|
00003d70  65 64 2e 20 59 6f 75 20  61 72 65 20 61 64 76 69  |ed. You are advi|
00003d80  73 65 64 20 74 6f 20 73  74 61 72 74 20 61 74 20  |sed to start at |
00003d90  6c 6f 77 20 69 74 65 72  61 74 69 6f 6e 73 0a 61  |low iterations.a|
00003da0  6e 64 20 77 6f 72 6b 20  75 70 2e 0a 0a 42 61 73  |nd work up...Bas|
00003db0  69 63 20 54 75 72 74 6c  65 20 43 6f 6d 6d 61 6e  |ic Turtle Comman|
00003dc0  64 73 0a 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |ds.-------------|
00003dd0  2d 2d 2d 2d 2d 2d 2d 2d  0a 54 68 65 20 63 68 61  |--------.The cha|
00003de0  72 61 63 74 65 72 73 20  75 73 65 64 20 61 72 65  |racters used are|
00003df0  20 74 68 6f 73 65 20 69  6e 20 73 74 61 6e 64 61  | those in standa|
00003e00  72 64 20 75 73 65 2e 20  4e 6f 74 65 20 74 68 61  |rd use. Note tha|
00003e10  74 20 27 46 27 20 69 73  20 64 69 66 66 65 72 65  |t 'F' is differe|
00003e20  6e 74 0a 66 72 6f 6d 20  27 66 27 2e 20 28 46 72  |nt.from 'f'. (Fr|
00003e30  61 63 74 69 6e 74 20 75  73 65 73 20 27 47 27 20  |actint uses 'G' |
00003e40  66 6f 72 20 27 66 27 20  73 69 6e 63 65 20 69 74  |for 'f' since it|
00003e50  20 69 73 20 63 61 73 65  20 69 6e 73 65 6e 73 69  | is case insensi|
00003e60  74 69 76 65 29 2e 0a 0a  46 20 3a 20 64 72 61 77  |tive)...F : draw|
00003e70  20 61 20 6c 69 6e 65 20  66 6f 72 77 61 72 64 73  | a line forwards|
00003e80  20 69 6e 20 74 68 65 20  63 75 72 72 65 6e 74 20  | in the current |
00003e90  64 69 72 65 63 74 69 6f  6e 2e 0a 44 20 3a 20 73  |direction..D : s|
00003ea0  61 6d 65 20 61 73 20 46  2c 20 69 65 2e 20 64 72  |ame as F, ie. dr|
00003eb0  61 77 20 61 20 6c 69 6e  65 20 66 6f 72 77 61 72  |aw a line forwar|
00003ec0  64 73 2e 0a 66 20 3a 20  6d 6f 76 65 20 66 6f 72  |ds..f : move for|
00003ed0  77 61 72 64 73 20 77 69  74 68 6f 75 74 20 64 72  |wards without dr|
00003ee0  61 77 69 6e 67 20 61 20  6c 69 6e 65 2e 0a 2d 20  |awing a line..- |
00003ef0  3a 20 74 75 72 6e 20 61  6e 74 69 2d 63 6c 6f 63  |: turn anti-cloc|
00003f00  6b 77 69 73 65 20 31 20  61 6e 67 6c 65 20 28 73  |kwise 1 angle (s|
00003f10  65 65 20 64 65 66 69 6e  69 74 69 6f 6e 20 6f 66  |ee definition of|
00003f20  20 61 6e 67 6c 65 20 61  62 6f 76 65 29 2e 0a 2b  | angle above)..+|
00003f30  20 3a 20 74 75 72 6e 20  63 6c 6f 63 6b 77 69 73  | : turn clockwis|
00003f40  65 20 31 20 61 6e 67 6c  65 2e 0a 7c 20 3a 20 74  |e 1 angle..| : t|
00003f50  75 72 6e 20 31 38 30 b0  2e 20 4e 6f 74 65 20 2d  |urn 180.. Note -|
00003f60  20 61 6e 67 6c 65 20 6d  75 73 74 20 62 65 20 65  | angle must be e|
00003f70  76 65 6e 20 66 6f 72 20  74 68 69 73 20 74 6f 20  |ven for this to |
00003f80  77 6f 72 6b 20 63 6f 72  72 65 63 74 6c 79 2e 0a  |work correctly..|
00003f90  0a 41 64 76 61 6e 63 65  64 20 54 75 72 74 6c 65  |.Advanced Turtle|
00003fa0  20 43 6f 6d 6d 61 6e 64  73 0a 2d 2d 2d 2d 2d 2d  | Commands.------|
00003fb0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00003fc0  2d 2d 0a 54 6f 20 67 65  74 20 6d 6f 72 65 20 63  |--.To get more c|
00003fd0  6f 6d 70 6c 65 78 20 64  69 73 70 6c 61 79 73 20  |omplex displays |
00003fe0  72 65 71 75 69 72 65 73  20 74 68 65 20 75 73 65  |requires the use|
00003ff0  20 6f 66 20 6f 6e 65 20  6f 72 20 6d 6f 72 65 20  | of one or more |
00004000  74 68 65 73 65 20 63 6f  6d 6d 61 6e 64 73 2e 0a  |these commands..|
00004010  0a 5b 20 20 3a 20 73 74  61 63 6b 20 74 68 65 20  |.[  : stack the |
00004020  63 75 72 72 65 6e 74 20  70 6f 73 69 74 69 6f 6e  |current position|
00004030  2c 20 61 6e 67 6c 65 2c  20 6c 69 6e 65 20 6c 65  |, angle, line le|
00004040  6e 67 74 68 2c 20 77 69  64 74 68 20 61 6e 64 20  |ngth, width and |
00004050  63 6f 6c 6f 75 72 2e 0a  5d 20 20 3a 20 75 6e 73  |colour..]  : uns|
00004060  74 61 63 6b 20 74 68 65  20 74 75 72 74 6c 65 20  |tack the turtle |
00004070  64 65 74 61 69 6c 73 2e  0a 21 20 20 3a 20 72 65  |details..!  : re|
00004080  76 65 72 73 65 20 6d 65  61 6e 69 6e 67 20 6f 66  |verse meaning of|
00004090  20 27 2b 27 20 61 6e 64  20 27 2d 27 2e 0a 3e 6e  | '+' and '-'..>n|
000040a0  20 3a 20 69 6e 63 72 65  6d 65 6e 74 20 63 6f 6c  | : increment col|
000040b0  6f 75 72 20 62 79 20 6e  20 77 68 65 72 65 20 6e  |our by n where n|
000040c0  20 69 73 20 6f 6e 65 20  6f 72 20 6d 6f 72 65 20  | is one or more |
000040d0  64 69 67 69 74 73 2e 0a  3c 6e 20 3a 20 64 65 63  |digits..<n : dec|
000040e0  72 65 6d 65 6e 74 20 63  6f 6c 6f 75 72 20 62 79  |rement colour by|
000040f0  20 6e 2e 0a 40 6e 20 3a  20 6d 75 6c 74 69 70 6c  | n..@n : multipl|
00004100  79 20 74 68 65 20 6c 69  6e 65 20 6c 65 6e 67 74  |y the line lengt|
00004110  68 20 62 79 20 6e 2e 20  54 68 65 20 69 6e 69 74  |h by n. The init|
00004120  69 61 6c 20 6c 65 6e 67  74 68 20 69 73 20 31 2e  |ial length is 1.|
00004130  20 27 6e 27 20 69 73 20  31 20 6f 72 0a 20 20 20  | 'n' is 1 or.   |
00004140  20 20 6d 6f 72 65 20 64  65 63 69 6d 61 6c 20 64  |  more decimal d|
00004150  69 67 69 74 73 20 61 6e  64 20 6d 61 79 20 63 6f  |igits and may co|
00004160  6e 74 61 69 6e 20 61 20  64 65 63 69 6d 61 6c 20  |ntain a decimal |
00004170  70 6c 61 63 65 2e 0a 20  20 20 20 20 54 6f 20 64  |place..     To d|
00004180  69 76 69 64 65 20 70 72  65 63 65 64 65 20 74 68  |ivide precede th|
00004190  65 20 6e 75 6d 62 65 72  20 62 79 20 49 20 28 66  |e number by I (f|
000041a0  6f 72 20 69 6e 76 65 72  73 65 29 2e 20 65 67 2e  |or inverse). eg.|
000041b0  20 40 49 33 20 64 69 76  69 64 65 73 20 62 79 20  | @I3 divides by |
000041c0  33 2c 0a 20 20 20 20 20  6f 72 20 75 73 65 20 40  |3,.     or use @|
000041d0  30 2e 33 33 33 2e 20 0a  20 20 20 20 20 50 72 65  |0.333. .     Pre|
000041e0  63 65 64 65 20 74 68 65  20 6e 75 6d 62 65 72 20  |cede the number |
000041f0  62 79 20 27 51 27 20 66  6f 72 20 74 68 65 20 73  |by 'Q' for the s|
00004200  71 75 61 72 65 20 72 6f  6f 74 2c 20 65 67 2e 20  |quare root, eg. |
00004210  40 51 32 20 3d 20 6c 65  6e 67 74 68 20 2a 20 31  |@Q2 = length * 1|
00004220  2e 34 31 34 0a 23 6e 20  3a 20 4d 75 6c 74 69 70  |.414.#n : Multip|
00004230  6c 79 20 74 68 65 20 6c  69 6e 65 20 77 69 64 74  |ly the line widt|
00004240  68 20 62 79 20 6e 20 2d  20 74 68 65 20 69 6e 69  |h by n - the ini|
00004250  74 69 61 6c 20 77 69 64  74 68 20 69 73 20 61 20  |tial width is a |
00004260  73 69 6e 67 6c 65 20 70  69 78 65 6c 2e 0a 20 20  |single pixel..  |
00004270  20 20 20 4e 75 6d 62 65  72 73 20 6d 61 79 20 62  |   Numbers may b|
00004280  65 20 73 70 65 63 69 66  69 65 64 20 61 73 20 66  |e specified as f|
00004290  6f 72 20 6c 69 6e 65 20  6c 65 6e 67 74 68 2e 0a  |or line length..|
000042a0  7b 73 70 72 69 74 65 7d  20 3a 20 50 6c 6f 74 73  |{sprite} : Plots|
000042b0  20 61 20 73 70 72 69 74  65 20 6f 66 20 74 68 69  | a sprite of thi|
000042c0  73 20 6e 61 6d 65 20 61  74 20 74 68 65 20 63 75  |s name at the cu|
000042d0  72 72 65 6e 74 20 70 6f  73 69 74 69 6f 6e 20 61  |rrent position a|
000042e0  6e 64 20 72 6f 74 61 74  69 6f 6e 2e 0a 20 20 20  |nd rotation..   |
000042f0  20 20 20 20 20 20 20 20  54 68 65 20 73 70 72 69  |        The spri|
00004300  74 65 20 69 73 20 70 6c  6f 74 74 65 64 20 74 68  |te is plotted th|
00004310  65 20 73 61 6d 65 20 73  69 7a 65 20 61 73 20 74  |e same size as t|
00004320  68 65 20 63 75 72 72 65  6e 74 20 6c 69 6e 65 20  |he current line |
00004330  73 69 7a 65 2e 0a 20 20  20 20 20 20 20 20 20 20  |size..          |
00004340  20 53 65 65 20 62 65 6c  6f 77 20 66 6f 72 20 66  | See below for f|
00004350  75 6c 6c 20 64 65 74 61  69 6c 73 2e 0a 7b 73 70  |ull details..{sp|
00004360  72 69 74 65 2c 6e 7d 20  3a 20 41 73 20 61 62 6f  |rite,n} : As abo|
00004370  76 65 20 62 75 74 20 70  6c 6f 74 73 20 61 74 20  |ve but plots at |
00004380  74 68 65 20 73 63 61 6c  65 20 73 70 65 63 69 66  |the scale specif|
00004390  69 65 64 20 61 73 20 27  6e 27 2e 0a 0a 43 6f 6c  |ied as 'n'...Col|
000043a0  6f 75 72 0a 2d 2d 2d 2d  2d 2d 0a 54 68 65 20 69  |our.------.The i|
000043b0  6e 69 74 69 61 6c 20 63  6f 6c 6f 75 72 20 69 73  |nitial colour is|
000043c0  20 32 35 35 20 28 77 68  69 74 65 29 2e 20 43 6f  | 255 (white). Co|
000043d0  6c 6f 75 72 20 6e 75 6d  62 65 72 73 20 61 72 65  |lour numbers are|
000043e0  20 6d 61 64 65 20 75 70  20 6f 66 20 74 68 65 20  | made up of the |
000043f0  62 69 74 73 0a 42 42 47  47 52 52 54 54 20 77 68  |bits.BBGGRRTT wh|
00004400  65 72 65 20 42 3d 42 6c  75 65 2c 20 47 3d 47 72  |ere B=Blue, G=Gr|
00004410  65 65 6e 2c 20 52 3d 52  65 64 2c 20 61 6e 64 20  |een, R=Red, and |
00004420  54 3d 54 69 6e 74 20 28  61 6d 6f 75 6e 74 20 6f  |T=Tint (amount o|
00004430  66 20 77 68 69 74 65 29  2e 20 54 68 75 73 0a 61  |f white). Thus.a|
00004440  64 64 69 6e 67 20 36 34  20 65 61 63 68 20 74 69  |dding 64 each ti|
00004450  6d 65 20 69 6e 63 72 65  6d 65 6e 74 73 20 74 68  |me increments th|
00004460  65 20 62 6c 75 65 2c 20  31 36 20 74 68 65 20 67  |e blue, 16 the g|
00004470  72 65 65 6e 2c 20 61 6e  64 20 34 20 74 68 65 20  |reen, and 4 the |
00004480  61 6d 6f 75 6e 74 20 6f  66 0a 72 65 64 2e 20 54  |amount of.red. T|
00004490  68 69 73 20 63 6f 6c 6f  75 72 20 73 63 68 65 6d  |his colour schem|
000044a0  65 20 69 73 20 74 68 65  20 73 61 6d 65 20 61 73  |e is the same as|
000044b0  20 42 41 53 49 43 27 73  20 43 4f 4c 4f 55 52 2a  | BASIC's COLOUR*|
000044c0  34 2b 54 49 4e 54 2e 0a  0a 49 66 20 74 68 65 20  |4+TINT...If the |
000044d0  63 6f 6c 6f 75 72 20 65  78 63 65 65 64 73 20 32  |colour exceeds 2|
000044e0  35 35 20 69 74 20 77 72  61 70 73 20 61 72 6f 75  |55 it wraps arou|
000044f0  6e 64 2e 20 54 68 75 73  20 70 75 74 74 69 6e 67  |nd. Thus putting|
00004500  20 3e 31 36 20 69 6e 20  74 68 65 20 61 78 69 6f  | >16 in the axio|
00004510  6d 0a 73 65 74 73 20 74  68 65 20 63 6f 6c 6f 75  |m.sets the colou|
00004520  72 20 74 6f 20 6d 61 78  69 6d 75 6d 20 72 65 64  |r to maximum red|
00004530  20 28 32 35 35 2b 31 36  2d 32 35 36 3d 31 35 29  | (255+16-256=15)|
00004540  2e 0a 0a 4d 65 6e 75 20  4f 70 74 69 6f 6e 73 0a  |...Menu Options.|
00004550  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 0a 54 68 65  |------------.The|
00004560  72 65 20 61 72 65 20 34  20 6d 65 6e 75 20 6f 70  |re are 4 menu op|
00004570  74 69 6f 6e 73 2c 20 70  72 6f 76 69 64 69 6e 67  |tions, providing|
00004580  20 64 61 74 61 20 65 6e  74 72 79 2c 20 73 65 6c  | data entry, sel|
00004590  65 63 74 69 6f 6e 20 6f  66 20 74 68 65 0a 4c 2d  |ection of the.L-|
000045a0  73 79 73 74 65 6d 20 74  6f 20 75 73 65 2c 20 73  |system to use, s|
000045b0  61 76 69 6e 67 20 74 68  65 20 69 6e 74 65 72 6e  |aving the intern|
000045c0  61 6c 20 66 69 6c 65 20  6f 66 20 64 61 74 61 2c  |al file of data,|
000045d0  20 61 6e 64 20 6f 70 65  6e 69 6e 67 20 6f 66 20  | and opening of |
000045e0  74 68 65 0a 63 75 72 72  65 6e 74 20 4c 2d 53 79  |the.current L-Sy|
000045f0  73 74 65 6d 20 64 61 74  61 20 64 69 72 65 63 74  |stem data direct|
00004600  6f 72 79 2e 0a 0a 44 61  74 61 20 45 6e 74 72 79  |ory...Data Entry|
00004610  20 50 61 6e 65 6c 0a 2d  2d 2d 2d 2d 2d 2d 2d 2d  | Panel.---------|
00004620  2d 2d 2d 2d 2d 2d 2d 0a  55 73 65 20 74 68 69 73  |-------.Use this|
00004630  20 70 61 6e 65 6c 20 74  6f 20 75 70 64 61 74 65  | panel to update|
00004640  20 74 68 65 20 4c 2d 73  79 73 74 65 6d 20 64 61  | the L-system da|
00004650  74 61 2c 20 6f 72 20 73  65 6c 65 63 74 20 61 20  |ta, or select a |
00004660  6e 65 77 20 4c 2d 73 79  73 74 65 6d 2e 20 54 6f  |new L-system. To|
00004670  0a 6d 6f 76 65 20 74 68  65 20 63 61 72 65 74 20  |.move the caret |
00004680  61 72 6f 75 6e 64 20 74  68 65 20 69 63 6f 6e 73  |around the icons|
00004690  20 75 73 65 20 21 46 72  61 63 74 61 6c 27 73 20  | use !Fractal's |
000046a0  73 74 61 6e 64 61 72 64  20 65 64 69 74 69 6e 67  |standard editing|
000046b0  20 6b 65 79 73 2e 20 54  68 65 0a 76 61 72 69 6f  | keys. The.vario|
000046c0  75 73 20 69 63 6f 6e 73  20 61 72 65 3a 0a 0a 49  |us icons are:..I|
000046d0  6e 70 75 74 3a 20 59 6f  75 20 6d 75 73 74 20 63  |nput: You must c|
000046e0  6c 69 63 6b 20 6f 6e 20  74 68 69 73 20 66 6f 72  |lick on this for|
000046f0  20 79 6f 75 72 20 63 68  61 6e 67 65 73 20 74 6f  | your changes to|
00004700  20 74 61 6b 65 20 65 66  66 65 63 74 2e 0a 0a 52  | take effect...R|
00004710  65 2d 64 72 61 77 3a 20  54 68 69 73 20 69 73 20  |e-draw: This is |
00004720  74 68 65 20 73 61 6d 65  20 61 73 20 49 6e 70 75  |the same as Inpu|
00004730  74 20 66 6f 6c 6c 6f 77  65 64 20 62 79 20 61 20  |t followed by a |
00004740  72 65 2d 64 72 61 77 20  72 65 71 75 65 73 74 2e  |re-draw request.|
00004750  0a 0a 53 74 6f 72 65 3a  20 54 68 69 73 20 74 61  |..Store: This ta|
00004760  6b 65 73 20 74 68 65 20  64 61 74 61 20 61 6e 64  |kes the data and|
00004770  20 73 74 6f 72 65 73 20  69 74 20 69 6e 20 74 68  | stores it in th|
00004780  65 20 69 6e 74 65 72 6e  61 6c 20 66 69 6c 65 2e  |e internal file.|
00004790  20 49 66 20 79 6f 75 20  6d 6f 76 65 0a 74 6f 20  | If you move.to |
000047a0  61 6e 6f 74 68 65 72 20  4c 2d 73 79 73 74 65 6d  |another L-system|
000047b0  20 77 69 74 68 6f 75 74  20 75 73 69 6e 67 20 74  | without using t|
000047c0  68 69 73 20 6f 70 74 69  6f 6e 20 79 6f 75 72 20  |his option your |
000047d0  75 70 64 61 74 65 73 20  77 69 6c 6c 20 62 65 20  |updates will be |
000047e0  6c 6f 73 74 21 0a 0a 52  65 73 74 6f 72 65 3a 20  |lost!..Restore: |
000047f0  52 65 66 72 65 73 68 65  73 20 74 68 65 20 64 61  |Refreshes the da|
00004800  74 61 20 6f 6e 20 64 69  73 70 6c 61 79 20 66 72  |ta on display fr|
00004810  6f 6d 20 74 68 65 20 63  6f 70 79 20 69 6e 20 74  |om the copy in t|
00004820  68 65 20 69 6e 74 65 72  6e 61 6c 20 66 69 6c 65  |he internal file|
00004830  2e 0a 54 68 69 73 20 6c  65 74 73 20 79 6f 75 20  |..This lets you |
00004840  62 61 63 6b 20 6f 75 74  20 63 68 61 6e 67 65 73  |back out changes|
00004850  20 77 69 74 68 6f 75 74  20 68 61 76 69 6e 67 20  | without having |
00004860  74 6f 20 72 65 2d 6c 6f  61 64 20 74 68 65 20 66  |to re-load the f|
00004870  69 6c 65 2e 0a 0a 43 6f  70 79 3a 20 54 61 6b 65  |ile...Copy: Take|
00004880  73 20 61 20 63 6f 70 79  20 6f 66 20 74 68 65 20  |s a copy of the |
00004890  63 75 72 72 65 6e 74 20  4c 2d 73 79 73 74 65 6d  |current L-system|
000048a0  20 73 6f 20 74 68 61 74  20 79 6f 75 20 63 61 6e  | so that you can|
000048b0  20 65 64 69 74 20 69 74  20 77 69 74 68 6f 75 74  | edit it without|
000048c0  0a 6d 6f 64 69 66 79 69  6e 67 20 74 68 65 20 6f  |.modifying the o|
000048d0  72 69 67 69 6e 61 6c 2e  20 59 6f 75 20 73 68 6f  |riginal. You sho|
000048e0  75 6c 64 20 67 69 76 65  20 74 68 65 20 63 6f 70  |uld give the cop|
000048f0  79 20 61 20 6e 65 77 20  6e 61 6d 65 20 74 6f 20  |y a new name to |
00004900  61 76 6f 69 64 0a 63 6f  6e 66 75 73 69 6f 6e 2e  |avoid.confusion.|
00004910  0a 0a 44 65 6c 65 74 65  3a 20 44 65 6c 65 74 65  |..Delete: Delete|
00004920  73 20 74 68 65 20 63 75  72 72 65 6e 74 20 4c 2d  |s the current L-|
00004930  73 79 73 74 65 6d 20 66  72 6f 6d 20 74 68 65 20  |system from the |
00004940  69 6e 74 65 72 6e 61 6c  20 66 69 6c 65 2e 0a 0a  |internal file...|
00004950  4e 61 6d 65 3a 20 74 68  65 20 31 2d 31 39 20 63  |Name: the 1-19 c|
00004960  68 61 72 61 63 74 65 72  20 69 64 65 6e 74 69 66  |haracter identif|
00004970  69 65 72 20 66 6f 72 20  74 68 69 73 20 4c 2d 73  |ier for this L-s|
00004980  79 73 74 65 6d 2e 0a 0a  49 74 65 6d 3a 20 63 6c  |ystem...Item: cl|
00004990  69 63 6b 20 6f 6e 20 74  68 65 20 6c 65 66 74 20  |ick on the left |
000049a0  6f 72 20 72 69 67 68 74  20 61 72 72 6f 77 73 20  |or right arrows |
000049b0  74 6f 20 6d 6f 76 65 20  74 6f 20 61 20 64 69 66  |to move to a dif|
000049c0  66 65 72 65 6e 74 20 4c  2d 73 79 73 74 65 6d 2e  |ferent L-system.|
000049d0  0a 52 65 6d 65 6d 62 65  72 20 74 6f 20 75 73 65  |.Remember to use|
000049e0  20 53 74 6f 72 65 20 69  66 20 79 6f 75 20 77 61  | Store if you wa|
000049f0  6e 74 20 74 6f 20 6b 65  65 70 20 61 6e 79 20 63  |nt to keep any c|
00004a00  68 61 6e 67 65 73 20 74  6f 20 74 68 65 20 63 75  |hanges to the cu|
00004a10  72 72 65 6e 74 0a 4c 2d  73 79 73 74 65 6d 2e 0a  |rrent.L-system..|
00004a20  0a 49 74 65 72 61 74 69  6f 6e 73 3a 20 55 73 65  |.Iterations: Use|
00004a30  20 74 68 65 20 61 72 72  6f 77 73 20 74 6f 20 63  | the arrows to c|
00004a40  68 61 6e 67 65 20 6f 72  20 63 6c 69 63 6b 20 6f  |hange or click o|
00004a50  6e 20 74 68 65 20 6e 75  6d 62 65 72 20 74 6f 20  |n the number to |
00004a60  6b 65 79 20 69 6e 20 61  20 6e 65 77 0a 76 61 6c  |key in a new.val|
00004a70  75 65 2e 20 48 69 67 68  65 72 20 69 74 65 72 61  |ue. Higher itera|
00004a80  74 69 6f 6e 73 20 67 69  76 65 20 6d 6f 72 65 20  |tions give more |
00004a90  63 6f 6d 70 6c 65 78 20  70 61 74 74 65 72 6e 73  |complex patterns|
00004aa0  20 62 75 74 20 77 69 6c  6c 20 74 61 6b 65 20 6d  | but will take m|
00004ab0  75 63 68 0a 6c 6f 6e 67  65 72 20 74 6f 20 64 72  |uch.longer to dr|
00004ac0  61 77 2e 0a 0a 41 6e 67  6c 65 3a 20 64 65 74 65  |aw...Angle: dete|
00004ad0  72 6d 69 6e 65 73 20 74  68 65 20 61 6d 6f 75 6e  |rmines the amoun|
00004ae0  74 20 6f 66 20 74 75 72  6e 20 66 6f 72 20 27 2b  |t of turn for '+|
00004af0  27 20 61 6e 64 20 27 2d  27 2e 0a 0a 41 78 69 6f  |' and '-'...Axio|
00004b00  6d 3a 20 74 68 65 20 31  2d 33 31 20 63 68 61 72  |m: the 1-31 char|
00004b10  61 63 74 65 72 20 73 74  72 69 6e 67 20 74 68 61  |acter string tha|
00004b20  74 20 69 73 20 74 68 65  20 69 6e 69 74 69 61 6c  |t is the initial|
00004b30  20 72 75 6c 65 2e 0a 0a  52 75 6c 65 73 3a 20 45  | rule...Rules: E|
00004b40  61 63 68 20 72 75 6c 65  20 6d 75 73 74 20 68 61  |ach rule must ha|
00004b50  76 65 20 61 20 75 6e 69  71 75 65 20 63 68 61 72  |ve a unique char|
00004b60  61 63 74 65 72 20 66 6f  72 20 69 64 65 6e 74 69  |acter for identi|
00004b70  66 69 63 61 74 69 6f 6e  2e 20 55 70 20 74 6f 20  |fication. Up to |
00004b80  39 0a 72 75 6c 65 73 20  6d 61 79 20 62 65 20 75  |9.rules may be u|
00004b90  73 65 2c 20 65 61 63 68  20 6f 66 20 30 2d 37 39  |se, each of 0-79|
00004ba0  20 63 68 61 72 61 63 74  65 72 73 2e 20 41 20 6e  | characters. A n|
00004bb0  75 6c 6c 20 72 75 6c 65  20 63 61 6e 20 62 65 20  |ull rule can be |
00004bc0  75 73 65 64 20 74 6f 20  73 74 72 69 70 0a 6f 75  |used to strip.ou|
00004bd0  74 20 74 75 72 74 6c 65  20 63 6f 6d 6d 61 6e 64  |t turtle command|
00004be0  73 20 64 75 72 69 6e 67  20 65 78 70 61 6e 73 69  |s during expansi|
00004bf0  6f 6e 20 28 73 65 65 20  43 65 73 61 72 6f 20 66  |on (see Cesaro f|
00004c00  6f 72 20 65 78 61 6d 70  6c 65 29 2e 20 52 65 6d  |or example). Rem|
00004c10  65 6d 62 65 72 20 74 6f  0a 63 6c 69 63 6b 20 49  |ember to.click I|
00004c20  6e 70 75 74 20 6f 72 20  52 65 64 72 61 77 20 74  |nput or Redraw t|
00004c30  6f 20 65 6e 74 65 72 20  79 6f 75 72 20 76 61 6c  |o enter your val|
00004c40  75 65 73 2e 0a 0a 4c 2d  53 79 73 74 65 6d 20 4c  |ues...L-System L|
00004c50  69 73 74 20 50 61 6e 65  6c 0a 2d 2d 2d 2d 2d 2d  |ist Panel.------|
00004c60  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 0a 54 68  |-------------.Th|
00004c70  69 73 20 70 61 6e 65 6c  20 6c 69 73 74 73 20 61  |is panel lists a|
00004c80  6c 6c 20 74 68 65 20 4c  2d 73 79 73 74 65 6d 73  |ll the L-systems|
00004c90  20 74 68 61 74 20 61 72  65 20 68 65 6c 64 20 69  | that are held i|
00004ca0  6e 74 65 72 6e 61 6c 6c  79 2c 20 73 68 6f 77 69  |nternally, showi|
00004cb0  6e 67 20 74 68 65 0a 66  69 72 73 74 20 31 31 20  |ng the.first 11 |
00004cc0  63 68 61 72 61 63 74 65  72 73 20 6f 66 20 74 68  |characters of th|
00004cd0  65 69 72 20 6e 61 6d 65  20 77 69 74 68 20 63 75  |eir name with cu|
00004ce0  72 72 65 6e 74 20 6e 61  6d 65 20 62 65 69 6e 67  |rrent name being|
00004cf0  20 68 69 67 68 6c 69 67  68 74 65 64 2e 20 43 6c  | highlighted. Cl|
00004d00  69 63 6b 0a 6f 6e 20 61  20 6e 61 6d 65 20 74 6f  |ick.on a name to|
00004d10  20 73 65 6c 65 63 74 20  6f 6e 65 2e 0a 0a 53 61  | select one...Sa|
00004d20  76 65 0a 2d 2d 2d 2d 0a  54 68 65 20 69 6e 74 65  |ve.----.The inte|
00004d30  72 6e 61 6c 20 66 69 6c  65 20 6f 66 20 4c 2d 73  |rnal file of L-s|
00004d40  79 73 74 65 6d 20 64 65  66 69 6e 69 74 69 6f 6e  |ystem definition|
00004d50  73 20 63 61 6e 20 62 65  20 73 61 76 65 64 20 61  |s can be saved a|
00004d60  73 20 61 20 74 65 78 74  20 66 69 6c 65 20 62 79  |s a text file by|
00004d70  0a 64 72 61 67 67 69 6e  67 20 74 68 65 20 74 65  |.dragging the te|
00004d80  78 74 20 69 63 6f 6e 20  74 6f 20 61 20 66 69 6c  |xt icon to a fil|
00004d90  65 72 20 77 69 6e 64 6f  77 2e 20 54 68 65 20 61  |er window. The a|
00004da0  73 73 6f 63 69 61 74 65  64 20 73 70 72 69 74 65  |ssociated sprite|
00004db0  73 20 77 69 6c 6c 20 62  65 0a 73 61 76 65 64 20  |s will be.saved |
00004dc0  69 6e 20 74 68 65 20 73  61 6d 65 20 64 69 72 65  |in the same dire|
00004dd0  63 74 6f 72 79 20 69 66  20 6e 6f 74 20 61 6c 72  |ctory if not alr|
00004de0  65 61 64 79 20 70 72 65  73 65 6e 74 2e 20 53 61  |eady present. Sa|
00004df0  76 65 64 20 64 65 66 69  6e 69 74 69 6f 6e 73 20  |ved definitions |
00004e00  63 61 6e 20 62 65 0a 72  65 6c 6f 61 64 65 64 20  |can be.reloaded |
00004e10  61 74 20 61 6e 79 20 74  69 6d 65 20 2d 20 21 46  |at any time - !F|
00004e20  72 61 63 74 61 6c 20 77  69 6c 6c 20 61 75 74 6f  |ractal will auto|
00004e30  6d 61 74 69 63 61 6c 6c  79 20 73 65 6c 65 63 74  |matically select|
00004e40  20 4c 2d 73 79 73 74 65  6d 20 69 66 20 69 74 20  | L-system if it |
00004e50  69 73 0a 6e 6f 74 20 74  68 65 20 63 75 72 72 65  |is.not the curre|
00004e60  6e 74 20 66 72 61 63 74  61 6c 2e 20 54 77 6f 20  |nt fractal. Two |
00004e70  66 69 6c 65 73 20 6f 66  20 64 65 66 69 6e 69 74  |files of definit|
00004e80  69 6f 6e 73 20 61 72 65  20 73 75 70 70 6c 69 65  |ions are supplie|
00004e90  64 20 2d 20 63 6c 69 63  6b 20 6f 6e 0a 4c 2d 53  |d - click on.L-S|
00004ea0  79 73 74 65 6d 2d 3e 44  69 72 65 63 74 6f 72 79  |ystem->Directory|
00004eb0  20 74 6f 20 6f 70 65 6e  20 61 20 46 69 6c 65 72  | to open a Filer|
00004ec0  20 77 69 6e 64 6f 77 20  73 68 6f 77 69 6e 67 20  | window showing |
00004ed0  74 68 65 20 66 69 6c 65  73 20 61 76 61 69 6c 61  |the files availa|
00004ee0  62 6c 65 2e 0a 0a 59 6f  75 20 63 61 6e 20 65 64  |ble...You can ed|
00004ef0  69 74 20 74 68 65 20 74  65 78 74 20 66 69 6c 65  |it the text file|
00004f00  2c 20 62 75 74 20 62 65  20 63 61 72 65 66 75 6c  |, but be careful|
00004f10  20 74 6f 20 6b 65 65 70  20 74 6f 20 74 68 65 20  | to keep to the |
00004f20  66 6f 72 6d 61 74 20 77  68 69 63 68 20 69 73 3a  |format which is:|
00004f30  0a 20 20 20 20 20 20 4c  2d 53 79 73 74 65 6d 0a  |.      L-System.|
00004f40  20 20 20 20 20 20 73 70  72 69 74 65 20 66 69 6c  |      sprite fil|
00004f50  65 6e 61 6d 65 0a 20 20  20 20 20 20 6c 2d 73 79  |ename.      l-sy|
00004f60  73 74 65 6d 20 6e 61 6d  65 20 20 20 20 20 20 20  |stem name       |
00004f70  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00004f80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 7d 20  |              } |
00004f90  66 6f 72 20 65 61 63 68  0a 20 20 20 20 20 20 64  |for each.      d|
00004fa0  65 66 61 75 6c 74 20 69  74 65 72 61 74 69 6f 6e  |efault iteration|
00004fb0  73 2c 61 6e 67 6c 65 73  2c 6e 75 6d 62 65 72 20  |s,angles,number |
00004fc0  6f 66 20 72 75 6c 65 73  20 20 20 20 20 20 20 20  |of rules        |
00004fd0  20 7d 20 4c 2d 53 79 73  74 65 6d 0a 20 20 20 20  | } L-System.    |
00004fe0  20 20 61 78 69 6f 6d 20  20 20 20 20 20 20 20 20  |  axiom         |
00004ff0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00005010  20 20 20 20 7d 0a 20 20  20 20 20 20 72 75 6c 65  |    }.      rule|
00005020  69 64 3d 72 75 6c 65 20  74 65 78 74 20 20 20 20  |id=rule text    |
00005030  20 20 20 20 20 20 20 20  20 20 20 20 20 31 20 66  |             1 f|
00005040  6f 72 20 65 61 63 68 20  72 75 6c 65 20 20 7d 0a  |or each rule  }.|
00005050  0a 54 68 65 20 73 75 70  70 6c 69 65 64 20 64 65  |.The supplied de|
00005060  66 69 6e 69 74 69 6f 6e  73 20 63 6f 6d 65 20 66  |finitions come f|
00005070  72 6f 6d 20 74 68 65 20  53 63 69 65 6e 63 65 20  |rom the Science |
00005080  6f 66 20 46 72 61 63 74  61 6c 73 2c 20 41 6c 67  |of Fractals, Alg|
00005090  6f 72 69 74 68 6d 69 63  0a 42 65 61 75 74 79 20  |orithmic.Beauty |
000050a0  6f 66 20 50 6c 61 6e 74  73 2c 20 46 72 61 63 74  |of Plants, Fract|
000050b0  69 6e 74 2c 20 61 6e 64  20 4a 6f 68 6e 20 47 72  |int, and John Gr|
000050c0  65 65 6e 69 6e 67 2e 20  50 6c 65 61 73 65 20 73  |eening. Please s|
000050d0  65 6e 64 20 69 6e 20 6d  6f 72 65 20 66 75 6e 63  |end in more func|
000050e0  74 69 6f 6e 73 0a 74 6f  20 41 46 47 20 73 6f 20  |tions.to AFG so |
000050f0  77 65 20 63 61 6e 20 61  6c 6c 20 73 65 65 20 74  |we can all see t|
00005100  68 65 6d 2e 20 49 20 68  61 76 65 20 61 64 64 65  |hem. I have adde|
00005110  64 20 63 6f 6c 6f 75 72  20 61 6e 64 20 73 70 72  |d colour and spr|
00005120  69 74 65 73 20 74 6f 20  73 6f 6d 65 20 6f 66 0a  |ites to some of.|
00005130  74 68 65 20 73 68 61 70  65 73 2e 0a 0a 48 69 6e  |the shapes...Hin|
00005140  74 73 20 41 6e 64 20 54  69 70 73 20 4f 6e 20 43  |ts And Tips On C|
00005150  72 65 61 74 69 6e 67 20  4c 2d 53 79 73 74 65 6d  |reating L-System|
00005160  73 0a 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |s.--------------|
00005170  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00005180  2d 2d 2d 2d 2d 2d 0a 54  6f 20 67 65 74 20 61 6e  |------.To get an|
00005190  20 69 64 65 61 20 68 6f  77 20 4c 2d 73 79 73 74  | idea how L-syst|
000051a0  65 6d 73 20 77 6f 72 6b  2c 20 6c 6f 6f 6b 20 61  |ems work, look a|
000051b0  74 20 74 68 65 20 73 68  61 70 65 73 20 70 72 65  |t the shapes pre|
000051c0  66 69 78 65 64 20 27 53  69 65 72 27 20 61 6e 64  |fixed 'Sier' and|
000051d0  0a 73 74 61 72 74 20 61  74 20 6c 6f 77 20 69 74  |.start at low it|
000051e0  65 72 61 74 69 6f 6e 20  76 61 6c 75 65 73 2e 20  |eration values. |
000051f0  4e 6f 74 65 20 74 68 61  74 20 73 68 61 70 65 73  |Note that shapes|
00005200  20 67 72 6f 77 20 62 65  63 61 75 73 65 20 61 20  | grow because a |
00005210  72 75 6c 65 20 73 74 72  69 6e 67 0a 63 6f 6e 74  |rule string.cont|
00005220  61 69 6e 73 20 6d 6f 72  65 20 74 68 61 6e 20 6f  |ains more than o|
00005230  6e 65 20 72 75 6c 65 20  69 74 73 65 6c 66 2e 0a  |ne rule itself..|
00005240  0a 41 20 67 6f 6f 64 20  77 61 79 20 74 6f 20 74  |.A good way to t|
00005250  72 61 63 65 20 68 6f 77  20 61 20 73 68 61 70 65  |race how a shape|
00005260  20 69 73 20 62 75 69 6c  74 20 75 70 20 69 73 20  | is built up is |
00005270  74 6f 20 61 64 64 20 61  20 63 6f 6c 6f 75 72 20  |to add a colour |
00005280  63 68 61 6e 67 65 20 61  74 20 74 68 65 0a 73 74  |change at the.st|
00005290  61 72 74 20 6f 72 20 65  6e 64 20 6f 66 20 61 20  |art or end of a |
000052a0  72 75 6c 65 2c 20 69 65  2e 20 61 64 64 20 61 20  |rule, ie. add a |
000052b0  3e 34 20 6f 72 20 3e 31  2e 20 54 68 65 20 64 69  |>4 or >1. The di|
000052c0  66 66 65 72 65 6e 74 20  63 6f 6c 6f 75 72 73 20  |fferent colours |
000052d0  69 6e 20 74 68 65 0a 72  65 73 75 6c 74 20 73 68  |in the.result sh|
000052e0  6f 77 20 77 68 65 72 65  20 61 20 6e 65 77 20 63  |ow where a new c|
000052f0  6f 70 79 20 6f 66 20 74  68 65 20 72 75 6c 65 20  |opy of the rule |
00005300  77 61 73 20 65 78 70 61  6e 64 65 64 2e 20 54 72  |was expanded. Tr|
00005310  79 20 74 68 65 20 63 6f  6c 6f 75 72 0a 63 79 63  |y the colour.cyc|
00005320  6c 69 6e 67 20 6f 6e 20  74 68 69 73 20 61 73 20  |ling on this as |
00005330  77 65 6c 6c 21 0a 0a 53  68 61 70 65 73 20 74 68  |well!..Shapes th|
00005340  61 74 20 61 72 65 20 6d  61 64 65 20 75 70 20 6f  |at are made up o|
00005350  66 20 6c 6f 74 73 20 6f  66 20 73 6d 61 6c 6c 65  |f lots of smalle|
00005360  72 20 63 6f 70 69 65 73  20 6f 66 20 74 68 65 6d  |r copies of them|
00005370  73 65 6c 76 65 73 20 61  72 65 20 63 72 65 61 74  |selves are creat|
00005380  65 64 0a 62 79 20 6d 61  6b 69 6e 67 20 74 68 65  |ed.by making the|
00005390  20 72 75 6c 65 73 20 72  65 63 75 72 73 69 76 65  | rules recursive|
000053a0  2c 20 74 68 61 74 20 69  73 20 74 68 65 20 72 75  |, that is the ru|
000053b0  6c 65 20 73 74 72 69 6e  67 20 63 6f 6e 74 61 69  |le string contai|
000053c0  6e 73 20 74 68 65 20 73  61 6d 65 0a 6c 65 74 74  |ns the same.lett|
000053d0  65 72 20 61 73 20 74 68  65 20 72 75 6c 65 20 6e  |er as the rule n|
000053e0  61 6d 65 20 28 65 67 2e  20 46 3d 46 46 29 20 6f  |ame (eg. F=FF) o|
000053f0  72 20 61 20 73 75 62 73  65 71 75 65 6e 74 20 72  |r a subsequent r|
00005400  75 6c 65 20 72 65 66 65  72 73 20 62 61 63 6b 20  |ule refers back |
00005410  74 6f 20 74 68 65 0a 66  69 72 73 74 20 6f 6e 65  |to the.first one|
00005420  20 28 65 67 2e 20 46 3d  41 42 2c 20 41 3d 46 42  | (eg. F=AB, A=FB|
00005430  29 2e 0a 0a 54 6f 20 73  65 74 20 74 68 65 20 69  |)...To set the i|
00005440  6e 69 74 69 61 6c 20 64  69 72 65 63 74 69 6f 6e  |nitial direction|
00005450  2c 20 77 69 64 74 68 20  6f 72 20 63 6f 6c 6f 75  |, width or colou|
00005460  72 2c 20 70 6c 61 63 65  20 74 68 65 20 72 65 71  |r, place the req|
00005470  75 69 72 65 64 20 74 75  72 74 6c 65 0a 63 6f 6d  |uired turtle.com|
00005480  6d 61 6e 64 73 20 69 6e  20 74 68 65 20 41 78 69  |mands in the Axi|
00005490  6f 6d 2e 20 54 68 65 20  69 6e 69 74 69 61 6c 20  |om. The initial |
000054a0  64 69 72 65 63 74 69 6f  6e 20 69 73 20 74 6f 20  |direction is to |
000054b0  74 68 65 20 72 69 67 68  74 20 73 6f 20 75 73 65  |the right so use|
000054c0  20 27 2d 27 20 74 6f 0a  6d 61 6b 65 20 61 20 73  | '-' to.make a s|
000054d0  68 61 70 65 20 73 74 61  72 74 20 70 6c 6f 74 74  |hape start plott|
000054e0  69 6e 67 20 75 70 77 61  72 64 73 2e 20 54 68 61  |ing upwards. Tha|
000054f0  74 20 77 61 79 20 74 68  65 79 20 61 72 65 20 6f  |t way they are o|
00005500  6e 6c 79 20 65 78 65 63  75 74 65 64 20 6f 6e 63  |nly executed onc|
00005510  65 20 2d 0a 73 65 65 20  42 75 73 68 33 20 66 6f  |e -.see Bush3 fo|
00005520  72 20 61 6e 20 65 78 61  6d 70 6c 65 2e 0a 0a 54  |r an example...T|
00005530  68 65 20 73 74 61 63 6b  20 69 73 20 61 20 76 65  |he stack is a ve|
00005540  72 79 20 70 6f 77 65 72  66 75 6c 20 66 65 61 74  |ry powerful feat|
00005550  75 72 65 20 61 6e 64 20  77 6f 72 74 68 20 65 78  |ure and worth ex|
00005560  70 65 72 69 6d 65 6e 74  69 6e 67 20 77 69 74 68  |perimenting with|
00005570  20 2d 20 69 74 20 69 73  0a 74 68 65 20 6b 65 79  | - it is.the key|
00005580  20 74 6f 20 73 68 61 70  65 73 20 74 68 61 74 20  | to shapes that |
00005590  66 65 61 74 75 72 65 20  70 6f 69 6e 74 73 2c 20  |feature points, |
000055a0  73 75 63 68 20 61 73 20  74 68 65 20 70 6c 61 6e  |such as the plan|
000055b0  74 20 65 78 61 6d 70 6c  65 73 2e 20 49 74 20 61  |t examples. It a|
000055c0  6c 73 6f 0a 61 6c 6c 6f  77 73 20 79 6f 75 20 74  |lso.allows you t|
000055d0  6f 20 63 72 65 61 74 65  20 61 20 73 75 62 2d 73  |o create a sub-s|
000055e0  68 61 70 65 20 77 69 74  68 20 69 74 73 20 6f 77  |hape with its ow|
000055f0  6e 20 63 6f 6c 6f 75 72  2c 20 73 69 7a 65 20 61  |n colour, size a|
00005600  6e 64 20 77 69 64 74 68  20 77 68 69 63 68 0a 6d  |nd width which.m|
00005610  61 79 20 62 65 20 70 6c  61 63 65 64 20 61 6e 79  |ay be placed any|
00005620  77 68 65 72 65 20 77 69  74 68 69 6e 20 74 68 65  |where within the|
00005630  20 6d 61 69 6e 20 70 61  74 74 65 72 6e 2e 20 53  | main pattern. S|
00005640  65 65 20 54 72 65 65 33  20 77 68 69 63 68 20 75  |ee Tree3 which u|
00005650  73 65 73 20 27 4c 27 20  66 6f 72 0a 74 68 65 20  |ses 'L' for.the |
00005660  4c 65 61 66 20 72 75 6c  65 2e 20 54 79 70 69 63  |Leaf rule. Typic|
00005670  61 6c 6c 79 20 74 68 65  73 65 20 73 75 62 2d 73  |ally these sub-s|
00005680  68 61 70 65 73 20 61 72  65 20 70 6c 61 63 65 64  |hapes are placed|
00005690  20 61 74 20 74 68 65 20  65 6e 64 20 6f 66 20 61  | at the end of a|
000056a0  20 73 74 61 63 6b 65 64  0a 73 65 71 75 65 6e 63  | stacked.sequenc|
000056b0  65 20 2d 20 50 6c 61 6e  74 4c 65 61 66 20 75 73  |e - PlantLeaf us|
000056c0  65 73 20 5b 2d 2d 4c 5d  20 74 6f 20 70 6c 61 63  |es [--L] to plac|
000056d0  65 20 61 20 6c 65 61 66  20 61 74 20 74 68 65 20  |e a leaf at the |
000056e0  74 69 70 20 61 74 20 70  61 72 74 69 63 75 6c 61  |tip at particula|
000056f0  72 0a 70 6f 69 6e 74 73  2e 0a 0a 54 77 6f 20 64  |r.points...Two d|
00005700  72 61 77 20 63 6f 6d 6d  61 6e 64 73 20 28 46 20  |raw commands (F |
00005710  61 6e 64 20 44 29 20 61  72 65 20 70 72 6f 76 69  |and D) are provi|
00005720  64 65 64 20 73 6f 20 74  68 61 74 20 6f 6e 65 20  |ded so that one |
00005730  6d 61 79 20 62 65 20 65  78 70 61 6e 64 65 64 20  |may be expanded |
00005740  28 62 79 0a 6d 61 6b 69  6e 67 20 74 68 65 20 63  |(by.making the c|
00005750  6f 6d 6d 61 6e 64 20 61  20 72 75 6c 65 29 20 61  |ommand a rule) a|
00005760  6e 64 20 74 68 65 20 6f  74 68 65 72 20 75 6e 65  |nd the other une|
00005770  78 70 61 6e 64 65 64 2e  20 54 72 65 65 33 20 75  |xpanded. Tree3 u|
00005780  73 65 73 20 74 68 69 73  20 74 6f 0a 61 6c 6c 6f  |ses this to.allo|
00005790  77 20 74 68 65 20 6c 65  61 76 65 73 20 74 6f 20  |w the leaves to |
000057a0  62 65 20 64 72 61 77 6e  20 74 68 65 20 73 61 6d  |be drawn the sam|
000057b0  65 20 73 69 7a 65 2e 20  49 66 20 74 68 65 20 4c  |e size. If the L|
000057c0  20 72 75 6c 65 20 75 73  65 64 20 27 46 27 20 66  | rule used 'F' f|
000057d0  6f 72 0a 64 72 61 77 69  6e 67 2c 20 74 68 65 20  |or.drawing, the |
000057e0  27 46 27 20 72 75 6c 65  20 77 6f 75 6c 64 20 65  |'F' rule would e|
000057f0  78 70 61 6e 64 20 6d 61  6b 69 6e 67 20 74 68 65  |xpand making the|
00005800  20 6c 65 61 66 20 6c 61  72 67 65 72 20 64 65 70  | leaf larger dep|
00005810  65 6e 64 69 6e 67 20 6f  6e 20 77 68 65 72 65 0a  |ending on where.|
00005820  69 74 20 77 61 73 20 64  72 61 77 6e 20 2d 20 74  |it was drawn - t|
00005830  72 79 20 69 74 20 61 6e  64 20 73 65 65 2e 0a 0a  |ry it and see...|
00005840  54 68 65 20 6c 65 6e 67  74 68 20 63 6f 6d 6d 61  |The length comma|
00005850  6e 64 20 28 40 29 20 69  73 20 67 65 6e 65 72 61  |nd (@) is genera|
00005860  6c 6c 79 20 75 73 65 64  20 74 6f 20 6d 61 6b 65  |lly used to make|
00005870  20 73 75 63 63 65 73 73  69 76 65 20 70 61 72 74  | successive part|
00005880  73 20 6f 66 20 74 68 65  0a 73 68 61 70 65 20 72  |s of the.shape r|
00005890  65 6c 61 74 69 76 65 6c  79 20 73 6d 61 6c 6c 65  |elatively smalle|
000058a0  72 2e 20 53 65 65 20 54  72 65 65 31 20 66 6f 72  |r. See Tree1 for|
000058b0  20 65 78 61 6d 70 6c 65  20 77 68 69 63 68 20 75  | example which u|
000058c0  73 65 73 20 69 74 20 74  6f 20 6d 61 6b 65 20 74  |ses it to make t|
000058d0  68 65 0a 62 72 61 6e 63  68 65 73 20 73 6d 61 6c  |he.branches smal|
000058e0  6c 65 72 20 61 6e 64 20  73 6d 61 6c 6c 65 72 2e  |ler and smaller.|
000058f0  20 41 20 73 69 6d 69 6c  61 72 20 65 66 66 65 63  | A similar effec|
00005900  74 20 63 61 6e 20 62 65  20 61 63 68 69 65 76 65  |t can be achieve|
00005910  20 62 79 20 75 73 69 6e  67 20 61 0a 72 75 6c 65  | by using a.rule|
00005920  20 6f 66 20 74 68 65 20  66 6f 72 6d 20 46 3d 46  | of the form F=F|
00005930  46 20 2d 20 61 74 20 68  69 67 68 65 72 20 69 74  |F - at higher it|
00005940  65 72 61 74 69 6f 6e 73  20 65 61 63 68 20 46 20  |erations each F |
00005950  63 68 61 72 61 63 74 65  72 20 69 73 20 65 78 70  |character is exp|
00005960  61 6e 64 65 64 0a 69 6e  74 6f 20 6d 6f 72 65 20  |anded.into more |
00005970  46 20 64 72 61 77 20 63  6f 6d 6d 61 6e 64 73 2e  |F draw commands.|
00005980  0a 0a 55 73 65 20 74 68  65 20 77 69 64 74 68 20  |..Use the width |
00005990  63 6f 6d 6d 61 6e 64 20  28 23 29 20 74 6f 20 67  |command (#) to g|
000059a0  69 76 65 20 62 6f 64 79  20 74 6f 20 70 6c 61 6e  |ive body to plan|
000059b0  74 20 61 6e 64 20 74 72  65 65 20 73 68 61 70 65  |t and tree shape|
000059c0  73 20 66 6f 72 20 65 78  74 72 61 0a 72 65 61 6c  |s for extra.real|
000059d0  69 74 79 2e 0a 0a 53 70  72 69 74 65 73 0a 2d 2d  |ity...Sprites.--|
000059e0  2d 2d 2d 2d 2d 0a 54 68  65 20 73 70 72 69 74 65  |-----.The sprite|
000059f0  20 70 6c 6f 74 74 69 6e  67 20 66 65 61 74 75 72  | plotting featur|
00005a00  65 20 69 73 20 61 20 70  6f 77 65 72 66 75 6c 20  |e is a powerful |
00005a10  65 78 74 65 6e 73 69 6f  6e 20 74 6f 20 74 68 65  |extension to the|
00005a20  20 6e 6f 72 6d 61 6c 20  63 6f 6d 6d 61 6e 64 0a  | normal command.|
00005a30  73 79 6e 74 61 78 2e 20  49 6e 73 74 65 61 64 20  |syntax. Instead |
00005a40  6f 66 20 75 73 69 6e 67  20 46 20 74 6f 20 64 72  |of using F to dr|
00005a50  61 77 20 61 20 6c 69 6e  65 20 73 70 65 63 69 66  |aw a line specif|
00005a60  79 20 74 68 65 20 6e 61  6d 65 20 6f 66 20 61 20  |y the name of a |
00005a70  73 70 72 69 74 65 2c 20  77 68 69 63 68 0a 77 69  |sprite, which.wi|
00005a80  6c 6c 20 62 65 20 70 6c  6f 74 74 65 64 20 61 74  |ll be plotted at|
00005a90  20 74 68 65 20 73 61 6d  65 20 6c 65 6e 67 74 68  | the same length|
00005aa0  20 61 73 20 74 68 65 20  6c 69 6e 65 20 61 6e 64  | as the line and|
00005ab0  20 61 74 20 74 68 65 20  73 61 6d 65 20 72 6f 74  | at the same rot|
00005ac0  61 74 69 6f 6e 2e 20 54  6f 0a 61 76 6f 69 64 20  |ation. To.avoid |
00005ad0  6c 6f 6e 67 20 72 75 6c  65 20 6c 69 6e 65 73 20  |long rule lines |
00005ae0  69 74 20 63 61 6e 20 62  65 20 75 73 65 66 75 6c  |it can be useful|
00005af0  20 74 6f 20 75 73 65 20  61 20 72 75 6c 65 20 66  | to use a rule f|
00005b00  6f 72 20 61 20 73 70 72  69 74 65 20 65 67 2e 0a  |or a sprite eg..|
00005b10  20 20 20 20 20 20 20 20  20 50 3d 2b 54 2d 54 54  |         P=+T-TT|
00005b20  2b 2b 54 0a 20 20 20 20  20 20 20 20 20 54 3d 7b  |++T.         T={|
00005b30  74 72 75 6e 6b 7d 0a 50  6c 6f 74 74 69 6e 67 20  |trunk}.Plotting |
00005b40  77 69 74 68 20 73 70 72  69 74 65 73 20 77 69 6c  |with sprites wil|
00005b50  6c 20 74 61 6b 65 20 6c  6f 6e 67 65 72 2c 20 61  |l take longer, a|
00005b60  6e 64 20 69 74 20 69 73  20 6f 66 74 65 6e 20 62  |nd it is often b|
00005b70  65 74 74 65 72 20 77 68  65 6e 20 63 72 65 61 74  |etter when creat|
00005b80  69 6e 67 0a 61 20 6e 65  77 20 73 68 61 70 65 20  |ing.a new shape |
00005b90  74 6f 20 73 74 61 72 74  20 6f 66 66 20 77 69 74  |to start off wit|
00005ba0  68 20 74 68 65 20 6f 75  74 6c 69 6e 65 2c 20 74  |h the outline, t|
00005bb0  68 65 6e 20 73 75 62 73  74 69 74 75 74 65 20 74  |hen substitute t|
00005bc0  68 65 20 73 70 72 69 74  65 73 20 61 74 20 61 0a  |he sprites at a.|
00005bd0  6c 61 74 65 72 20 74 69  6d 65 2e 0a 0a 43 72 65  |later time...Cre|
00005be0  61 74 69 6e 67 20 53 70  72 69 74 65 73 0a 2d 2d  |ating Sprites.--|
00005bf0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 0a 54  |--------------.T|
00005c00  68 65 20 66 6f 6c 6c 6f  77 69 6e 67 20 67 75 69  |he following gui|
00005c10  64 65 6c 69 6e 65 73 20  6d 75 73 74 20 62 65 20  |delines must be |
00005c20  66 6f 6c 6c 6f 77 65 64  20 66 6f 72 20 70 6c 6f  |followed for plo|
00005c30  74 74 69 6e 67 20 74 6f  20 77 6f 72 6b 20 63 6f  |tting to work co|
00005c40  72 72 65 63 74 6c 79 2e  0a 54 68 65 20 73 70 72  |rrectly..The spr|
00005c50  69 74 65 73 20 61 72 65  20 63 6f 6e 74 61 69 6e  |ites are contain|
00005c60  65 64 20 69 6e 20 61 20  73 70 72 69 74 65 20 66  |ed in a sprite f|
00005c70  69 6c 65 20 69 6e 20 74  68 65 20 73 61 6d 65 20  |ile in the same |
00005c80  64 69 72 65 63 74 6f 72  79 20 61 73 20 74 68 65  |directory as the|
00005c90  0a 4c 2d 73 79 73 74 65  6d 20 64 65 66 69 6e 69  |.L-system defini|
00005ca0  74 69 6f 6e 73 2e 20 54  68 65 20 6e 61 6d 65 20  |tions. The name |
00005cb0  6f 66 20 74 68 65 20 73  70 72 69 74 65 20 66 69  |of the sprite fi|
00005cc0  6c 65 20 69 73 20 73 70  65 63 69 66 69 65 64 20  |le is specified |
00005cd0  69 6e 20 74 68 65 20 73  65 63 6f 6e 64 0a 6c 69  |in the second.li|
00005ce0  6e 65 20 6f 66 20 74 68  65 20 4c 2d 73 79 73 74  |ne of the L-syst|
00005cf0  65 6d 20 64 65 66 69 6e  69 74 69 6f 6e 2e 0a 0a  |em definition...|
00005d00  54 68 65 20 73 75 70 70  6c 69 65 64 20 73 70 72  |The supplied spr|
00005d10  69 74 65 20 66 69 6c 65  20 69 73 20 63 61 6c 6c  |ite file is call|
00005d20  65 64 20 22 4c 2d 53 70  72 69 74 65 73 22 20 2d  |ed "L-Sprites" -|
00005d30  20 63 6c 69 63 6b 20 6f  6e 0a 4c 2d 53 79 73 74  | click on.L-Syst|
00005d40  65 6d 2d 3e 44 69 72 65  63 74 6f 72 79 20 74 6f  |em->Directory to|
00005d50  20 6c 6f 63 61 74 65 2e  20 4c 6f 6f 6b 20 61 74  | locate. Look at|
00005d60  20 74 68 65 20 65 78 61  6d 70 6c 65 20 73 70 72  | the example spr|
00005d70  69 74 65 73 20 70 72 6f  76 69 64 65 64 20 74 6f  |ites provided to|
00005d80  20 67 65 74 0a 61 6e 20  69 64 65 61 20 6f 66 20  | get.an idea of |
00005d90  74 68 65 20 72 65 71 75  69 72 65 6d 65 6e 74 73  |the requirements|
00005da0  2e 20 45 61 63 68 20 73  70 72 69 74 65 20 6d 75  |. Each sprite mu|
00005db0  73 74 20 62 65 3a 0a 0a  31 29 20 54 68 65 20 73  |st be:..1) The s|
00005dc0  70 72 69 74 65 20 6d 75  73 74 20 62 65 20 73 71  |prite must be sq|
00005dd0  75 61 72 65 20 61 6e 64  20 73 68 6f 75 6c 64 20  |uare and should |
00005de0  62 65 20 61 20 6d 75 6c  74 69 70 6c 65 20 6f 66  |be a multiple of|
00005df0  20 34 20 70 69 78 65 6c  73 20 69 6e 20 73 69 7a  | 4 pixels in siz|
00005e00  65 2e 0a 0a 32 29 20 41  20 32 35 36 20 63 6f 6c  |e...2) A 256 col|
00005e10  6f 75 72 20 6d 75 73 74  20 62 65 20 63 68 6f 73  |our must be chos|
00005e20  65 6e 20 74 68 61 74 20  68 61 73 20 73 71 75 61  |en that has squa|
00005e30  72 65 20 70 69 78 65 6c  73 2c 20 73 75 63 68 20  |re pixels, such |
00005e40  61 73 20 6d 6f 64 65 20  32 31 20 28 6f 72 0a 6d  |as mode 21 (or.m|
00005e50  6f 64 65 20 31 33 29 2e  0a 0a 33 29 20 54 68 65  |ode 13)...3) The|
00005e60  20 73 70 72 69 74 65 20  73 68 6f 75 6c 64 20 62  | sprite should b|
00005e70  65 20 63 72 65 61 74 65  64 20 77 69 74 68 20 61  |e created with a|
00005e80  20 6d 61 73 6b 2e 20 41  6c 6c 20 70 69 78 65 6c  | mask. All pixel|
00005e90  73 20 74 68 61 74 20 61  72 65 20 6e 6f 74 20 74  |s that are not t|
00005ea0  6f 20 62 65 0a 70 6c 6f  74 74 65 64 20 73 68 6f  |o be.plotted sho|
00005eb0  75 6c 64 20 62 65 20 73  65 74 20 74 6f 20 74 68  |uld be set to th|
00005ec0  65 20 6d 61 73 6b 20 63  6f 6c 6f 75 72 20 73 6f  |e mask colour so|
00005ed0  20 74 68 65 73 65 20 70  69 78 65 6c 73 20 62 65  | these pixels be|
00005ee0  63 6f 6d 65 20 74 72 61  6e 73 70 61 72 65 6e 74  |come transparent|
00005ef0  2e 0a 0a 34 29 20 57 68  65 6e 20 63 72 65 61 74  |...4) When creat|
00005f00  69 6e 67 20 74 68 65 20  73 68 61 70 65 20 62 65  |ing the shape be|
00005f10  61 72 20 69 6e 20 6d 69  6e 64 20 74 68 61 74 20  |ar in mind that |
00005f20  74 6f 70 20 69 73 20 74  6f 20 74 68 65 20 72 69  |top is to the ri|
00005f30  67 68 74 20 73 69 6e 63  65 20 74 68 61 74 0a 69  |ght since that.i|
00005f40  73 20 74 68 65 20 69 6e  69 74 69 61 6c 20 64 69  |s the initial di|
00005f50  72 65 63 74 69 6f 6e 20  6f 66 20 70 6c 6f 74 74  |rection of plott|
00005f60  69 6e 67 2e 20 59 6f 75  20 6d 61 79 20 66 69 6e  |ing. You may fin|
00005f70  64 20 69 74 20 65 61 73  69 65 72 20 74 6f 20 63  |d it easier to c|
00005f80  72 65 61 74 65 20 74 68  65 0a 73 68 61 70 65 20  |reate the.shape |
00005f90  61 6e 64 20 72 6f 74 61  74 65 20 69 74 20 39 30  |and rotate it 90|
00005fa0  b0 20 63 6c 6f 63 6b 77  69 73 65 2e 0a 0a 35 29  |. clockwise...5)|
00005fb0  20 53 69 6e 63 65 20 74  68 65 20 73 70 72 69 74  | Since the sprit|
00005fc0  65 20 67 65 74 73 20 72  6f 74 61 74 65 64 2c 20  |e gets rotated, |
00005fd0  70 69 78 65 6c 73 20 69  6e 20 74 68 65 20 63 6f  |pixels in the co|
00005fe0  72 6e 65 72 73 20 77 69  6c 6c 20 74 65 6e 64 20  |rners will tend |
00005ff0  74 6f 20 67 65 74 0a 6c  6f 73 74 20 61 74 20 61  |to get.lost at a|
00006000  6e 67 6c 65 73 20 6f 74  68 65 72 20 74 68 61 6e  |ngles other than|
00006010  20 30 2c 39 30 2c 31 38  30 2c 20 26 20 32 37 30  | 0,90,180, & 270|
00006020  20 64 65 67 72 65 65 73  2e 20 54 6f 20 61 76 6f  | degrees. To avo|
00006030  69 64 20 62 6c 61 63 6b  20 73 70 61 63 65 0a 68  |id black space.h|
00006040  6f 77 65 76 65 72 2c 20  79 6f 75 20 77 69 6c 6c  |owever, you will|
00006050  20 6e 6f 72 6d 61 6c 6c  79 20 6e 65 65 64 20 74  | normally need t|
00006060  6f 20 73 65 74 20 70 69  78 65 6c 73 20 75 70 20  |o set pixels up |
00006070  74 6f 20 74 68 65 20 65  64 67 65 20 6f 66 20 74  |to the edge of t|
00006080  68 65 20 73 70 72 69 74  65 2e 0a 0a 54 68 65 20  |he sprite...The |
00006090  61 62 6f 76 65 20 72 75  6c 65 73 20 61 72 65 20  |above rules are |
000060a0  6e 65 63 65 73 73 61 72  79 20 62 65 63 61 75 73  |necessary becaus|
000060b0  65 20 6f 66 20 74 68 65  20 73 63 61 6c 69 6e 67  |e of the scaling|
000060c0  20 61 6e 64 20 72 6f 74  61 74 69 6f 6e 20 74 68  | and rotation th|
000060d0  61 74 20 69 73 0a 70 65  72 66 6f 72 6d 65 64 2e  |at is.performed.|
000060e0  20 49 66 20 79 6f 75 20  67 65 74 20 73 74 72 61  | If you get stra|
000060f0  6e 67 65 20 72 65 73 75  6c 74 73 2c 20 63 68 65  |nge results, che|
00006100  63 6b 20 74 68 61 74 20  79 6f 75 20 68 61 76 65  |ck that you have|
00006110  20 66 6f 6c 6c 6f 77 65  64 20 74 68 65 73 65 0a  | followed these.|
00006120  67 75 69 64 65 6c 69 6e  65 73 2e 20 54 68 65 20  |guidelines. The |
00006130  6d 61 69 6e 20 6c 69 6d  69 74 61 74 69 6f 6e 20  |main limitation |
00006140  6f 6e 20 74 68 65 20 73  69 7a 65 20 6f 66 20 73  |on the size of s|
00006150  70 72 69 74 65 73 20 69  73 20 74 68 65 20 61 6d  |prites is the am|
00006160  6f 75 6e 74 20 6f 66 0a  6d 65 6d 6f 72 79 20 69  |ount of.memory i|
00006170  6e 20 79 6f 75 72 20 63  6f 6d 70 75 74 65 72 2e  |n your computer.|
00006180  20 4c 61 72 67 65 20 73  70 72 69 65 73 20 77 69  | Large spries wi|
00006190  6c 6c 20 73 6f 6f 6e 20  63 6f 6e 73 75 6d 65 20  |ll soon consume |
000061a0  61 6c 6c 20 74 68 61 74  20 69 73 0a 61 76 61 69  |all that is.avai|
000061b0  6c 61 62 6c 65 2e 20 53  69 7a 65 73 20 66 72 6f  |lable. Sizes fro|
000061c0  6d 20 31 36 2d 36 34 20  70 69 78 65 6c 73 20 73  |m 16-64 pixels s|
000061d0  68 6f 75 6c 64 20 62 65  20 61 64 65 71 75 61 74  |hould be adequat|
000061e0  65 20 66 6f 72 20 6d 6f  73 74 20 70 75 72 70 6f  |e for most purpo|
000061f0  73 65 73 2e 0a 4c 61 72  67 65 72 20 73 70 72 69  |ses..Larger spri|
00006200  74 65 73 20 77 69 6c 6c  20 74 65 6e 64 20 74 6f  |tes will tend to|
00006210  20 6c 6f 6f 6b 20 62 65  74 74 65 72 20 77 68 65  | look better whe|
00006220  6e 20 73 63 61 6c 65 64  20 61 6e 64 20 72 6f 74  |n scaled and rot|
00006230  61 74 65 64 20 2d 20 73  6d 61 6c 6c 0a 73 70 72  |ated - small.spr|
00006240  69 74 65 73 20 77 69 6c  6c 20 6c 6f 6f 6b 20 6d  |ites will look m|
00006250  6f 72 65 20 64 69 73 74  6f 72 74 65 64 2e 20 54  |ore distorted. T|
00006260  6f 20 6d 61 69 6e 74 61  69 6e 20 63 6c 61 72 69  |o maintain clari|
00006270  74 79 20 74 72 79 20 74  6f 20 61 76 6f 69 64 20  |ty try to avoid |
00006280  74 6f 6f 20 6d 75 63 68  0a 64 65 74 61 69 6c 20  |too much.detail |
00006290  69 6e 20 74 68 65 20 73  70 72 69 74 65 2e 0a 0a  |in the sprite...|
000062a0  54 6f 20 72 65 6c 6f 61  64 20 61 20 73 70 72 69  |To reload a spri|
000062b0  74 65 20 66 69 6c 65 20  61 66 74 65 72 20 65 64  |te file after ed|
000062c0  69 74 69 6e 67 2c 20 64  72 61 67 20 74 68 65 20  |iting, drag the |
000062d0  63 6f 72 72 65 73 70 6f  6e 64 69 6e 67 20 74 65  |corresponding te|
000062e0  78 74 20 66 69 6c 65 20  6f 6e 74 6f 20 61 20 21  |xt file onto a !|
000062f0  46 72 61 63 74 61 6c 20  77 69 6e 64 6f 77 20 6f  |Fractal window o|
00006300  72 20 69 74 73 20 69 63  6f 6e 2e 0a 0a 55 73 69  |r its icon...Usi|
00006310  6e 67 20 53 70 72 69 74  65 73 0a 2d 2d 2d 2d 2d  |ng Sprites.-----|
00006320  2d 2d 2d 2d 2d 2d 2d 2d  0a 54 68 65 20 73 70 72  |--------.The spr|
00006330  69 74 65 20 6e 61 6d 65  20 69 73 20 73 70 65 63  |ite name is spec|
00006340  69 66 69 65 64 20 62 79  20 7b 73 70 72 69 74 65  |ified by {sprite|
00006350  6e 61 6d 65 7d 20 69 6e  20 61 20 72 75 6c 65 20  |name} in a rule |
00006360  64 65 66 69 6e 69 74 69  6f 6e 2e 20 49 66 20 74  |definition. If t|
00006370  68 65 0a 73 70 72 69 74  65 20 63 61 6e 6e 6f 74  |he.sprite cannot|
00006380  20 62 65 20 66 6f 75 6e  64 2c 20 69 74 20 69 73  | be found, it is|
00006390  20 69 67 6e 6f 72 65 64  2e 20 54 68 65 20 73 70  | ignored. The sp|
000063a0  72 69 74 65 73 20 61 72  65 20 64 69 73 70 6c 61  |rites are displa|
000063b0  79 65 64 20 61 74 20 74  68 65 0a 63 75 72 72 65  |yed at the.curre|
000063c0  6e 74 20 6c 69 6e 65 20  73 63 61 6c 65 20 6e 6f  |nt line scale no|
000063d0  20 6d 61 74 74 65 72 20  68 6f 77 20 6c 61 72 67  | matter how larg|
000063e0  65 20 74 68 65 20 73 70  72 69 74 65 20 69 73 2e  |e the sprite is.|
000063f0  20 54 6f 20 70 6c 6f 74  20 74 68 65 20 73 70 72  | To plot the spr|
00006400  69 74 65 20 61 74 0a 61  20 64 69 66 66 65 72 65  |ite at.a differe|
00006410  6e 74 20 72 65 6c 61 74  69 76 65 20 73 69 7a 65  |nt relative size|
00006420  20 75 73 65 20 7b 73 70  72 69 74 65 6e 61 6d 65  | use {spritename|
00006430  2c 39 2e 39 7d 20 77 68  65 72 65 20 27 39 2e 39  |,9.9} where '9.9|
00006440  27 20 69 73 20 74 68 65  20 73 63 61 6c 69 6e 67  |' is the scaling|
00006450  0a 66 61 63 74 6f 72 2e  0a 0a 54 68 65 20 73 69  |.factor...The si|
00006460  7a 65 20 6f 66 20 73 70  72 69 74 65 73 20 69 73  |ze of sprites is|
00006470  20 61 6c 73 6f 20 63 6f  6e 74 72 6f 6c 6c 65 64  | also controlled|
00006480  20 62 79 20 74 68 65 20  6c 69 6e 65 20 6c 65 6e  | by the line len|
00006490  67 74 68 20 73 70 65 63  69 66 69 65 72 20 27 40  |gth specifier '@|
000064a0  27 20 2d 0a 74 68 69 73  20 61 6c 6c 6f 77 73 20  |' -.this allows |
000064b0  73 70 72 69 74 65 73 20  74 6f 20 62 65 20 70 6c  |sprites to be pl|
000064c0  6f 74 74 65 64 20 61 74  20 69 6e 63 72 65 61 73  |otted at increas|
000064d0  69 6e 67 6c 79 20 73 6d  61 6c 6c 65 72 20 28 6f  |ingly smaller (o|
000064e0  72 20 6c 61 72 67 65 72  29 20 73 69 7a 65 73 0a  |r larger) sizes.|
000064f0  77 68 69 63 68 20 69 73  20 75 73 65 66 75 6c 20  |which is useful |
00006500  66 6f 72 20 70 6c 61 6e  74 20 6c 69 6b 65 20 73  |for plant like s|
00006510  68 61 70 65 73 2e 0a 0a  53 70 72 69 74 65 73 20  |hapes...Sprites |
00006520  63 61 6e 20 62 65 20 75  73 65 64 20 77 69 74 68  |can be used with|
00006530  20 74 68 65 20 61 6c 6c  20 74 68 65 20 6f 74 68  | the all the oth|
00006540  65 72 20 70 6c 6f 74 74  69 6e 67 20 63 6f 6d 6d  |er plotting comm|
00006550  61 6e 64 73 2c 20 74 68  6f 75 67 68 20 74 68 65  |ands, though the|
00006560  0a 63 6f 6c 6f 75 72 20  61 6e 64 20 77 69 64 74  |.colour and widt|
00006570  68 20 63 6f 6d 6d 61 6e  64 73 20 64 6f 20 6e 6f  |h commands do no|
00006580  74 20 61 66 66 65 63 74  20 74 68 65 20 73 70 72  |t affect the spr|
00006590  69 74 65 2e 20 49 6e 74  65 72 65 73 74 69 6e 67  |ite. Interesting|
000065a0  20 65 66 66 65 63 74 73  20 63 61 6e 0a 62 65 20  | effects can.be |
000065b0  61 63 68 69 65 76 65 64  20 62 79 20 74 61 6b 69  |achieved by taki|
000065c0  6e 67 20 74 68 65 20 73  68 61 70 65 73 20 70 72  |ng the shapes pr|
000065d0  6f 76 69 64 65 64 20 61  6e 64 20 72 65 70 6c 61  |ovided and repla|
000065e0  63 69 6e 67 20 74 68 65  20 27 46 27 20 63 6f 6d  |cing the 'F' com|
000065f0  6d 61 6e 64 73 20 62 79  0a 61 20 73 70 72 69 74  |mands by.a sprit|
00006600  65 2e 20 54 6f 20 64 6f  20 74 68 69 73 20 69 74  |e. To do this it|
00006610  20 77 69 6c 6c 20 62 65  20 6e 65 63 65 73 73 61  | will be necessa|
00006620  72 79 20 74 6f 20 70 72  65 73 65 72 76 65 20 74  |ry to preserve t|
00006630  68 65 20 72 65 63 75 72  73 69 76 65 20 6e 61 74  |he recursive nat|
00006640  75 72 65 2e 0a 54 68 75  73 20 69 66 20 74 68 65  |ure..Thus if the|
00006650  20 6f 72 69 67 69 6e 61  6c 20 72 75 6c 65 20 77  | original rule w|
00006660  61 73 20 46 3d 46 2b 46  2d 2c 20 74 68 65 6e 20  |as F=F+F-, then |
00006670  74 68 65 20 72 65 70 6c  61 63 65 6d 65 6e 74 20  |the replacement |
00006680  72 75 6c 65 20 77 6f 75  6c 64 20 6e 65 65 64 0a  |rule would need.|
00006690  74 6f 20 62 65 20 53 3d  53 7b 73 70 72 69 74 65  |to be S=S{sprite|
000066a0  7d 2b 53 7b 73 70 72 69  74 65 7d 2d 2e 0a 0a 54  |}+S{sprite}-...T|
000066b0  6f 20 61 76 6f 69 64 20  6f 75 74 20 6f 66 20 6d  |o avoid out of m|
000066c0  65 6d 6f 72 79 20 63 6f  6e 64 69 74 69 6f 6e 73  |emory conditions|
000066d0  20 69 74 20 69 73 20 62  65 73 74 20 74 6f 20 75  | it is best to u|
000066e0  73 65 20 61 20 6e 75 6d  62 65 72 20 6f 66 20 4c  |se a number of L|
000066f0  2d 73 79 73 74 65 6d 0a  64 65 66 69 6e 69 74 69  |-system.definiti|
00006700  6f 6e 20 66 69 6c 65 73  20 77 69 74 68 20 74 68  |on files with th|
00006710  65 69 72 20 6f 77 6e 20  73 70 72 69 74 65 20 66  |eir own sprite f|
00006720  69 6c 65 73 2e 20 54 6f  20 63 72 65 61 74 65 20  |iles. To create |
00006730  61 20 6e 65 77 20 66 69  6c 65 20 64 65 6c 65 74  |a new file delet|
00006740  65 0a 74 68 65 20 65 6e  74 72 69 65 73 20 6e 6f  |e.the entries no|
00006750  74 20 72 65 71 75 69 72  65 64 2c 20 61 6e 64 20  |t required, and |
00006760  73 61 76 65 20 74 68 65  20 72 65 6d 61 69 6e 69  |save the remaini|
00006770  6e 67 20 64 65 66 69 6e  69 74 69 6f 6e 73 20 75  |ng definitions u|
00006780  6e 64 65 72 20 61 20 6e  65 77 0a 66 69 6c 65 6e  |nder a new.filen|
00006790  61 6d 65 2e 20 54 68 65  6e 20 65 64 69 74 20 74  |ame. Then edit t|
000067a0  68 65 20 74 65 78 74 20  66 69 6c 65 20 74 6f 20  |he text file to |
000067b0  73 70 65 63 69 66 79 20  61 20 6e 65 77 20 73 70  |specify a new sp|
000067c0  72 69 74 65 20 66 69 6c  65 20 6e 61 6d 65 2e 0a  |rite file name..|
000067d0  0a 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |.---------------|
000067e0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00006810  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 0a 0a 4c 6f 72  |-----------..Lor|
00006820  65 6e 7a 20 3a 20 54 68  65 20 45 64 77 61 72 64  |enz : The Edward|
00006830  20 4c 6f 72 65 6e 7a 20  53 74 72 61 6e 67 65 20  | Lorenz Strange |
00006840  41 74 74 72 61 63 74 6f  72 2e 0a 2d 2d 2d 2d 2d  |Attractor..-----|
00006850  2d 0a 54 68 69 73 20 77  61 73 20 70 72 6f 62 61  |-.This was proba|
00006860  62 6c 79 20 74 68 65 20  66 69 72 73 74 20 66 72  |bly the first fr|
00006870  61 63 74 61 6c 20 74 6f  20 62 65 20 72 65 63 6f  |actal to be reco|
00006880  67 6e 69 73 65 64 20 61  73 20 73 75 63 68 2c 20  |gnised as such, |
00006890  61 6e 64 20 73 74 61 72  74 65 64 0a 74 68 65 20  |and started.the |
000068a0  62 61 6c 6c 20 72 6f 6c  6c 69 6e 67 20 66 6f 72  |ball rolling for|
000068b0  20 63 68 61 6f 73 20 69  6e 76 65 73 74 69 67 61  | chaos investiga|
000068c0  74 69 6f 6e 2e 20 54 68  65 20 73 68 61 70 65 20  |tion. The shape |
000068d0  69 73 20 74 68 72 65 65  20 64 69 6d 65 6e 73 69  |is three dimensi|
000068e0  6f 6e 61 6c 20 61 6e 64  0a 79 6f 75 20 63 61 6e  |onal and.you can|
000068f0  20 75 73 65 20 21 46 72  61 63 74 61 6c 27 73 20  | use !Fractal's |
00006900  72 6f 74 61 74 69 6f 6e  20 61 6e 64 20 65 6c 65  |rotation and ele|
00006910  76 61 74 69 6f 6e 20 69  63 6f 6e 73 20 74 6f 20  |vation icons to |
00006920  63 6f 6e 74 72 6f 6c 20  74 68 65 20 76 69 65 77  |control the view|
00006930  0a 70 6f 73 69 74 69 6f  6e 2e 20 54 68 65 72 65  |.position. There|
00006940  20 61 72 65 20 74 68 72  65 65 20 76 61 72 69 61  | are three varia|
00006950  62 6c 65 73 20 77 68 69  63 68 20 6d 61 79 20 62  |bles which may b|
00006960  65 20 73 65 74 20 6f 72  20 72 61 6e 64 6f 6d 6c  |e set or randoml|
00006970  79 20 63 68 6f 73 65 6e  2c 20 61 6e 64 0a 74 68  |y chosen, and.th|
00006980  65 72 65 20 61 72 65 20  74 68 72 65 65 20 63 6f  |ere are three co|
00006990  6c 6f 75 72 20 73 63 68  65 6d 65 73 2e 20 52 65  |lour schemes. Re|
000069a0  66 65 72 20 74 6f 20 43  68 61 6f 73 20 62 79 20  |fer to Chaos by |
000069b0  4a 2e 47 6c 65 69 63 6b  20 66 6f 72 20 61 20 64  |J.Gleick for a d|
000069c0  65 73 63 72 69 70 74 69  6f 6e 0a 6f 66 20 74 68  |escription.of th|
000069d0  65 20 73 74 6f 72 79 20  62 65 68 69 6e 64 20 69  |e story behind i|
000069e0  74 73 20 64 69 73 63 6f  76 65 72 79 2e 20 0a 0a  |ts discovery. ..|
000069f0  54 68 65 20 70 6c 6f 74  20 69 73 20 69 6e 66 69  |The plot is infi|
00006a00  6e 69 74 65 2e 20 59 6f  75 20 63 61 6e 20 63 6f  |nite. You can co|
00006a10  6e 74 72 6f 6c 20 74 68  65 20 73 70 65 65 64 20  |ntrol the speed |
00006a20  62 79 20 73 65 74 74 69  6e 67 20 74 68 65 20 53  |by setting the S|
00006a30  74 65 70 20 52 61 74 65  0a 66 61 63 74 6f 72 20  |tep Rate.factor |
00006a40  2d 20 73 6d 61 6c 6c 65  72 20 76 61 6c 75 65 73  |- smaller values|
00006a50  20 77 69 6c 6c 20 73 6c  6f 77 20 74 68 65 20 70  | will slow the p|
00006a60  6c 6f 74 20 73 6f 20 79  6f 75 20 63 61 6e 20 74  |lot so you can t|
00006a70  72 61 63 65 20 69 74 73  20 73 68 61 70 65 2e 0a  |race its shape..|
00006a80  4e 6f 74 69 63 65 20 74  68 61 74 20 74 68 65 20  |Notice that the |
00006a90  70 6c 6f 74 20 72 65 76  6f 6c 76 65 73 20 61 72  |plot revolves ar|
00006aa0  6f 75 6e 64 20 6f 6e 65  20 63 65 6e 74 72 65 20  |ound one centre |
00006ab0  61 6e 64 20 74 68 65 6e  20 73 75 64 64 65 6e 6c  |and then suddenl|
00006ac0  79 20 6a 75 6d 70 73 0a  61 63 72 6f 73 73 20 74  |y jumps.across t|
00006ad0  6f 20 74 68 65 20 6f 74  68 65 72 2e 20 20 54 72  |o the other.  Tr|
00006ae0  79 20 61 6c 74 65 72 69  6e 67 20 74 68 65 20 64  |y altering the d|
00006af0  65 66 61 75 6c 74 20 76  61 6c 75 65 73 20 6f 66  |efault values of|
00006b00  20 61 2f 62 2f 63 20 62  79 20 73 6d 61 6c 6c 0a  | a/b/c by small.|
00006b10  61 6d 6f 75 6e 74 73 20  61 6e 64 20 73 65 65 20  |amounts and see |
00006b20  74 68 65 20 65 66 66 65  63 74 20 74 68 69 73 20  |the effect this |
00006b30  68 61 73 20 6f 6e 20 74  68 65 20 73 68 61 70 65  |has on the shape|
00006b40  20 61 6e 64 20 77 68 65  6e 20 74 68 65 20 6a 75  | and when the ju|
00006b50  6d 70 20 6f 63 63 75 72  73 2e 0a 0a 54 68 65 20  |mp occurs...The |
00006b60  6d 65 6e 75 20 6f 70 74  69 6f 6e 73 20 61 72 65  |menu options are|
00006b70  3a 0a 0a 52 61 6e 64 6f  6d 20 61 2f 62 2f 63 3a  |:..Random a/b/c:|
00006b80  20 43 6c 69 63 6b 20 74  6f 20 73 65 74 2f 75 6e  | Click to set/un|
00006b90  73 65 74 20 72 61 6e 64  6f 6d 20 73 65 6c 65 63  |set random selec|
00006ba0  74 69 6f 6e 20 6f 66 20  74 68 65 20 76 61 72 69  |tion of the vari|
00006bb0  61 62 6c 65 20 77 68 65  6e 20 61 0a 70 6c 6f 74  |able when a.plot|
00006bc0  20 69 73 20 73 74 61 72  74 65 64 2e 20 46 6f 72  | is started. For|
00006bd0  20 65 61 63 68 20 76 61  72 69 61 62 6c 65 20 74  | each variable t|
00006be0  68 65 72 65 20 69 73 20  61 6e 20 61 73 73 6f 63  |here is an assoc|
00006bf0  69 61 74 65 64 20 6d 61  78 69 6d 75 6d 2c 20 77  |iated maximum, w|
00006c00  68 69 63 68 20 63 61 6e  0a 62 65 20 63 68 61 6e  |hich can.be chan|
00006c10  67 65 64 20 66 72 6f 6d  20 74 68 65 20 64 61 74  |ged from the dat|
00006c20  61 20 70 61 6e 65 6c 2e  20 4e 65 77 20 76 61 72  |a panel. New var|
00006c30  69 61 62 6c 65 73 20 61  72 65 20 6e 6f 74 20 63  |iables are not c|
00006c40  68 6f 73 65 6e 20 77 68  65 6e 20 7a 6f 6f 6d 69  |hosen when zoomi|
00006c50  6e 67 2e 0a 4f 6e 63 65  20 79 6f 75 20 68 61 76  |ng..Once you hav|
00006c60  65 20 66 6f 75 6e 64 20  61 6e 20 69 6e 74 65 72  |e found an inter|
00006c70  65 73 74 69 6e 67 20 73  68 61 70 65 2c 20 74 75  |esting shape, tu|
00006c80  72 6e 20 6f 66 66 20 72  61 6e 64 6f 6d 20 76 61  |rn off random va|
00006c90  72 69 61 62 6c 65 73 2c  20 61 6e 64 20 75 73 65  |riables, and use|
00006ca0  0a 74 68 65 20 33 64 20  6f 70 74 69 6f 6e 73 20  |.the 3d options |
00006cb0  74 6f 20 65 78 70 6c 6f  72 65 20 74 68 65 20 73  |to explore the s|
00006cc0  68 61 70 65 2e 0a 0a 52  61 6e 64 6f 6d 20 63 6f  |hape...Random co|
00006cd0  6c 6f 75 72 3a 20 77 68  65 6e 20 73 65 74 20 61  |lour: when set a|
00006ce0  20 72 61 6e 64 6f 6d 20  63 6f 6c 6f 75 72 20 69  | random colour i|
00006cf0  73 20 63 68 6f 73 65 6e  20 61 66 74 65 72 20 65  |s chosen after e|
00006d00  76 65 72 79 20 31 30 30  20 70 6c 6f 74 73 2e 0a  |very 100 plots..|
00006d10  0a 53 74 65 70 20 43 6f  6c 6f 75 72 3a 20 74 68  |.Step Colour: th|
00006d20  65 20 63 6f 6c 6f 75 72  20 76 61 6c 75 65 20 69  |e colour value i|
00006d30  73 20 69 6e 63 72 65 61  73 65 64 20 61 66 74 65  |s increased afte|
00006d40  72 20 65 76 65 72 79 20  31 30 30 20 70 6c 6f 74  |r every 100 plot|
00006d50  73 2e 0a 0a 49 66 20 6e  65 69 74 68 65 72 20 52  |s...If neither R|
00006d60  61 6e 64 6f 6d 20 6f 72  20 53 74 65 70 20 63 6f  |andom or Step co|
00006d70  6c 6f 75 72 20 69 73 20  73 65 74 2c 20 74 68 65  |lour is set, the|
00006d80  6e 20 74 68 65 20 70 6c  6f 74 20 69 73 20 6d 61  |n the plot is ma|
00006d90  64 65 20 69 6e 20 77 68  69 74 65 0a 75 73 69 6e  |de in white.usin|
00006da0  67 20 65 78 63 6c 75 73  69 76 65 20 6f 72 27 69  |g exclusive or'i|
00006db0  6e 67 20 74 6f 20 74 72  61 63 65 20 74 68 65 20  |ng to trace the |
00006dc0  63 75 72 72 65 6e 74 20  70 6f 73 69 74 69 6f 6e  |current position|
00006dd0  2e 0a 0a 59 6f 75 20 63  61 6e 20 63 68 61 6e 67  |...You can chang|
00006de0  65 20 74 68 65 20 76 69  65 77 70 6f 69 6e 74 20  |e the viewpoint |
00006df0  77 68 69 6c 73 74 20 70  6c 6f 74 74 69 6e 67 20  |whilst plotting |
00006e00  62 79 20 70 72 65 73 73  69 6e 67 20 74 68 65 20  |by pressing the |
00006e10  63 75 72 73 6f 72 20 6b  65 79 73 2c 0a 61 6e 64  |cursor keys,.and|
00006e20  20 74 68 65 6e 20 70 72  65 73 73 69 6e 67 20 74  | then pressing t|
00006e30  68 65 20 73 70 61 63 65  20 62 61 72 20 74 6f 20  |he space bar to |
00006e40  72 65 73 74 61 72 74 2e  20 53 65 65 20 74 68 65  |restart. See the|
00006e50  20 33 64 20 73 65 63 74  69 6f 6e 20 69 6e 20 74  | 3d section in t|
00006e60  68 65 0a 21 4d 61 69 6e  48 65 6c 70 20 66 69 6c  |he.!MainHelp fil|
00006e70  65 20 66 6f 72 20 6d 6f  72 65 20 64 65 74 61 69  |e for more detai|
00006e80  6c 73 2e 20 54 72 79 20  53 74 65 70 20 52 61 74  |ls. Try Step Rat|
00006e90  65 3d 32 2e 30 65 2d 32  20 66 6f 72 20 74 68 65  |e=2.0e-2 for the|
00006ea0  20 62 65 73 74 20 75 73  65 20 6f 66 0a 74 68 69  | best use of.thi|
00006eb0  73 20 66 75 6e 63 74 69  6f 6e 20 2d 20 6e 6f 74  |s function - not|
00006ec0  65 20 74 68 61 74 20 62  69 67 67 65 72 20 76 61  |e that bigger va|
00006ed0  6c 75 65 73 20 64 65 73  74 72 6f 79 20 74 68 65  |lues destroy the|
00006ee0  20 73 68 61 70 65 2e 0a  20 20 0a 41 6c 67 6f 72  | shape..  .Algor|
00006ef0  69 74 68 6d 0a 2d 2d 2d  2d 2d 2d 2d 2d 2d 0a 20  |ithm.---------. |
00006f00  20 20 20 78 3d 31 3b 20  79 3d 31 3b 20 7a 3d 31  |   x=1; y=1; z=1|
00006f10  3b 0a 20 20 20 20 64 6f  0a 20 20 20 20 20 20 20  |;.    do.       |
00006f20  64 78 3d 61 2a 28 70 79  2d 70 78 29 0a 20 20 20  |dx=a*(py-px).   |
00006f30  20 20 20 20 64 79 3d 70  78 2a 28 62 2d 70 7a 29  |    dy=px*(b-pz)|
00006f40  2d 70 79 0a 20 20 20 20  20 20 20 64 7a 3d 70 78  |-py.       dz=px|
00006f50  2a 70 79 2d 63 2a 70 7a  0a 20 20 20 20 20 20 20  |*py-c*pz.       |
00006f60  70 78 2b 3d 64 78 2a 73  74 65 70 5f 72 61 74 65  |px+=dx*step_rate|
00006f70  0a 20 20 20 20 20 20 20  70 79 2b 3d 64 79 2a 73  |.       py+=dy*s|
00006f80  74 65 70 5f 72 61 74 65  0a 20 20 20 20 20 20 20  |tep_rate.       |
00006f90  70 7a 2b 3d 64 7a 2a 73  74 65 70 5f 72 61 74 65  |pz+=dz*step_rate|
00006fa0  0a 20 20 20 20 20 20 20  64 72 61 77 20 70 78 2c  |.       draw px,|
00006fb0  70 7a 20 20 20 20 20 20  20 20 20 20 20 77 68 65  |pz           whe|
00006fc0  72 65 20 70 78 2f 70 7a  20 61 72 65 20 33 64 20  |re px/pz are 3d |
00006fd0  74 72 61 6e 73 66 6f 72  6d 73 20 6f 66 20 78 2f  |transforms of x/|
00006fe0  79 2f 7a 0a 20 20 20 20  66 6f 72 65 76 65 72 0a  |y/z.    forever.|
00006ff0  0a 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |.---------------|
00007000  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00007030  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 0a 0a 4d 61 6e  |-----------..Man|
00007040  64 65 6c 62 72 6f 74 0a  2d 2d 2d 2d 2d 2d 2d 2d  |delbrot.--------|
00007050  2d 2d 0a 54 68 65 20 63  6c 61 73 73 69 63 20 66  |--.The classic f|
00007060  72 61 63 74 61 6c 2c 20  73 75 70 70 6c 69 65 64  |ractal, supplied|
00007070  20 68 65 72 65 20 69 6e  20 38 20 64 69 66 66 65  | here in 8 diffe|
00007080  72 65 6e 74 20 6d 65 74  68 6f 64 73 2e 20 54 68  |rent methods. Th|
00007090  61 6e 6b 73 20 74 6f 20  4a 6f 79 63 65 0a 48 61  |anks to Joyce.Ha|
000070a0  73 6c 61 6d 20 66 6f 72  20 70 72 6f 76 69 64 69  |slam for providi|
000070b0  6e 67 20 74 68 65 20 65  6e 68 61 6e 63 65 64 20  |ng the enhanced |
000070c0  76 65 72 73 69 6f 6e 73  2e 0a 0a 54 68 65 20 69  |versions...The i|
000070d0  6e 69 74 69 61 6c 20 7a  6f 6f 6d 20 75 73 65 73  |nitial zoom uses|
000070e0  20 69 6e 74 65 67 65 72  20 6d 61 74 68 73 2c 20  | integer maths, |
000070f0  74 68 65 6e 20 72 65 76  65 72 74 73 20 74 6f 20  |then reverts to |
00007100  74 6f 20 61 20 72 61 74  68 65 72 20 73 6c 6f 77  |to a rather slow|
00007110  65 72 0a 66 6c 6f 61 74  69 6e 67 20 70 6f 69 6e  |er.floating poin|
00007120  74 2e 20 54 68 65 20 64  61 74 61 20 76 61 6c 75  |t. The data valu|
00007130  65 73 20 70 72 6f 76 69  64 65 64 20 61 72 65 20  |es provided are |
00007140  74 68 65 20 63 6f 2d 6f  72 64 69 6e 61 74 65 73  |the co-ordinates|
00007150  20 61 6e 64 20 73 69 7a  65 20 6f 66 0a 74 68 65  | and size of.the|
00007160  20 69 6d 61 67 65 2c 20  61 6e 64 20 74 68 65 20  | image, and the |
00007170  6d 61 78 69 6d 61 6c 20  61 6e 64 20 6d 69 6e 69  |maximal and mini|
00007180  6d 61 6c 20 69 74 65 72  61 74 69 6f 6e 20 63 6f  |mal iteration co|
00007190  75 6e 74 2e 20 48 69 67  68 20 4d 61 78 20 49 74  |unt. High Max It|
000071a0  65 72 20 76 61 6c 75 65  73 0a 77 69 6c 6c 20 73  |er values.will s|
000071b0  6c 6f 77 20 64 6f 77 6e  20 70 6c 6f 74 74 69 6e  |low down plottin|
000071c0  67 2e 20 53 65 74 74 69  6e 67 20 4d 69 6e 20 49  |g. Setting Min I|
000071d0  74 65 72 20 61 6c 6c 6f  77 73 20 65 78 63 6c 75  |ter allows exclu|
000071e0  73 69 6f 6e 20 6f 66 20  6c 6f 77 20 69 74 65 72  |sion of low iter|
000071f0  61 74 69 6f 6e 0a 63 6f  6c 6f 75 72 20 76 61 6c  |ation.colour val|
00007200  75 65 73 2e 20 53 65 74  20 4d 69 6e 20 49 74 65  |ues. Set Min Ite|
00007210  72 3d 4d 61 78 20 49 74  65 72 20 74 6f 20 6f 6e  |r=Max Iter to on|
00007220  6c 79 20 70 6c 6f 74 20  74 68 65 20 69 6e 74 65  |ly plot the inte|
00007230  72 69 6f 72 2e 20 46 72  6f 6d 20 74 68 65 0a 6d  |rior. From the.m|
00007240  65 6e 75 20 74 68 65 20  6f 70 74 69 6f 6e 73 20  |enu the options |
00007250  61 72 65 3a 0a 0a 4a 75  6c 69 61 20 53 65 74 3a  |are:..Julia Set:|
00007260  20 73 77 69 74 63 68 65  73 20 74 6f 20 74 68 65  | switches to the|
00007270  20 65 71 75 69 76 61 6c  65 6e 74 20 4a 75 6c 69  | equivalent Juli|
00007280  61 20 73 65 74 2e 20 4d  6f 76 69 6e 67 20 74 68  |a set. Moving th|
00007290  65 20 6d 6f 75 73 65 20  63 68 61 6e 67 65 73 0a  |e mouse changes.|
000072a0  74 68 65 20 52 65 61 6c  20 28 78 29 20 61 6e 64  |the Real (x) and|
000072b0  20 49 6d 61 67 69 6e 61  72 79 20 28 79 29 20 76  | Imaginary (y) v|
000072c0  61 6c 75 65 73 20 61 73  20 73 68 6f 77 6e 20 6f  |alues as shown o|
000072d0  6e 20 74 6f 70 20 6f 66  20 74 68 65 20 73 63 72  |n top of the scr|
000072e0  65 65 6e 2e 20 50 72 65  73 73 0a 73 65 6c 65 63  |een. Press.selec|
000072f0  74 20 74 6f 20 67 65 6e  65 72 61 74 65 20 74 68  |t to generate th|
00007300  65 20 66 72 61 63 74 61  6c 2e 20 54 68 65 20 62  |e fractal. The b|
00007310  65 73 74 20 70 6c 61 63  65 73 20 74 6f 20 63 68  |est places to ch|
00007320  6f 6f 73 65 20 61 72 65  20 61 6c 6f 6e 67 20 74  |oose are along t|
00007330  68 65 0a 4d 61 6e 64 65  6c 62 72 6f 74 20 62 6f  |he.Mandelbrot bo|
00007340  75 6e 64 61 72 79 2e 20  41 66 74 65 72 20 73 65  |undary. After se|
00007350  65 69 6e 67 20 74 68 65  20 4a 75 6c 69 61 20 69  |eing the Julia i|
00007360  6d 61 67 65 20 79 6f 75  20 63 61 6e 20 6a 75 6d  |mage you can jum|
00007370  70 20 62 61 63 6b 20 74  6f 20 74 68 65 0a 4d 61  |p back to the.Ma|
00007380  6e 64 65 6c 62 72 6f 74  20 62 79 20 75 73 69 6e  |ndelbrot by usin|
00007390  67 20 44 69 73 70 6c 61  79 2d 3e 50 72 65 76 69  |g Display->Previ|
000073a0  6f 75 73 20 69 66 20 79  6f 75 20 68 61 76 65 20  |ous if you have |
000073b0  6f 6e 6c 79 20 64 72 61  77 6e 20 74 68 65 20 4a  |only drawn the J|
000073c0  75 6c 69 61 20 6f 6e 63  65 2e 0a 0a 51 75 61 72  |ulia once...Quar|
000073d0  74 65 72 6e 69 6f 6e 3a  20 73 77 69 74 63 68 65  |ternion: switche|
000073e0  73 20 74 6f 20 74 68 65  20 65 71 75 69 76 61 6c  |s to the equival|
000073f0  65 6e 74 20 51 75 61 74  65 72 6e 69 6f 6e 20 6d  |ent Quaternion m|
00007400  61 70 20 69 6e 20 61 20  73 69 6d 69 6c 61 72 20  |ap in a similar |
00007410  77 61 79 20 74 6f 0a 61  62 6f 76 65 2e 20 54 68  |way to.above. Th|
00007420  65 20 73 65 6c 65 63 74  65 64 20 78 20 76 61 6c  |e selected x val|
00007430  75 65 73 20 62 65 63 6f  6d 65 73 20 71 30 20 61  |ues becomes q0 a|
00007440  6e 64 20 79 20 2d 3e 20  71 32 20 69 6e 20 74 68  |nd y -> q2 in th|
00007450  65 20 51 75 61 74 65 72  6e 69 6f 6e 20 73 65 74  |e Quaternion set|
00007460  2e 0a 0a 46 75 6e 63 74  69 6f 6e 3a 20 38 20 64  |...Function: 8 d|
00007470  69 66 66 65 72 65 6e 74  20 4d 61 6e 64 65 6c 62  |ifferent Mandelb|
00007480  72 6f 74 20 66 75 6e 63  74 69 6f 6e 73 3a 20 73  |rot functions: s|
00007490  71 75 61 72 65 2c 20 63  75 62 69 63 2c 20 71 75  |quare, cubic, qu|
000074a0  61 72 74 69 63 2c 0a 42  72 75 63 65 20 49 6b 65  |artic,.Bruce Ike|
000074b0  6e 61 67 61 27 73 20 66  75 6e 63 74 69 6f 6e 2c  |naga's function,|
000074c0  20 61 20 66 75 6e 63 74  69 6f 6e 20 64 69 73 63  | a function disc|
000074d0  6f 76 65 72 65 64 20 62  79 20 55 73 68 69 6b 69  |overed by Ushiki|
000074e0  20 63 61 6c 6c 65 64 20  50 68 6f 65 6e 69 78 2c  | called Phoenix,|
000074f0  0a 61 6e 64 20 49 6e 76  65 72 73 65 20 73 71 75  |.and Inverse squ|
00007500  61 72 65 2c 20 63 75 62  69 63 20 61 6e 64 20 71  |are, cubic and q|
00007510  75 61 72 74 69 63 2e 0a  0a 49 6e 66 69 6c 6c 3a  |uartic...Infill:|
00007520  20 70 72 6f 76 69 64 65  73 20 35 20 64 69 66 66  | provides 5 diff|
00007530  65 72 65 6e 74 20 63 6f  6c 6f 75 72 69 6e 67 20  |erent colouring |
00007540  6f 70 74 69 6f 6e 73 20  66 6f 72 20 74 68 65 20  |options for the |
00007550  69 6e 74 65 72 69 6f 72  2e 20 42 6c 61 63 6b 20  |interior. Black |
00007560  75 73 65 73 0a 6e 6f 20  63 6f 6c 6f 75 72 20 77  |uses.no colour w|
00007570  68 69 6c 73 74 20 4d 61  78 2e 20 49 74 65 72 20  |hilst Max. Iter |
00007580  75 73 65 73 20 74 68 65  20 76 61 6c 75 65 20 6f  |uses the value o|
00007590  66 20 4d 61 78 20 49 74  65 72 20 61 73 20 74 68  |f Max Iter as th|
000075a0  65 20 63 6f 6c 6f 75 72  2e 20 54 68 65 0a 6f 74  |e colour. The.ot|
000075b0  68 65 72 20 33 20 67 65  6e 65 72 61 74 65 20 61  |her 3 generate a|
000075c0  20 63 6f 6c 6f 75 72 20  62 61 73 65 64 20 6f 6e  | colour based on|
000075d0  20 74 68 65 20 6c 61 73  74 20 69 74 65 72 61 74  | the last iterat|
000075e0  65 64 20 76 61 6c 75 65  20 6f 66 20 7a 2e 0a 0a  |ed value of z...|
000075f0  4d 61 6e 64 65 6c 62 72  6f 74 73 20 61 6e 64 20  |Mandelbrots and |
00007600  4a 75 6c 69 61 73 20 63  61 6e 20 62 65 20 64 72  |Julias can be dr|
00007610  61 77 6e 20 64 69 72 65  63 74 6c 79 20 69 6e 20  |awn directly in |
00007620  33 64 20 62 79 20 74 75  72 6e 69 6e 67 20 6f 6e  |3d by turning on|
00007630  20 74 68 65 20 33 64 20  58 2f 59 20 50 6c 6f 74  | the 3d X/Y Plot|
00007640  20 6f 70 74 69 6f 6e 2e  20 53 65 65 20 74 68 65  | option. See the|
00007650  20 33 64 20 73 65 63 74  69 6f 6e 20 6f 66 20 21  | 3d section of !|
00007660  4d 61 69 6e 48 65 6c 70  20 66 6f 72 20 64 65 74  |MainHelp for det|
00007670  61 69 6c 73 2e 0a 0a 41  6c 67 6f 72 69 74 68 6d  |ails...Algorithm|
00007680  73 0a 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 0a 46 6f 72  |s.----------.For|
00007690  20 65 61 63 68 20 70 69  78 65 6c 20 77 65 20 63  | each pixel we c|
000076a0  61 6c 63 75 6c 61 74 65  20 74 68 65 20 78 20 26  |alculate the x &|
000076b0  20 79 20 76 61 6c 75 65  20 61 6e 64 20 74 68 65  | y value and the|
000076c0  6e 20 69 74 65 72 61 74  65 2e 20 54 68 65 20 63  |n iterate. The c|
000076d0  6f 6c 6f 75 72 20 69 73  0a 74 68 65 20 69 74 65  |olour is.the ite|
000076e0  72 61 74 69 6f 6e 20 6e  75 6d 62 65 72 20 75 6e  |ration number un|
000076f0  6c 65 73 73 20 75 75 2b  76 76 3e 34 2e 30 2c 20  |less uu+vv>4.0, |
00007700  77 68 65 6e 20 77 65 20  73 65 74 20 74 68 65 20  |when we set the |
00007710  63 6f 6c 6f 75 72 20 74  6f 20 30 20 28 6f 72 20  |colour to 0 (or |
00007720  61 73 0a 73 65 74 20 62  79 20 74 68 65 20 49 6e  |as.set by the In|
00007730  74 65 72 69 6f 72 20 6d  65 6e 75 20 6f 70 74 69  |terior menu opti|
00007740  6f 6e 29 2e 0a 20 0a 53  71 75 61 72 65 3a 20 7a  |on).. .Square: z|
00007750  3d 7a 2a 7a 2b 63 0a 20  20 20 20 20 20 20 20 20  |=z*z+c.         |
00007760  20 20 20 20 20 20 20 20  20 69 74 65 72 3d 30 0a  |         iter=0.|
00007770  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00007780  20 20 75 3d 30 3b 20 76  3d 30 3b 0a 20 20 20 20  |  u=0; v=0;.    |
00007790  20 20 20 20 20 20 20 20  20 20 20 20 20 20 72 65  |              re|
000077a0  70 65 61 74 0a 20 20 20  20 20 20 20 20 20 20 20  |peat.           |
000077b0  20 20 20 20 20 20 20 20  20 75 75 3d 75 2a 75 3b  |         uu=u*u;|
000077c0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
000077d0  20 20 20 20 20 76 76 3d  76 2a 76 3b 0a 20 20 20  |     vv=v*v;.   |
000077e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000077f0  20 6d 3d 75 75 2d 76 76  2b 78 0a 20 20 20 20 20  | m=uu-vv+x.     |
00007800  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 76  |               v|
00007810  3d 75 2a 28 76 2b 76 29  2b 79 0a 20 20 20 20 20  |=u*(v+v)+y.     |
00007820  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 75  |               u|
00007830  3d 6d 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |=m.             |
00007840  20 20 20 20 20 20 20 69  74 65 72 2b 3d 31 0a 20  |       iter+=1. |
00007850  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00007860  20 75 6e 74 69 6c 20 28  69 74 65 72 3e 6d 61 78  | until (iter>max|
00007870  69 74 65 72 20 6f 72 20  75 75 2b 76 76 3e 34 2e  |iter or uu+vv>4.|
00007880  30 29 0a 0a 43 75 62 69  63 3a 20 7a 3d 7a 2a 7a  |0)..Cubic: z=z*z|
00007890  2a 7a 2b 63 0a 20 20 20  20 20 20 20 20 20 20 20  |*z+c.           |
000078a0  20 20 20 20 20 20 20 69  74 65 72 3d 30 0a 20 20  |       iter=0.  |
000078b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000078c0  75 3d 30 3b 20 76 3d 30  3b 0a 20 20 20 20 20 20  |u=0; v=0;.      |
000078d0  20 20 20 20 20 20 20 20  20 20 20 20 72 65 70 65  |            repe|
000078e0  61 74 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |at.             |
000078f0  20 20 20 20 20 20 20 75  75 3d 75 2a 75 3b 0a 20  |       uu=u*u;. |
00007900  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00007910  20 20 20 76 76 3d 76 2a  76 3b 0a 20 20 20 20 20  |   vv=v*v;.     |
00007920  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 75  |               u|
00007930  3d 75 75 2a 75 2d 33 2a  75 2a 76 76 2b 78 0a 20  |=uu*u-3*u*vv+x. |
00007940  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00007950  20 20 20 76 3d 33 2a 76  2a 75 75 2d 76 76 2a 76  |   v=3*v*uu-vv*v|
00007960  2b 79 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |+y.             |
00007970  20 20 20 20 20 20 20 69  74 65 72 2b 3d 31 0a 20  |       iter+=1. |
00007980  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00007990  20 75 6e 74 69 6c 20 28  69 74 65 72 3e 6d 61 78  | until (iter>max|
000079a0  69 74 65 72 20 6f 72 20  75 75 2b 76 76 3e 34 2e  |iter or uu+vv>4.|
000079b0  30 29 0a 0a 51 75 61 72  74 69 63 3a 20 7a 3d 7a  |0)..Quartic: z=z|
000079c0  2a 7a 2a 7a 2a 7a 2b 63  0a 20 20 20 20 20 20 20  |*z*z*z+c.       |
000079d0  20 20 20 20 20 20 20 20  20 20 20 69 74 65 72 3d  |           iter=|
000079e0  30 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |0.              |
000079f0  20 20 20 20 75 3d 30 3b  20 76 3d 30 3b 0a 20 20  |    u=0; v=0;.  |
00007a00  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00007a10  72 65 70 65 61 74 0a 20  20 20 20 20 20 20 20 20  |repeat.         |
00007a20  20 20 20 20 20 20 20 20  20 20 20 75 75 3d 75 2a  |           uu=u*|
00007a30  75 3b 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |u;.             |
00007a40  20 20 20 20 20 20 20 76  76 3d 76 2a 76 3b 0a 20  |       vv=v*v;. |
00007a50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00007a60  20 20 20 6d 3d 75 75 2a  75 75 2b 36 2a 75 75 2a  |   m=uu*uu+6*uu*|
00007a70  76 76 2b 76 76 2a 76 76  2b 78 0a 20 20 20 20 20  |vv+vv*vv+x.     |
00007a80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 76  |               v|
00007a90  3d 34 2a 75 2a 76 2a 28  75 75 2d 76 76 29 2b 79  |=4*u*v*(uu-vv)+y|
00007aa0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00007ab0  20 20 20 20 20 75 3d 6d  0a 20 20 20 20 20 20 20  |     u=m.       |
00007ac0  20 20 20 20 20 20 20 20  20 20 20 20 20 69 74 65  |             ite|
00007ad0  72 2b 3d 31 0a 20 20 20  20 20 20 20 20 20 20 20  |r+=1.           |
00007ae0  20 20 20 20 20 20 20 75  6e 74 69 6c 20 28 69 74  |       until (it|
00007af0  65 72 3e 6d 61 78 69 74  65 72 20 6f 72 20 75 75  |er>maxiter or uu|
00007b00  2b 76 76 3e 34 2e 30 29  0a 0a 49 6b 65 6e 61 67  |+vv>4.0)..Ikenag|
00007b10  61 3a 20 20 20 20 20 20  20 20 20 20 69 74 65 72  |a:          iter|
00007b20  3d 30 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |=0.             |
00007b30  20 20 20 20 20 75 3d 30  3b 20 76 3d 30 3b 0a 20  |     u=0; v=0;. |
00007b40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00007b50  20 72 65 70 65 61 74 0a  20 20 20 20 20 20 20 20  | repeat.        |
00007b60  20 20 20 20 20 20 20 20  20 20 20 20 75 75 3d 75  |            uu=u|
00007b70  2a 75 3b 0a 20 20 20 20  20 20 20 20 20 20 20 20  |*u;.            |
00007b80  20 20 20 20 20 20 20 20  76 76 3d 76 2a 76 3b 0a  |        vv=v*v;.|
00007b90  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00007ba0  20 20 20 20 6d 3d 75 2a  28 75 75 2d 33 2a 76 76  |    m=u*(uu-3*vv|
00007bb0  2b 78 2d 31 29 2d 76 2a  79 2d 78 0a 20 20 20 20  |+x-1)-v*y-x.    |
00007bc0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00007bd0  76 3d 76 2a 28 33 2a 75  75 2d 76 76 2b 78 2d 31  |v=v*(3*uu-vv+x-1|
00007be0  29 2b 75 2a 79 2d 79 0a  20 20 20 20 20 20 20 20  |)+u*y-y.        |
00007bf0  20 20 20 20 20 20 20 20  20 20 20 20 75 3d 6d 0a  |            u=m.|
00007c00  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00007c10  20 20 20 20 69 74 65 72  2b 3d 31 0a 20 20 20 20  |    iter+=1.    |
00007c20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 75 6e  |              un|
00007c30  74 69 6c 20 28 69 74 65  72 3e 6d 61 78 69 74 65  |til (iter>maxite|
00007c40  72 20 6f 72 20 75 75 2b  76 76 3e 34 2e 30 29 0a  |r or uu+vv>4.0).|
00007c50  0a 50 68 6f 65 6e 69 78  3a 20 20 20 20 20 20 20  |.Phoenix:       |
00007c60  20 20 20 69 74 65 72 3d  30 0a 20 20 20 20 20 20  |   iter=0.      |
00007c70  20 20 20 20 20 20 20 20  20 20 20 20 75 3d 30 3b  |            u=0;|
00007c80  20 76 3d 30 3b 20 75 78  3d 30 3b 20 75 79 3d 30  | v=0; ux=0; uy=0|
00007c90  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00007ca0  20 20 20 72 65 70 65 61  74 0a 20 20 20 20 20 20  |   repeat.      |
00007cb0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 75 75  |              uu|
00007cc0  3d 75 2a 75 3b 0a 20 20  20 20 20 20 20 20 20 20  |=u*u;.          |
00007cd0  20 20 20 20 20 20 20 20  20 20 76 76 3d 76 2a 76  |          vv=v*v|
00007ce0  3b 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |;.              |
00007cf0  20 20 20 20 20 20 6d 3d  32 2a 75 2a 76 2b 79 2a  |      m=2*u*v+y*|
00007d00  76 78 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |vx.             |
00007d10  20 20 20 20 20 20 20 6e  3d 75 75 2d 76 76 2b 78  |       n=uu-vv+x|
00007d20  2b 79 2a 75 78 0a 20 20  20 20 20 20 20 20 20 20  |+y*ux.          |
00007d30  20 20 20 20 20 20 20 20  20 20 75 78 3d 75 0a 20  |          ux=u. |
00007d40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00007d50  20 20 20 76 78 3d 76 0a  20 20 20 20 20 20 20 20  |   vx=v.        |
00007d60  20 20 20 20 20 20 20 20  20 20 20 20 75 3d 6d 0a  |            u=m.|
00007d70  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00007d80  20 20 20 20 76 3d 6e 0a  20 20 20 20 20 20 20 20  |    v=n.        |
00007d90  20 20 20 20 20 20 20 20  20 20 20 20 69 74 65 72  |            iter|
00007da0  2b 3d 31 0a 20 20 20 20  20 20 20 20 20 20 20 20  |+=1.            |
00007db0  20 20 20 20 20 20 75 6e  74 69 6c 20 28 69 74 65  |      until (ite|
00007dc0  72 3e 6d 61 78 69 74 65  72 20 6f 72 20 75 75 2b  |r>maxiter or uu+|
00007dd0  76 76 3e 34 2e 30 29 0a  0a 49 6e 76 65 72 73 65  |vv>4.0)..Inverse|
00007de0  3a 20 20 20 20 20 20 20  20 20 20 72 3d 78 2a 78  |:          r=x*x|
00007df0  2b 79 2a 79 0a 20 20 20  20 20 20 20 20 20 20 20  |+y*y.           |
00007e00  20 20 20 20 20 20 20 78  3d 78 2f 72 0a 20 20 20  |       x=x/r.   |
00007e10  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 79  |               y|
00007e20  3d 79 2f 72 0a 20 20 20  20 20 20 20 20 20 20 20  |=y/r.           |
00007e30  20 20 20 20 20 20 20 74  68 65 6e 20 61 73 20 70  |       then as p|
00007e40  65 72 20 53 71 75 61 72  65 2f 43 75 62 69 63 2f  |er Square/Cubic/|
00007e50  51 75 61 72 74 69 63 0a  0a 2d 2d 2d 2d 2d 2d 2d  |Quartic..-------|
00007e60  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00007ea0  2d 2d 2d 0a 0a 4d 61 72  74 69 6e 20 4d 61 70 3a  |---..Martin Map:|
00007eb0  20 75 73 65 73 20 74 68  65 20 61 6c 67 6f 72 69  | uses the algori|
00007ec0  74 68 6d 20 6f 66 20 44  72 2e 20 4d 61 72 74 69  |thm of Dr. Marti|
00007ed0  6e 2e 0a 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 0a 43 68  |n..----------.Ch|
00007ee0  61 6e 67 65 20 74 68 65  20 76 61 6c 75 65 73 20  |ange the values |
00007ef0  6f 66 20 61 2c 20 62 20  6f 72 20 63 20 74 6f 20  |of a, b or c to |
00007f00  67 65 74 20 64 69 66 66  65 72 65 6e 74 20 70 61  |get different pa|
00007f10  74 74 65 72 6e 73 2e 0a  54 68 65 20 63 6f 6c 6f  |tterns..The colo|
00007f20  75 72 73 20 61 72 65 20  70 6c 6f 74 74 65 64 20  |urs are plotted |
00007f30  61 74 20 72 61 6e 64 6f  6d 2e 20 54 68 65 20 7a  |at random. The z|
00007f40  6f 6f 6d 20 6f 70 74 69  6f 6e 20 64 6f 65 73 20  |oom option does |
00007f50  6e 6f 74 20 67 69 76 65  20 6d 6f 72 65 0a 64 65  |not give more.de|
00007f60  74 61 69 6c 2c 20 62 75  74 20 61 6c 6c 6f 77 73  |tail, but allows|
00007f70  20 74 68 65 20 73 69 7a  65 20 61 6e 64 20 70 6f  | the size and po|
00007f80  73 69 74 69 6f 6e 20 6f  66 20 74 68 65 20 69 6d  |sition of the im|
00007f90  61 67 65 20 74 6f 20 62  65 20 63 68 61 6e 67 65  |age to be change|
00007fa0  64 2e 20 54 68 65 0a 72  6f 75 74 69 6e 65 20 69  |d. The.routine i|
00007fb0  73 20 69 6e 66 69 6e 69  74 65 20 61 6e 64 20 73  |s infinite and s|
00007fc0  6f 20 79 6f 75 20 77 69  6c 6c 20 6e 65 65 64 20  |o you will need |
00007fd0  74 6f 20 73 65 6c 65 63  74 20 53 74 6f 70 20 74  |to select Stop t|
00007fe0  6f 20 65 6e 64 20 69 74  2e 0a 0a 46 72 6f 6d 20  |o end it...From |
00007ff0  74 68 65 20 6d 65 6e 75  20 79 6f 75 20 63 61 6e  |the menu you can|
00008000  20 73 65 6c 65 63 74 20  77 68 65 74 68 65 72 20  | select whether |
00008010  61 2c 20 62 20 6f 72 20  63 20 61 72 65 20 73 65  |a, b or c are se|
00008020  74 20 72 61 6e 64 6f 6d  6c 79 2e 20 44 75 65 20  |t randomly. Due |
00008030  74 6f 20 74 68 65 0a 77  61 79 20 74 68 65 20 61  |to the.way the a|
00008040  6c 67 6f 72 69 74 68 6d  20 77 6f 72 6b 73 20 69  |lgorithm works i|
00008050  74 20 69 73 20 6e 6f 74  20 70 6f 73 73 69 62 6c  |t is not possibl|
00008060  65 20 74 6f 20 67 75 65  73 73 20 74 68 65 20 73  |e to guess the s|
00008070  69 7a 65 20 6f 72 20 70  6f 73 69 74 69 6f 6e 20  |ize or position |
00008080  6f 66 0a 74 68 65 20 72  65 73 75 6c 74 69 6e 67  |of.the resulting|
00008090  20 69 6d 61 67 65 2e 20  4e 65 77 20 76 61 72 69  | image. New vari|
000080a0  61 62 6c 65 73 20 61 72  65 20 6e 6f 74 20 63 68  |ables are not ch|
000080b0  6f 73 65 6e 20 77 68 65  6e 20 7a 6f 6f 6d 69 6e  |osen when zoomin|
000080c0  67 2e 0a 0a 46 6f 72 20  65 61 63 68 20 76 61 72  |g...For each var|
000080d0  69 61 62 6c 65 20 74 68  65 72 65 20 69 73 20 61  |iable there is a|
000080e0  6e 20 61 73 73 6f 63 69  61 74 65 64 20 6d 61 78  |n associated max|
000080f0  69 6d 75 6d 20 66 6f 72  20 74 68 65 20 72 61 6e  |imum for the ran|
00008100  64 6f 6d 20 6e 75 6d 62  65 72 2c 0a 77 68 69 63  |dom number,.whic|
00008110  68 20 63 61 6e 20 62 65  20 63 68 61 6e 67 65 64  |h can be changed|
00008120  20 66 72 6f 6d 20 74 68  65 20 64 61 74 61 20 70  | from the data p|
00008130  61 6e 65 6c 2e 0a 0a 2d  2d 2d 2d 2d 2d 2d 2d 2d  |anel...---------|
00008140  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00008180  2d 0a 4d 69 64 70 6f 69  6e 74 0a 2d 2d 2d 2d 2d  |-.Midpoint.-----|
00008190  2d 2d 2d 0a 54 68 65 20  6d 69 64 70 6f 69 6e 74  |---.The midpoint|
000081a0  20 64 69 73 70 6c 61 63  65 6d 65 6e 74 20 61 6c  | displacement al|
000081b0  67 6f 72 69 74 68 6d 20  69 73 20 6f 6e 65 20 6f  |gorithm is one o|
000081c0  66 20 74 68 65 20 73 69  6d 70 6c 65 73 74 20 75  |f the simplest u|
000081d0  73 65 64 20 74 6f 20 67  65 6e 65 72 61 74 65 0a  |sed to generate.|
000081e0  66 72 61 63 74 61 6c 20  6c 61 6e 64 73 63 61 70  |fractal landscap|
000081f0  65 73 2e 20 53 74 61 72  74 20 77 69 74 68 20 61  |es. Start with a|
00008200  20 73 71 75 61 72 65 20  61 6e 64 20 72 61 6e 64  | square and rand|
00008210  6f 6d 6c 79 20 63 68 6f  6f 73 65 20 74 68 65 20  |omly choose the |
00008220  68 65 69 67 68 74 73 20  6f 66 0a 65 61 63 68 20  |heights of.each |
00008230  63 6f 72 6e 65 72 2e 20  44 69 76 69 64 65 20 74  |corner. Divide t|
00008240  68 69 73 20 73 71 75 61  72 65 20 69 6e 74 6f 20  |his square into |
00008250  73 6d 61 6c 6c 65 72 20  6f 6e 65 73 20 61 6e 64  |smaller ones and|
00008260  20 73 65 74 20 74 68 65  20 68 65 69 67 68 74 20  | set the height |
00008270  6f 66 20 65 61 63 68 0a  75 6e 70 6c 6f 74 74 65  |of each.unplotte|
00008280  64 20 63 6f 72 6e 65 72  20 74 6f 20 74 68 65 20  |d corner to the |
00008290  61 76 65 72 61 67 65 20  68 65 69 67 68 74 20 6f  |average height o|
000082a0  66 20 74 68 65 20 73 75  72 72 6f 75 6e 64 69 6e  |f the surroundin|
000082b0  67 20 70 6f 69 6e 74 73  2c 20 2b 2f 2d 20 61 0a  |g points, +/- a.|
000082c0  72 61 6e 64 6f 6d 20 64  69 73 70 6c 61 63 65 6d  |random displacem|
000082d0  65 6e 74 2e 20 54 68 69  73 20 70 72 6f 63 65 73  |ent. This proces|
000082e0  73 20 69 73 20 72 65 70  65 61 74 65 64 20 75 6e  |s is repeated un|
000082f0  74 69 6c 20 77 65 20 72  65 61 63 68 20 61 20 75  |til we reach a u|
00008300  6e 69 74 0a 73 71 75 61  72 65 2e 20 41 73 20 77  |nit.square. As w|
00008310  65 20 70 72 6f 63 65 65  64 20 74 68 65 20 6d 61  |e proceed the ma|
00008320  78 69 6d 75 6d 20 64 69  73 70 6c 61 63 65 6d 65  |ximum displaceme|
00008330  6e 74 20 69 73 20 72 65  64 75 63 65 64 20 70 72  |nt is reduced pr|
00008340  6f 70 6f 72 74 69 6f 6e  61 74 65 6c 79 2e 0a 0a  |oportionately...|
00008350  53 74 61 72 74 69 6e 67  20 77 69 74 68 20 6a 75  |Starting with ju|
00008360  73 74 20 34 20 72 61 6e  64 6f 6d 20 70 6f 69 6e  |st 4 random poin|
00008370  74 73 20 70 72 6f 64 75  63 65 73 20 61 20 73 6d  |ts produces a sm|
00008380  6f 6f 74 68 20 72 6f 6c  6c 69 6e 67 20 6c 61 6e  |ooth rolling lan|
00008390  64 73 63 61 70 65 2e 20  54 6f 0a 67 65 74 20 61  |dscape. To.get a|
000083a0  20 6d 6f 72 65 20 76 61  72 69 65 64 20 6c 61 6e  | more varied lan|
000083b0  64 73 63 61 70 65 20 6d  6f 72 65 20 6f 66 20 74  |dscape more of t|
000083c0  68 65 20 73 71 75 61 72  65 73 20 61 72 65 20 70  |he squares are p|
000083d0  6c 6f 74 74 65 64 20 77  69 74 68 20 72 61 6e 64  |lotted with rand|
000083e0  6f 6d 0a 68 65 69 67 68  74 73 20 70 72 69 6f 72  |om.heights prior|
000083f0  20 74 6f 20 70 65 72 66  6f 72 6d 69 6e 67 20 74  | to performing t|
00008400  68 65 20 6d 69 64 70 6f  69 6e 74 20 64 69 73 70  |he midpoint disp|
00008410  6c 61 63 65 6d 65 6e 74  2e 20 46 6f 72 20 6d 6f  |lacement. For mo|
00008420  72 65 20 69 6e 66 6f 72  6d 61 74 69 6f 6e 0a 73  |re information.s|
00008430  65 65 20 54 68 65 20 53  63 69 65 6e 63 65 20 4f  |ee The Science O|
00008440  66 20 46 72 61 63 74 61  6c 73 2c 20 65 73 70 65  |f Fractals, espe|
00008450  63 69 61 6c 6c 79 20 70  39 36 2e 0a 0a 4d 65 6e  |cially p96...Men|
00008460  75 20 4f 70 74 69 6f 6e  73 0a 2d 2d 2d 2d 2d 2d  |u Options.------|
00008470  2d 2d 2d 2d 2d 2d 0a 52  61 6e 64 6f 6d 3a 20 77  |------.Random: w|
00008480  68 65 6e 20 6f 6e 20 61  20 64 69 66 66 65 72 65  |hen on a differe|
00008490  6e 74 20 6c 61 6e 64 73  63 61 70 65 20 69 73 20  |nt landscape is |
000084a0  70 6c 6f 74 74 65 64 2e  20 53 65 74 20 74 6f 20  |plotted. Set to |
000084b0  6f 66 66 20 74 6f 20 61  6c 6c 6f 77 0a 72 65 2d  |off to allow.re-|
000084c0  67 65 6e 65 72 61 74 69  6f 6e 20 6f 66 20 61 20  |generation of a |
000084d0  6c 61 6e 64 73 63 61 70  65 20 77 69 74 68 20 63  |landscape with c|
000084e0  68 61 6e 67 65 73 20 69  6e 20 74 68 65 20 64 61  |hanges in the da|
000084f0  74 61 20 76 61 72 69 61  62 6c 65 73 2e 0a 0a 54  |ta variables...T|
00008500  68 65 72 65 20 61 72 65  20 35 20 64 61 74 61 20  |here are 5 data |
00008510  76 61 72 69 61 62 6c 65  73 20 74 68 61 74 20 63  |variables that c|
00008520  61 6e 20 62 65 20 75 73  65 64 20 74 6f 20 63 6f  |an be used to co|
00008530  6e 74 72 6f 6c 20 74 68  65 20 70 72 6f 63 65 73  |ntrol the proces|
00008540  73 2e 0a 0a 52 6f 75 67  68 6e 65 73 73 3a 20 49  |s...Roughness: I|
00008550  6e 63 72 65 61 73 65 20  74 6f 20 67 65 6e 65 72  |ncrease to gener|
00008560  61 74 65 20 6d 6f 72 65  20 72 61 6e 64 6f 6d 20  |ate more random |
00008570  73 65 65 64 20 70 6f 69  6e 74 73 2c 20 67 69 76  |seed points, giv|
00008580  69 6e 67 20 6d 6f 72 65  20 68 69 6c 6c 73 0a 61  |ing more hills.a|
00008590  6e 64 20 64 65 70 72 65  73 73 69 6f 6e 73 2e 20  |nd depressions. |
000085a0  41 20 76 61 6c 75 65 20  6f 66 20 30 20 70 6c 6f  |A value of 0 plo|
000085b0  74 73 20 6a 75 73 74 20  74 68 65 20 69 6e 69 74  |ts just the init|
000085c0  69 61 6c 20 6f 75 74 65  72 20 34 20 70 6f 69 6e  |ial outer 4 poin|
000085d0  74 73 20 28 31 0a 73 71  75 61 72 65 29 2c 20 31  |ts (1.square), 1|
000085e0  20 70 6c 6f 74 73 20 34  20 73 71 75 61 72 65 73  | plots 4 squares|
000085f0  2c 20 32 20 70 6c 6f 74  73 20 31 36 20 73 71 75  |, 2 plots 16 squ|
00008600  61 72 65 73 20 61 6e 64  20 73 6f 20 6f 6e 2e 0a  |ares and so on..|
00008610  0a 48 65 69 67 68 74 3a  20 53 70 65 63 69 66 69  |.Height: Specifi|
00008620  65 73 20 74 68 65 20 69  6e 69 74 69 61 6c 20 6d  |es the initial m|
00008630  61 78 69 6d 75 6d 20 64  69 73 70 6c 61 63 65 6d  |aximum displacem|
00008640  65 6e 74 20 61 73 20 61  20 70 6f 77 65 72 20 6f  |ent as a power o|
00008650  66 20 32 2e 20 54 68 75  73 20 38 0a 28 74 68 65  |f 2. Thus 8.(the|
00008660  20 64 65 66 61 75 6c 74  29 20 6d 65 61 6e 73 20  | default) means |
00008670  32 35 36 2e 20 49 6e 63  72 65 61 73 65 20 74 68  |256. Increase th|
00008680  69 73 20 76 61 6c 75 65  20 74 6f 20 67 69 76 65  |is value to give|
00008690  20 73 74 65 65 70 65 72  20 67 72 61 64 69 65 6e  | steeper gradien|
000086a0  74 73 2e 0a 0a 53 65 65  64 3a 20 54 68 65 20 69  |ts...Seed: The i|
000086b0  6e 69 74 69 61 6c 20 72  61 6e 64 6f 6d 20 76 61  |nitial random va|
000086c0  6c 75 65 20 75 73 65 20  74 6f 20 67 65 6e 65 72  |lue use to gener|
000086d0  61 74 65 20 74 68 65 20  6c 61 6e 64 73 63 61 70  |ate the landscap|
000086e0  65 2e 20 41 20 6e 65 77  20 73 65 65 64 20 69 73  |e. A new seed is|
000086f0  0a 63 68 6f 73 65 6e 20  65 76 65 72 79 20 74 69  |.chosen every ti|
00008700  6d 65 20 75 6e 6c 65 73  73 20 52 61 6e 64 6f 6d  |me unless Random|
00008710  20 69 73 20 73 65 74 20  6f 66 66 2e 0a 0a 53 65  | is set off...Se|
00008720  61 20 4c 65 76 65 6c 3a  20 41 6e 20 68 65 69 67  |a Level: An heig|
00008730  68 74 20 6c 65 73 73 20  74 68 61 6e 20 74 68 65  |ht less than the|
00008740  20 73 65 61 20 6c 65 76  65 6c 20 77 69 6c 6c 20  | sea level will |
00008750  62 65 20 70 6c 6f 74 74  65 64 20 69 6e 20 62 6c  |be plotted in bl|
00008760  75 65 2e 20 54 68 69 73  0a 69 73 20 75 73 65 66  |ue. This.is usef|
00008770  75 6c 20 77 68 65 6e 20  63 72 65 61 74 69 6e 67  |ul when creating|
00008780  20 74 68 65 20 73 6f 75  72 63 65 20 69 6d 61 67  | the source imag|
00008790  65 73 20 66 6f 72 20 61  20 52 69 65 6d 61 6e 6e  |es for a Riemann|
000087a0  20 67 6c 6f 62 65 2e 0a  0a 53 65 61 20 43 6f 6c  | globe...Sea Col|
000087b0  6f 75 72 3a 20 54 68 65  20 70 68 79 73 69 63 61  |our: The physica|
000087c0  6c 20 63 6f 6c 6f 75 72  20 6e 75 6d 62 65 72 20  |l colour number |
000087d0  75 73 65 64 20 66 6f 72  20 74 68 65 20 73 65 61  |used for the sea|
000087e0  2e 20 42 6c 75 65 73 20  61 72 65 20 31 32 38 2d  |. Blues are 128-|
000087f0  31 33 31 0a 61 6e 64 20  31 33 36 2d 31 33 39 2c  |131.and 136-139,|
00008800  20 62 75 74 20 61 6e 79  20 63 6f 6c 6f 75 72 20  | but any colour |
00008810  6d 61 79 20 62 65 20 63  68 6f 73 65 6e 2e 0a 0a  |may be chosen...|
00008820  4e 6f 74 65 73 20 4f 6e  20 55 73 61 67 65 0a 2d  |Notes On Usage.-|
00008830  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 0a 54 68  |-------------.Th|
00008840  69 73 20 61 6c 67 6f 72  69 74 68 6d 20 77 6f 72  |is algorithm wor|
00008850  6b 73 20 62 65 73 74 20  69 6e 20 6d 6f 64 65 73  |ks best in modes|
00008860  20 77 69 74 68 20 73 71  75 61 72 65 20 70 69 78  | with square pix|
00008870  65 6c 73 2c 20 69 65 2e  20 6d 6f 64 65 73 20 32  |els, ie. modes 2|
00008880  31 2c 20 31 33 20 65 74  63 2e 0a 4d 6f 64 65 20  |1, 13 etc..Mode |
00008890  31 35 20 77 69 6c 6c 20  74 65 6e 64 20 74 6f 20  |15 will tend to |
000088a0  70 72 6f 64 75 63 65 20  6d 6f 72 65 20 6f 62 6c  |produce more obl|
000088b0  6f 6e 67 20 73 68 61 70  65 73 2e 0a 0a 54 72 79  |ong shapes...Try|
000088c0  20 63 6f 6c 6f 75 72 20  63 79 63 6c 69 6e 67 20  | colour cycling |
000088d0  66 6f 72 20 61 20 70 73  79 63 68 65 64 65 6c 69  |for a psychedeli|
000088e0  63 20 65 66 66 65 63 74  2e 20 54 68 65 20 6c 61  |c effect. The la|
000088f0  6e 64 73 63 61 70 65 20  70 61 6c 65 74 74 65 73  |ndscape palettes|
00008900  20 67 69 76 65 0a 6d 6f  72 65 20 72 65 61 6c 69  | give.more reali|
00008910  73 74 69 63 20 72 65 73  75 6c 74 73 20 2d 20 75  |stic results - u|
00008920  73 65 20 50 61 6c 65 74  74 65 20 73 68 69 66 74  |se Palette shift|
00008930  69 6e 67 20 74 6f 20 67  65 74 20 61 20 73 65 61  |ing to get a sea|
00008940  2f 6c 61 6e 64 20 62 61  6c 61 6e 63 65 2e 0a 0a  |/land balance...|
00008950  54 6f 20 67 65 6e 65 72  61 74 65 20 61 20 6c 61  |To generate a la|
00008960  6e 64 73 63 61 70 65 20  75 73 65 20 6f 6e 65 20  |ndscape use one |
00008970  6f 66 20 74 68 65 20 33  64 20 76 69 65 77 69 6e  |of the 3d viewin|
00008980  67 20 66 75 6e 63 74 69  6f 6e 73 20 77 69 74 68  |g functions with|
00008990  69 6e 20 21 46 72 61 63  74 61 6c 2e 0a 54 68 65  |in !Fractal..The|
000089a0  20 33 64 20 70 61 6c 65  74 74 65 20 73 68 6f 75  | 3d palette shou|
000089b0  6c 64 20 62 65 20 73 65  74 20 74 6f 20 4c 69 6e  |ld be set to Lin|
000089c0  65 61 72 20 66 6f 72 20  74 68 65 20 62 65 73 74  |ear for the best|
000089d0  20 65 66 66 65 63 74 73  2c 20 74 68 6f 75 67 68  | effects, though|
000089e0  0a 65 78 70 65 72 69 6d  65 6e 74 2e 20 54 72 79  |.experiment. Try|
000089f0  20 61 20 52 69 65 6d 61  6e 6e 20 73 70 68 65 72  | a Riemann spher|
00008a00  65 20 66 6f 72 20 61 20  70 6c 61 6e 65 74 20 65  |e for a planet e|
00008a10  66 66 65 63 74 20 2d 20  74 68 69 73 20 77 6f 72  |ffect - this wor|
00008a20  6b 73 20 62 65 73 74 20  77 68 65 6e 0a 74 68 65  |ks best when.the|
00008a30  20 73 65 61 20 6c 65 76  65 6c 20 69 73 20 73 65  | sea level is se|
00008a40  74 20 61 62 6f 76 65 20  30 20 6f 72 20 77 68 65  |t above 0 or whe|
00008a50  6e 20 75 73 69 6e 67 20  61 20 6c 61 6e 64 73 63  |n using a landsc|
00008a60  61 70 65 20 70 61 6c 65  74 74 65 2e 0a 0a 4d 69  |ape palette...Mi|
00008a70  64 70 6f 69 6e 74 20 64  6f 65 73 20 6e 6f 74 20  |dpoint does not |
00008a80  6d 75 6c 74 69 2d 74 61  73 6b 20 73 69 6e 63 65  |multi-task since|
00008a90  20 69 74 20 69 73 20 70  72 65 74 74 79 20 66 61  | it is pretty fa|
00008aa0  73 74 2e 0a 0a 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |st...-----------|
00008ab0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00008ae0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 0a  |---------------.|
00008af0  0a 4e 65 77 74 6f 6e 0a  2d 2d 2d 2d 2d 2d 0a 54  |.Newton.------.T|
00008b00  68 69 73 20 66 75 6e 63  74 69 6f 6e 20 63 61 6c  |his function cal|
00008b10  63 75 6c 61 74 65 73 20  74 68 65 20 63 75 62 65  |culates the cube|
00008b20  20 72 6f 6f 74 20 6f 66  20 2d 31 20 69 65 2e 20  | root of -1 ie. |
00008b30  7a 2a 7a 2a 7a 2d 31 3d  30 2c 20 75 73 69 6e 67  |z*z*z-1=0, using|
00008b40  20 74 68 65 0a 4e 65 77  74 6f 6e 2d 52 61 70 68  | the.Newton-Raph|
00008b50  73 6f 6e 20 6d 65 74 68  6f 64 2e 20 54 68 65 72  |son method. Ther|
00008b60  65 20 61 72 65 20 74 68  72 65 65 20 70 6f 73 73  |e are three poss|
00008b70  69 62 6c 65 20 72 6f 6f  74 73 20 77 68 69 63 68  |ible roots which|
00008b80  20 61 72 65 3a 20 7a 3d  31 2c 0a 7a 3d 2d 30 2e  | are: z=1,.z=-0.|
00008b90  35 2b 30 2e 38 36 36 36  69 2c 20 7a 3d 2d 30 2e  |5+0.8666i, z=-0.|
00008ba0  35 2d 30 2e 38 36 36 69  2e 20 46 6c 6f 61 74 69  |5-0.866i. Floati|
00008bb0  6e 67 20 70 6f 69 6e 74  20 61 72 69 74 68 6d 65  |ng point arithme|
00008bc0  74 69 63 20 69 73 20 72  65 71 75 69 72 65 64 20  |tic is required |
00008bd0  73 6f 0a 64 6f 6e 27 74  20 65 78 70 65 63 74 20  |so.don't expect |
00008be0  69 74 20 74 6f 20 7a 69  70 20 61 6c 6f 6e 67 2e  |it to zip along.|
00008bf0  20 49 6e 69 74 69 61 6c  6c 79 20 33 32 20 62 69  | Initially 32 bi|
00008c00  74 20 61 63 63 75 72 61  63 79 20 69 73 20 75 73  |t accuracy is us|
00008c10  65 64 20 77 68 69 63 68  20 69 73 0a 72 65 61 73  |ed which is.reas|
00008c20  6f 6e 61 62 6c 79 20 66  61 73 74 2c 20 74 68 65  |onably fast, the|
00008c30  6e 20 69 74 20 73 77 69  74 63 68 65 73 20 74 6f  |n it switches to|
00008c40  20 36 34 20 62 69 74 2e  20 54 68 65 20 6d 65 6e  | 64 bit. The men|
00008c50  75 20 6f 70 74 69 6f 6e  73 20 61 72 65 3a 0a 0a  |u options are:..|
00008c60  50 6c 6f 74 20 52 6f 6f  74 3a 20 69 6e 20 74 68  |Plot Root: in th|
00008c70  69 73 20 6d 6f 64 65 2c  20 74 68 65 20 63 6f 6c  |is mode, the col|
00008c80  6f 75 72 20 69 73 20 63  68 6f 73 65 6e 20 64 65  |our is chosen de|
00008c90  70 65 6e 64 69 6e 67 20  6f 6e 20 77 68 69 63 68  |pending on which|
00008ca0  20 72 6f 6f 74 20 77 65  20 61 72 65 0a 63 6f 6e  | root we are.con|
00008cb0  76 65 72 67 69 6e 67 20  74 6f 2e 20 54 68 69 73  |verging to. This|
00008cc0  20 69 73 20 74 68 65 20  71 75 69 63 6b 65 73 74  | is the quickest|
00008cd0  20 6f 70 74 69 6f 6e 2c  20 62 75 74 20 6e 6f 74  | option, but not|
00008ce0  20 76 65 72 79 20 73 70  65 63 74 61 63 75 6c 61  | very spectacula|
00008cf0  72 2e 0a 0a 50 6c 6f 74  20 49 74 65 72 73 3a 20  |r...Plot Iters: |
00008d00  69 6e 20 74 68 69 73 20  6d 6f 64 65 20 74 68 65  |in this mode the|
00008d10  20 63 6f 6c 6f 75 72 20  69 73 20 73 65 74 20 66  | colour is set f|
00008d20  72 6f 6d 20 74 68 65 20  6e 75 6d 62 65 72 20 6f  |rom the number o|
00008d30  66 20 69 74 65 72 61 74  69 6f 6e 73 0a 72 65 71  |f iterations.req|
00008d40  75 69 72 65 64 20 74 6f  20 72 65 61 63 68 20 74  |uired to reach t|
00008d50  68 65 20 72 6f 6f 74 2e  20 54 68 69 73 20 70 72  |he root. This pr|
00008d60  6f 64 75 63 65 73 20 4d  61 6e 64 65 6c 62 72 6f  |oduces Mandelbro|
00008d70  74 20 74 79 70 65 20 64  69 73 70 6c 61 79 73 20  |t type displays |
00008d80  6f 66 0a 69 6e 66 69 6e  69 74 65 20 63 6f 6d 70  |of.infinite comp|
00008d90  6c 65 78 69 74 79 2c 20  62 75 74 20 69 74 20 63  |lexity, but it c|
00008da0  61 6e 20 74 61 6b 65 20  61 20 6c 6f 74 20 6f 66  |an take a lot of|
00008db0  20 74 69 6d 65 2e 0a 0a  54 68 65 72 65 20 61 72  | time...There ar|
00008dc0  65 20 32 20 64 61 74 61  20 76 61 72 69 61 62 6c  |e 2 data variabl|
00008dd0  65 73 3a 0a 0a 4d 61 78  20 49 74 65 72 20 3a 20  |es:..Max Iter : |
00008de0  69 74 65 72 61 74 69 6f  6e 20 6c 69 6d 69 74 2c  |iteration limit,|
00008df0  20 6d 61 69 6e 6c 79 20  6f 66 20 75 73 65 20 77  | mainly of use w|
00008e00  68 65 6e 20 75 73 69 6e  67 20 50 6c 6f 74 20 49  |hen using Plot I|
00008e10  74 65 72 73 20 61 6e 64  20 7a 6f 6f 6d 69 6e 67  |ters and zooming|
00008e20  0a 69 6e 2e 0a 0a 65 20  3a 20 54 68 65 20 61 63  |.in...e : The ac|
00008e30  63 75 72 61 63 79 20 63  68 65 63 6b 20 76 61 6c  |curacy check val|
00008e40  75 65 2e 20 54 68 65 20  69 74 65 72 61 74 69 6f  |ue. The iteratio|
00008e50  6e 20 69 73 20 73 74 6f  70 70 65 64 20 77 68 65  |n is stopped whe|
00008e60  6e 20 61 20 72 6f 6f 74  20 69 73 20 66 6f 75 6e  |n a root is foun|
00008e70  64 0a 74 68 61 74 20 73  6f 6c 76 65 73 20 74 68  |d.that solves th|
00008e80  65 20 65 71 75 61 74 69  6f 6e 20 74 6f 20 77 69  |e equation to wi|
00008e90  74 68 69 6e 20 74 68 65  20 27 65 27 20 61 63 63  |thin the 'e' acc|
00008ea0  75 72 61 63 79 20 76 61  6c 75 65 2e 20 48 69 67  |uracy value. Hig|
00008eb0  68 65 72 20 76 61 6c 75  65 73 20 6f 66 0a 27 65  |her values of.'e|
00008ec0  27 20 66 6f 72 63 65 20  67 72 65 61 74 65 72 20  |' force greater |
00008ed0  61 63 63 75 72 61 63 79  20 61 6e 64 20 6d 6f 72  |accuracy and mor|
00008ee0  65 20 69 74 65 72 61 74  69 6f 6e 73 20 74 6f 20  |e iterations to |
00008ef0  62 65 20 75 73 65 64 2c  20 75 73 65 66 75 6c 20  |be used, useful |
00008f00  77 68 65 6e 0a 7a 6f 6f  6d 69 6e 67 20 69 6e 2e  |when.zooming in.|
00008f10  0a 0a 41 20 33 64 20 76  65 72 73 69 6f 6e 20 63  |..A 3d version c|
00008f20  61 6e 20 62 65 20 64 72  61 77 6e 20 64 69 72 65  |an be drawn dire|
00008f30  63 74 6c 79 20 62 79 20  74 75 72 6e 69 6e 67 20  |ctly by turning |
00008f40  6f 6e 20 74 68 65 20 33  64 20 58 2f 59 20 50 6c  |on the 3d X/Y Pl|
00008f50  6f 74 20 6f 70 74 69 6f  6e 2e 0a 53 65 65 20 74  |ot option..See t|
00008f60  68 65 20 33 64 20 73 65  63 74 69 6f 6e 20 6f 66  |he 3d section of|
00008f70  20 21 4d 61 69 6e 48 65  6c 70 20 66 6f 72 20 64  | !MainHelp for d|
00008f80  65 74 61 69 6c 73 2e 0a  0a 2d 2d 2d 2d 2d 2d 2d  |etails...-------|
00008f90  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00008fd0  2d 2d 2d 0a 50 69 63 6b  6f 76 65 72 20 2d 20 41  |---.Pickover - A|
00008fe0  20 53 74 72 61 6e 67 65  20 41 74 74 72 61 63 74  | Strange Attract|
00008ff0  6f 72 20 64 65 76 65 6c  6f 70 65 64 20 62 79 20  |or developed by |
00009000  43 6c 69 66 66 6f 72 64  20 50 69 63 6b 6f 76 65  |Clifford Pickove|
00009010  72 0a 2d 2d 2d 2d 2d 2d  2d 2d 0a 54 68 69 73 20  |r.--------.This |
00009020  69 73 20 61 20 33 20 64  69 6d 65 6e 73 69 6f 6e  |is a 3 dimension|
00009030  61 6c 20 73 68 61 70 65  20 63 6f 6e 74 72 6f 6c  |al shape control|
00009040  6c 65 64 20 62 79 20 34  20 76 61 72 69 61 62 6c  |led by 4 variabl|
00009050  65 73 2e 20 54 6f 20 67  65 74 20 61 20 66 65 65  |es. To get a fee|
00009060  6c 69 6e 67 20 6f 66 0a  74 68 65 20 73 68 61 70  |ling of.the shap|
00009070  65 20 79 6f 75 20 72 65  61 6c 6c 79 20 6e 65 65  |e you really nee|
00009080  64 20 74 6f 20 74 72 79  20 74 68 65 20 33 64 20  |d to try the 3d |
00009090  76 69 65 77 69 6e 67 20  6f 70 74 69 6f 6e 73 20  |viewing options |
000090a0  6f 66 20 21 46 72 61 63  74 61 6c 20 2d 20 75 73  |of !Fractal - us|
000090b0  65 0a 74 68 65 20 52 6f  74 61 74 65 20 26 20 45  |e.the Rotate & E|
000090c0  6c 65 76 61 74 65 20 69  63 6f 6e 73 20 74 6f 20  |levate icons to |
000090d0  73 65 74 20 79 6f 75 72  20 76 69 65 77 69 6e 67  |set your viewing|
000090e0  20 70 6f 73 69 74 69 6f  6e 20 6f 72 20 62 65 74  | position or bet|
000090f0  74 65 72 20 73 74 69 6c  6c 20 75 73 65 0a 74 68  |ter still use.th|
00009100  65 20 63 75 72 73 6f 72  20 6b 65 79 73 20 77 68  |e cursor keys wh|
00009110  69 6c 73 74 20 70 6c 6f  74 74 69 6e 67 2e 20 54  |ilst plotting. T|
00009120  68 65 20 70 6c 6f 74 20  69 73 20 69 6e 66 69 6e  |he plot is infin|
00009130  69 74 65 20 61 6e 64 20  69 73 20 6d 61 64 65 20  |ite and is made |
00009140  77 69 74 68 0a 70 6f 69  6e 74 73 20 72 61 74 68  |with.points rath|
00009150  65 72 20 74 68 61 6e 20  6c 69 6e 65 73 20 74 6f  |er than lines to|
00009160  20 61 76 6f 69 64 20 74  6f 6f 20 6d 75 63 68 20  | avoid too much |
00009170  63 6c 75 74 74 65 72 2e  0a 0a 54 68 65 20 6d 65  |clutter...The me|
00009180  6e 75 20 6f 70 74 69 6f  6e 73 20 61 72 65 3a 0a  |nu options are:.|
00009190  0a 52 61 6e 64 6f 6d 20  61 2f 62 2f 63 2f 64 3a  |.Random a/b/c/d:|
000091a0  20 43 6c 69 63 6b 20 74  6f 20 73 65 74 2f 75 6e  | Click to set/un|
000091b0  73 65 74 20 72 61 6e 64  6f 6d 20 73 65 6c 65 63  |set random selec|
000091c0  74 69 6f 6e 20 6f 66 20  74 68 65 20 76 61 72 69  |tion of the vari|
000091d0  61 62 6c 65 20 77 68 65  6e 20 61 0a 70 6c 6f 74  |able when a.plot|
000091e0  20 69 73 20 73 74 61 72  74 65 64 2e 20 46 6f 72  | is started. For|
000091f0  20 65 61 63 68 20 76 61  72 69 61 62 6c 65 20 74  | each variable t|
00009200  68 65 72 65 20 69 73 20  61 6e 20 61 73 73 6f 63  |here is an assoc|
00009210  69 61 74 65 64 20 6d 61  78 69 6d 75 6d 2c 20 77  |iated maximum, w|
00009220  68 69 63 68 20 63 61 6e  0a 62 65 20 63 68 61 6e  |hich can.be chan|
00009230  67 65 64 20 66 72 6f 6d  20 74 68 65 20 64 61 74  |ged from the dat|
00009240  61 20 70 61 6e 65 6c 2e  20 4e 65 77 20 76 61 72  |a panel. New var|
00009250  69 61 62 6c 65 73 20 61  72 65 20 6e 6f 74 20 63  |iables are not c|
00009260  68 6f 73 65 6e 20 77 68  65 6e 20 7a 6f 6f 6d 69  |hosen when zoomi|
00009270  6e 67 2e 0a 4f 6e 63 65  20 79 6f 75 20 68 61 76  |ng..Once you hav|
00009280  65 20 66 6f 75 6e 64 20  61 6e 20 69 6e 74 65 72  |e found an inter|
00009290  65 73 74 69 6e 67 20 73  68 61 70 65 2c 20 74 75  |esting shape, tu|
000092a0  72 6e 20 6f 66 66 20 72  61 6e 64 6f 6d 20 76 61  |rn off random va|
000092b0  72 69 61 62 6c 65 73 2c  20 61 6e 64 20 75 73 65  |riables, and use|
000092c0  0a 74 68 65 20 33 64 20  6f 70 74 69 6f 6e 73 20  |.the 3d options |
000092d0  74 6f 20 65 78 70 6c 6f  72 65 20 74 68 65 20 73  |to explore the s|
000092e0  68 61 70 65 20 66 72 6f  6d 20 64 69 66 66 65 72  |hape from differ|
000092f0  65 6e 74 20 76 69 65 77  20 70 6f 69 6e 74 73 2e  |ent view points.|
00009300  20 54 68 65 20 64 65 66  61 75 6c 74 0a 76 61 72  | The default.var|
00009310  69 61 62 6c 65 73 20 77  65 72 65 20 6f 62 74 61  |iables were obta|
00009320  69 6e 65 64 20 69 6e 20  74 68 69 73 20 77 61 79  |ined in this way|
00009330  2e 0a 0a 52 61 6e 64 6f  6d 20 63 6f 6c 6f 75 72  |...Random colour|
00009340  3a 20 77 68 65 6e 20 73  65 74 20 61 20 72 61 6e  |: when set a ran|
00009350  64 6f 6d 20 63 6f 6c 6f  75 72 20 69 73 20 63 68  |dom colour is ch|
00009360  6f 73 65 6e 20 61 66 74  65 72 20 65 76 65 72 79  |osen after every|
00009370  20 31 30 30 20 70 6c 6f  74 73 2e 0a 0a 53 74 65  | 100 plots...Ste|
00009380  70 20 43 6f 6c 6f 75 72  3a 20 74 68 65 20 63 6f  |p Colour: the co|
00009390  6c 6f 75 72 20 76 61 6c  75 65 20 69 73 20 69 6e  |lour value is in|
000093a0  63 72 65 61 73 65 64 20  61 66 74 65 72 20 65 76  |creased after ev|
000093b0  65 72 79 20 31 30 30 20  70 6c 6f 74 73 2e 0a 0a  |ery 100 plots...|
000093c0  49 66 20 6e 65 69 74 68  65 72 20 52 61 6e 64 6f  |If neither Rando|
000093d0  6d 20 6f 72 20 53 74 65  70 20 63 6f 6c 6f 75 72  |m or Step colour|
000093e0  20 69 73 20 73 65 74 2c  20 74 68 65 6e 20 74 68  | is set, then th|
000093f0  65 20 70 6c 6f 74 20 69  73 20 6d 61 64 65 20 69  |e plot is made i|
00009400  6e 20 77 68 69 74 65 0a  75 73 69 6e 67 20 65 78  |n white.using ex|
00009410  63 6c 75 73 69 76 65 20  6f 72 27 69 6e 67 20 74  |clusive or'ing t|
00009420  6f 20 74 72 61 63 65 20  74 68 65 20 63 75 72 72  |o trace the curr|
00009430  65 6e 74 20 70 6f 73 69  74 69 6f 6e 2e 0a 0a 59  |ent position...Y|
00009440  6f 75 20 63 61 6e 20 63  68 61 6e 67 65 20 74 68  |ou can change th|
00009450  65 20 76 69 65 77 70 6f  69 6e 74 20 77 68 69 6c  |e viewpoint whil|
00009460  73 74 20 70 6c 6f 74 74  69 6e 67 20 62 79 20 70  |st plotting by p|
00009470  72 65 73 73 69 6e 67 20  74 68 65 20 63 75 72 73  |ressing the curs|
00009480  6f 72 20 6b 65 79 73 2c  0a 61 6e 64 20 74 68 65  |or keys,.and the|
00009490  6e 20 70 72 65 73 73 69  6e 67 20 74 68 65 20 73  |n pressing the s|
000094a0  70 61 63 65 20 62 61 72  20 74 6f 20 72 65 73 74  |pace bar to rest|
000094b0  61 72 74 2e 20 53 65 65  20 74 68 65 20 33 64 20  |art. See the 3d |
000094c0  73 65 63 74 69 6f 6e 20  69 6e 20 74 68 65 0a 21  |section in the.!|
000094d0  4d 61 69 6e 48 65 6c 70  20 66 69 6c 65 20 66 6f  |MainHelp file fo|
000094e0  72 20 6d 6f 72 65 20 64  65 74 61 69 6c 73 2e 0a  |r more details..|
000094f0  0a 41 6c 67 6f 72 69 74  68 6d 0a 2d 2d 2d 2d 2d  |.Algorithm.-----|
00009500  2d 2d 2d 2d 0a 20 20 20  20 78 3d 31 3b 20 79 3d  |----.    x=1; y=|
00009510  31 3b 20 7a 3d 31 3b 0a  20 20 20 20 64 6f 0a 20  |1; z=1;.    do. |
00009520  20 20 20 20 20 78 6e 65  77 20 3d 20 73 69 6e 28  |     xnew = sin(|
00009530  61 2a 79 29 20 2d 20 7a  2a 63 6f 73 28 62 2a 78  |a*y) - z*cos(b*x|
00009540  29 0a 20 20 20 20 20 20  79 6e 65 77 20 3d 20 7a  |).      ynew = z|
00009550  2a 73 69 6e 28 63 2a 78  29 20 2d 20 63 6f 73 28  |*sin(c*x) - cos(|
00009560  64 2a 79 29 0a 20 20 20  20 20 20 7a 6e 65 77 20  |d*y).      znew |
00009570  3d 20 73 69 6e 28 78 29  0a 20 20 20 20 20 20 70  |= sin(x).      p|
00009580  6c 6f 74 20 70 78 2c 70  7a 20 20 20 20 20 20 20  |lot px,pz       |
00009590  20 20 20 20 20 20 20 20  20 20 20 20 20 77 68 65  |             whe|
000095a0  72 65 20 70 78 2f 70 7a  20 61 72 65 20 33 64 20  |re px/pz are 3d |
000095b0  74 72 61 6e 73 66 6f 72  6d 20 6f 66 20 78 2f 79  |transform of x/y|
000095c0  2f 7a 0a 20 20 20 20 66  6f 72 65 76 65 72 0a 0a  |/z.    forever..|
000095d0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00009610  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 0a 50 6f 70 63 6f  |----------.Popco|
00009620  72 6e 0a 2d 2d 2d 2d 2d  2d 2d 0a 41 6e 20 61 6c  |rn.-------.An al|
00009630  67 6f 72 69 74 68 6d 20  64 65 76 65 6c 6f 70 65  |gorithm develope|
00009640  64 20 62 79 20 43 6c 69  66 66 6f 72 64 20 50 69  |d by Clifford Pi|
00009650  63 6b 6f 76 65 72 20 66  65 61 74 75 72 65 64 20  |ckover featured |
00009660  69 6e 20 53 63 69 65 6e  74 69 66 69 63 20 41 6d  |in Scientific Am|
00009670  65 72 69 63 61 6e 0a 4a  75 6c 79 20 31 39 38 39  |erican.July 1989|
00009680  2c 20 74 68 65 6e 20 69  6e 20 46 72 61 63 74 69  |, then in Fracti|
00009690  6e 74 20 28 77 68 65 72  65 20 74 68 65 20 6e 61  |nt (where the na|
000096a0  6d 65 20 50 6f 70 63 6f  72 6e 20 77 61 73 20 67  |me Popcorn was g|
000096b0  69 76 65 6e 29 2c 20 61  6e 64 0a 63 6f 6e 74 72  |iven), and.contr|
000096c0  69 62 75 74 65 64 20 68  65 72 65 20 62 79 20 4a  |ibuted here by J|
000096d0  6f 79 63 65 20 48 61 73  6c 61 6d 2e 20 54 68 65  |oyce Haslam. The|
000096e0  72 65 20 61 72 65 20 39  20 64 69 66 66 65 72 65  |re are 9 differe|
000096f0  6e 74 20 65 71 75 61 74  69 6f 6e 73 20 75 73 65  |nt equations use|
00009700  64 20 77 69 74 68 0a 61  6e 20 6f 70 74 69 6f 6e  |d with.an option|
00009710  20 74 6f 20 70 6c 6f 74  20 74 68 65 20 70 61 74  | to plot the pat|
00009720  74 65 72 6e 20 69 6e 20  61 20 77 61 76 65 20 6c  |tern in a wave l|
00009730  69 6b 65 20 66 6f 72 6d  20 6f 72 20 61 20 70 69  |ike form or a pi|
00009740  78 65 6c 20 62 79 20 70  69 78 65 6c 20 66 6f 72  |xel by pixel for|
00009750  6d 0a 28 4a 75 6c 69 61  29 2e 0a 0a 54 68 65 20  |m.(Julia)...The |
00009760  65 71 75 61 74 69 6f 6e  20 69 73 20 73 65 6c 65  |equation is sele|
00009770  63 74 65 64 20 66 72 6f  6d 20 74 68 65 20 50 6f  |cted from the Po|
00009780  70 63 6f 72 6e 2d 3e 54  79 70 65 73 20 6d 65 6e  |pcorn->Types men|
00009790  75 2e 20 43 6c 69 63 6b  20 6f 6e 0a 50 6f 70 63  |u. Click on.Popc|
000097a0  6f 72 6e 2d 3e 4a 75 6c  69 61 20 74 6f 20 61 63  |orn->Julia to ac|
000097b0  74 69 76 61 74 65 20 74  68 65 20 70 69 78 65 6c  |tivate the pixel|
000097c0  20 6d 6f 64 65 20 70 6c  6f 74 2e 20 54 68 65 20  | mode plot. The |
000097d0  4a 75 6c 69 61 20 69 73  20 73 6c 6f 77 20 64 75  |Julia is slow du|
000097e0  65 20 74 6f 20 74 68 65  0a 72 65 70 65 61 74 65  |e to the.repeate|
000097f0  64 20 75 73 65 20 6f 66  20 53 49 4e 20 61 6e 64  |d use of SIN and|
00009800  20 54 41 4e 2c 20 73 6f  20 75 73 65 20 73 6d 61  | TAN, so use sma|
00009810  6c 6c 20 76 61 6c 75 65  73 20 66 6f 72 20 6c 69  |ll values for li|
00009820  6d 69 74 20 61 6e 64 20  74 68 72 65 73 68 6f 6c  |mit and threshol|
00009830  64 20 74 6f 0a 73 70 65  65 64 20 74 68 69 6e 67  |d to.speed thing|
00009840  73 20 75 70 2e 0a 0a 54  68 65 20 64 61 74 61 20  |s up...The data |
00009850  69 74 65 6d 73 20 61 66  74 65 72 20 74 68 65 20  |items after the |
00009860  73 74 61 6e 64 61 72 64  20 78 2f 79 20 77 69 64  |standard x/y wid|
00009870  74 68 2f 68 65 69 67 68  74 20 61 72 65 3a 0a 0a  |th/height are:..|
00009880  4c 69 6d 69 74 3a 20 66  6f 72 20 4a 75 6c 69 61  |Limit: for Julia|
00009890  20 74 68 65 20 69 74 65  72 61 74 69 6f 6e 20 6c  | the iteration l|
000098a0  69 6d 69 74 2c 20 6f 74  68 65 72 77 69 73 65 20  |imit, otherwise |
000098b0  74 68 65 20 69 74 65 72  61 74 69 6f 6e 20 6c 69  |the iteration li|
000098c0  6d 69 74 20 73 65 74 73  20 74 68 65 0a 6c 65 6e  |mit sets the.len|
000098d0  67 74 68 20 6f 66 20 65  61 63 68 20 61 72 6d 20  |gth of each arm |
000098e0  70 6c 6f 74 74 65 64 2e  0a 0a 53 74 65 70 20 52  |plotted...Step R|
000098f0  61 74 65 3a 20 63 6f 6e  74 72 6f 6c 73 20 74 68  |ate: controls th|
00009900  65 20 65 66 66 65 63 74  20 65 61 63 68 20 69 74  |e effect each it|
00009910  65 72 61 74 69 6f 6e 20  68 61 73 20 6f 6e 20 70  |eration has on p|
00009920  72 65 76 69 6f 75 73 20  76 61 6c 75 65 73 2e 20  |revious values. |
00009930  48 69 67 68 65 72 0a 76  61 6c 75 65 73 20 70 72  |Higher.values pr|
00009940  6f 64 75 63 65 20 6d 6f  72 65 20 65 78 61 67 67  |oduce more exagg|
00009950  65 72 61 74 65 64 20 70  6c 6f 74 73 2e 0a 0a 44  |erated plots...D|
00009960  65 74 61 69 6c 3a 20 66  6f 72 20 74 68 65 20 6e  |etail: for the n|
00009970  6f 6e 2d 4a 75 6c 69 61  20 70 6c 6f 74 73 20 2d  |on-Julia plots -|
00009980  20 30 20 67 69 76 65 73  20 6d 61 78 69 6d 75 6d  | 0 gives maximum|
00009990  20 64 65 74 61 69 6c 2c  20 68 69 67 68 65 72 20  | detail, higher |
000099a0  76 61 6c 75 65 73 0a 67  69 76 65 20 72 6f 75 67  |values.give roug|
000099b0  68 65 72 20 69 6d 61 67  65 73 20 77 68 69 63 68  |her images which|
000099c0  20 61 6c 6c 6f 77 73 20  71 75 69 63 6b 65 72 20  | allows quicker |
000099d0  65 78 61 6d 69 6e 61 74  69 6f 6e 2e 0a 0a 54 68  |examination...Th|
000099e0  72 65 73 68 6f 6c 64 3a  20 66 6f 72 20 4a 75 6c  |reshold: for Jul|
000099f0  69 61 2c 20 74 68 65 20  65 73 63 61 70 65 20 76  |ia, the escape v|
00009a00  61 6c 75 65 2e 20 48 69  67 68 65 72 20 76 61 6c  |alue. Higher val|
00009a10  75 65 73 20 74 61 6b 65  20 6c 6f 6e 67 65 72 20  |ues take longer |
00009a20  74 6f 0a 63 61 6c 63 75  6c 61 74 65 20 62 75 74  |to.calculate but|
00009a30  20 70 72 6f 64 75 63 65  20 6d 6f 72 65 20 64 65  | produce more de|
00009a40  74 61 69 6c 2e 0a 0a 6e  3a 20 54 68 65 20 6d 75  |tail...n: The mu|
00009a50  6c 74 69 70 6c 69 65 72  20 69 6e 20 74 68 65 20  |ltiplier in the |
00009a60  53 49 4e 20 61 6e 64 20  54 41 4e 20 65 71 75 61  |SIN and TAN equa|
00009a70  74 69 6f 6e 73 2e 20 54  72 79 20 64 69 66 66 65  |tions. Try diffe|
00009a80  72 65 6e 74 20 76 61 6c  75 65 73 20 74 6f 20 73  |rent values to s|
00009a90  65 65 0a 74 68 65 20 65  66 66 65 63 74 2e 0a 0a  |ee.the effect...|
00009aa0  41 20 33 64 20 76 65 72  73 69 6f 6e 20 6f 66 20  |A 3d version of |
00009ab0  74 68 65 20 4a 75 6c 69  61 20 69 6d 61 67 65 20  |the Julia image |
00009ac0  63 61 6e 20 62 65 20 64  72 61 77 6e 20 64 69 72  |can be drawn dir|
00009ad0  65 63 74 6c 79 20 62 79  20 74 75 72 6e 69 6e 67  |ectly by turning|
00009ae0  20 6f 6e 20 74 68 65 0a  33 64 20 58 2f 59 20 50  | on the.3d X/Y P|
00009af0  6c 6f 74 20 6f 70 74 69  6f 6e 2e 20 53 65 65 20  |lot option. See |
00009b00  74 68 65 20 33 64 20 73  65 63 74 69 6f 6e 20 6f  |the 3d section o|
00009b10  66 20 21 4d 61 69 6e 48  65 6c 70 20 66 6f 72 20  |f !MainHelp for |
00009b20  64 65 74 61 69 6c 73 2e  0a 0a 41 6c 67 6f 72 69  |details...Algori|
00009b30  74 68 6d 73 0a 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 0a  |thms.----------.|
00009b40  54 68 65 20 6e 69 6e 65  20 65 71 75 61 74 69 6f  |The nine equatio|
00009b50  6e 73 20 61 72 65 20 61  73 20 73 68 6f 77 6e 20  |ns are as shown |
00009b60  69 6e 20 74 68 65 20 50  6f 70 63 6f 72 6e 2d 3e  |in the Popcorn->|
00009b70  54 79 70 65 73 20 6d 65  6e 75 2e 20 54 68 65 79  |Types menu. They|
00009b80  20 61 72 65 0a 69 6d 70  6c 65 6d 65 6e 74 65 64  | are.implemented|
00009b90  20 69 6e 20 63 6f 64 65  20 61 73 20 73 68 6f 77  | in code as show|
00009ba0  6e 20 69 6e 20 74 68 65  20 32 20 65 78 61 6d 70  |n in the 2 examp|
00009bb0  6c 65 73 20 62 65 6c 6f  77 3a 0a 0a 4a 75 6c 69  |les below:..Juli|
00009bc0  61 3a 20 66 6f 72 20 65  61 63 68 20 70 69 78 65  |a: for each pixe|
00009bd0  6c 20 73 65 74 20 74 68  65 20 78 20 61 6e 64 20  |l set the x and |
00009be0  79 20 76 61 6c 75 65 20  74 68 65 6e 20 3a 0a 20  |y value then :. |
00009bf0  20 20 20 20 20 20 20 20  20 20 72 65 70 65 61 74  |          repeat|
00009c00  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 73 71  |.             sq|
00009c10  73 75 6d 3d 78 2a 78 2b  79 2a 79 0a 20 20 20 20  |sum=x*x+y*y.    |
00009c20  20 20 20 20 20 20 20 20  20 69 66 20 73 71 73 75  |         if sqsu|
00009c30  6d 20 3c 20 74 68 72 65  73 68 6f 6c 64 0a 20 20  |m < threshold.  |
00009c40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 78 78  |              xx|
00009c50  3d 78 2d 64 74 2a 73 69  6e 28 79 2b 74 61 6e 28  |=x-dt*sin(y+tan(|
00009c60  6e 2a 79 29 29 20 20 20  20 20 20 20 20 20 20 20  |n*y))           |
00009c70  77 68 65 72 65 20 64 74  3d 73 74 65 70 20 72 61  |where dt=step ra|
00009c80  74 65 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |te.             |
00009c90  20 20 20 79 3d 79 2d 64  74 2a 73 69 6e 28 78 2b  |   y=y-dt*sin(x+|
00009ca0  74 61 6e 28 6e 2a 78 29  29 0a 20 20 20 20 20 20  |tan(n*x)).      |
00009cb0  20 20 20 20 20 20 20 20  20 20 78 3d 78 78 0a 20  |          x=xx. |
00009cc0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 69  |               i|
00009cd0  74 65 72 3d 69 74 65 72  2b 31 0a 20 20 20 20 20  |ter=iter+1.     |
00009ce0  20 20 20 20 20 20 75 6e  74 69 6c 20 73 71 73 75  |      until sqsu|
00009cf0  6d 3e 3d 74 68 72 65 73  68 6f 6c 64 20 6f 72 20  |m>=threshold or |
00009d00  69 74 65 72 3d 6c 69 6d  69 74 0a 20 20 20 20 20  |iter=limit.     |
00009d10  20 20 20 20 20 20 63 6f  6c 6f 75 72 3d 69 74 65  |      colour=ite|
00009d20  72 0a 0a 6e 6f 6e 2d 4a  75 6c 69 61 3a 20 66 6f  |r..non-Julia: fo|
00009d30  72 20 65 61 63 68 20 6e  74 68 20 78 2f 79 20 70  |r each nth x/y p|
00009d40  69 78 65 6c 20 77 68 65  72 65 20 74 68 65 20 76  |ixel where the v|
00009d50  61 6c 75 65 20 6f 66 20  6e 20 69 73 20 69 6e 63  |alue of n is inc|
00009d60  72 65 61 73 65 64 20 77  69 74 68 20 74 68 65 0a  |reased with the.|
00009d70  76 61 6c 75 65 20 6f 66  20 22 64 65 74 61 69 6c  |value of "detail|
00009d80  22 2e 0a 0a 20 20 20 20  20 20 20 20 20 20 20 69  |"...           i|
00009d90  6e 63 72 65 6d 65 6e 74  20 63 6f 6c 6f 75 72 0a  |ncrement colour.|
00009da0  20 20 20 20 20 20 20 20  20 20 20 72 65 70 65 61  |           repea|
00009db0  74 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |t.              |
00009dc0  78 78 3d 78 2d 64 74 2a  73 69 6e 28 79 2b 74 61  |xx=x-dt*sin(y+ta|
00009dd0  6e 28 6e 2a 79 29 29 20  20 20 20 20 20 20 20 20  |n(n*y))         |
00009de0  20 20 20 20 77 68 65 72  65 20 64 74 3d 73 74 65  |    where dt=ste|
00009df0  70 20 72 61 74 65 0a 20  20 20 20 20 20 20 20 20  |p rate.         |
00009e00  20 20 20 20 20 79 3d 79  2d 64 74 2a 73 69 6e 28  |     y=y-dt*sin(|
00009e10  78 2b 74 61 6e 28 6e 2a  78 29 29 0a 20 20 20 20  |x+tan(n*x)).    |
00009e20  20 20 20 20 20 20 20 20  20 20 78 3d 78 78 0a 20  |          x=xx. |
00009e30  20 20 20 20 20 20 20 20  20 20 20 20 20 69 74 65  |             ite|
00009e40  72 3d 69 74 65 72 2b 31  0a 20 20 20 20 20 20 20  |r=iter+1.       |
00009e50  20 20 20 20 20 20 20 70  6c 6f 74 20 78 2a 73 63  |       plot x*sc|
00009e60  61 6c 61 72 2c 79 2a 73  63 61 6c 61 72 0a 20 20  |alar,y*scalar.  |
00009e70  20 20 20 20 20 20 20 20  20 75 6e 74 69 6c 20 69  |         until i|
00009e80  74 65 72 3d 6c 69 6d 69  74 0a 0a 2d 2d 2d 2d 2d  |ter=limit..-----|
00009e90  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00009ed0  2d 2d 2d 2d 2d 0a 51 75  61 74 65 72 6e 69 6f 6e  |-----.Quaternion|
00009ee0  20 3a 20 49 6e 76 65 6e  74 65 64 20 62 79 20 57  | : Invented by W|
00009ef0  69 6c 6c 69 61 6d 20 48  61 6d 69 6c 74 6f 6e 2c  |illiam Hamilton,|
00009f00  20 31 38 34 33 0a 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  | 1843.----------|
00009f10  0a 41 20 51 75 61 74 65  72 6e 69 6f 6e 20 69 73  |.A Quaternion is|
00009f20  20 61 20 34 64 20 65 71  75 69 76 61 6c 65 6e 74  | a 4d equivalent|
00009f30  20 6f 66 20 61 20 63 6f  6d 70 6c 65 78 20 6e 75  | of a complex nu|
00009f40  6d 62 65 72 2c 20 77 72  69 74 74 65 6e 20 61 73  |mber, written as|
00009f50  3a 0a 20 20 20 20 20 51  20 3d 20 61 2b 62 69 2b  |:.     Q = a+bi+|
00009f60  63 6a 2b 64 6b 0a 77 68  65 72 65 20 69 2c 20 6a  |cj+dk.where i, j|
00009f70  20 61 6e 64 20 6b 20 61  72 65 20 69 6d 61 67 69  | and k are imagi|
00009f80  6e 61 72 79 20 6e 75 6d  62 65 72 73 2e 20 54 68  |nary numbers. Th|
00009f90  65 79 20 61 72 65 20 75  73 65 64 20 68 65 72 65  |ey are used here|
00009fa0  20 69 6e 20 61 20 73 69  6d 69 6c 61 72 20 77 61  | in a similar wa|
00009fb0  79 0a 74 6f 20 4a 75 6c  69 61 20 73 65 74 73 20  |y.to Julia sets |
00009fc0  77 69 74 68 20 51 20 2d  3e 20 51 b2 2b 71 20 77  |with Q -> Q.+q w|
00009fd0  68 65 72 65 20 71 20 69  73 20 61 20 71 75 61 74  |here q is a quat|
00009fe0  65 72 6e 69 6f 6e 20 63  6f 6e 73 74 61 6e 74 2c  |ernion constant,|
00009ff0  20 6d 61 64 65 20 75 70  20 6f 66 0a 71 30 2c 20  | made up of.q0, |
0000a000  71 31 2c 20 71 32 20 61  6e 64 20 71 33 20 69 6e  |q1, q2 and q3 in|
0000a010  20 74 68 69 73 20 72 6f  75 74 69 6e 65 2e 20 54  | this routine. T|
0000a020  68 65 20 72 6f 75 74 69  6e 65 20 6d 61 70 73 20  |he routine maps |
0000a030  6f 75 74 20 61 20 32 2d  64 69 6d 65 6e 73 69 6f  |out a 2-dimensio|
0000a040  6e 61 6c 0a 73 6c 69 63  65 20 75 73 69 6e 67 20  |nal.slice using |
0000a050  78 3d 61 20 61 6e 64 20  79 3d 63 2c 20 77 69 74  |x=a and y=c, wit|
0000a060  68 20 74 68 65 20 76 61  6c 75 65 73 20 6f 66 20  |h the values of |
0000a070  62 20 61 6e 64 20 64 20  62 65 69 6e 67 20 73 65  |b and d being se|
0000a080  74 20 74 6f 20 63 68 6f  6f 73 65 0a 77 68 69 63  |t to choose.whic|
0000a090  68 20 73 6c 69 63 65 20  6f 66 20 74 68 65 20 34  |h slice of the 4|
0000a0a0  64 20 70 6c 61 6e 65 20  77 65 20 61 72 65 20 64  |d plane we are d|
0000a0b0  72 61 77 69 6e 67 2e 0a  0a 54 68 65 20 69 6e 69  |rawing...The ini|
0000a0c0  74 69 61 6c 20 76 61 6c  75 65 73 20 63 68 6f 73  |tial values chos|
0000a0d0  65 6e 20 66 6f 72 20 71  30 20 61 6e 64 20 71 32  |en for q0 and q2|
0000a0e0  20 61 72 65 20 74 68 65  20 73 61 6d 65 20 61 73  | are the same as|
0000a0f0  20 74 68 6f 73 65 20 66  6f 72 20 74 68 65 20 4a  | those for the J|
0000a100  75 6c 69 61 0a 53 65 74  2c 20 61 6e 64 20 79 6f  |ulia.Set, and yo|
0000a110  75 20 77 69 6c 6c 20 6e  6f 74 65 20 74 68 65 20  |u will note the |
0000a120  69 6d 61 67 65 20 69 73  20 73 75 70 65 72 66 69  |image is superfi|
0000a130  63 69 61 6c 6c 79 20 76  65 72 79 20 73 69 6d 69  |cially very simi|
0000a140  6c 61 72 2e 20 43 68 61  6e 67 69 6e 67 20 71 31  |lar. Changing q1|
0000a150  2c 0a 71 33 2c 20 62 20  6f 72 20 64 20 68 6f 77  |,.q3, b or d how|
0000a160  65 76 65 72 20 61 6c 6c  6f 77 73 20 64 69 66 66  |ever allows diff|
0000a170  65 72 65 6e 74 20 70 6c  61 6e 65 73 20 74 6f 20  |erent planes to |
0000a180  62 65 20 65 78 61 6d 69  6e 65 64 2c 20 67 69 76  |be examined, giv|
0000a190  69 6e 67 20 61 20 67 72  65 61 74 0a 61 72 65 61  |ing a great.area|
0000a1a0  20 74 6f 20 69 6e 76 65  73 74 69 67 61 74 65 2e  | to investigate.|
0000a1b0  0a 0a 41 73 20 77 69 74  68 20 74 68 65 20 4a 75  |..As with the Ju|
0000a1c0  6c 69 61 20 73 65 74 2c  20 74 68 65 20 62 65 73  |lia set, the bes|
0000a1d0  74 20 77 61 79 20 74 6f  20 63 68 6f 6f 73 65 20  |t way to choose |
0000a1e0  76 61 6c 75 65 73 20 66  6f 72 20 71 30 20 61 6e  |values for q0 an|
0000a1f0  64 20 71 32 20 69 73 20  66 72 6f 6d 0a 74 68 65  |d q2 is from.the|
0000a200  20 4d 61 6e 64 65 6c 62  72 6f 74 20 73 65 74 20  | Mandelbrot set |
0000a210  2d 20 75 73 65 20 74 68  65 20 51 75 61 74 65 72  |- use the Quater|
0000a220  6e 69 6f 6e 20 6d 65 6e  75 20 6f 70 74 69 6f 6e  |nion menu option|
0000a230  20 74 6f 20 70 69 63 6b  20 61 20 70 6f 69 6e 74  | to pick a point|
0000a240  20 66 72 6f 6d 0a 6e 65  61 72 20 74 68 65 20 62  | from.near the b|
0000a250  6f 75 6e 64 61 72 79 2e  0a 0a 54 68 65 20 6d 65  |oundary...The me|
0000a260  6e 75 20 6f 70 74 69 6f  6e 73 20 6f 70 65 72 61  |nu options opera|
0000a270  74 65 20 69 6e 20 74 68  65 20 73 61 6d 65 20 77  |te in the same w|
0000a280  61 79 20 61 73 20 66 6f  72 20 74 68 65 20 4a 75  |ay as for the Ju|
0000a290  6c 69 61 20 73 65 74 2e  0a 0a 41 6c 67 6f 72 69  |lia set...Algori|
0000a2a0  74 68 6d 0a 2d 2d 2d 2d  2d 2d 2d 2d 2d 0a 41 20  |thm.---------.A |
0000a2b0  33 32 20 62 69 74 20 61  6e 64 20 66 6c 6f 61 74  |32 bit and float|
0000a2c0  69 6e 67 20 70 6f 69 6e  74 20 76 65 72 73 69 6f  |ing point versio|
0000a2d0  6e 20 61 72 65 20 70 72  6f 76 69 64 65 64 2c 20  |n are provided, |
0000a2e0  62 75 74 20 62 6f 74 68  20 77 69 6c 6c 20 62 65  |but both will be|
0000a2f0  20 73 6c 6f 77 65 72 0a  74 68 61 6e 20 4a 75 6c  | slower.than Jul|
0000a300  69 61 27 73 20 64 75 65  20 74 6f 20 74 68 65 20  |ia's due to the |
0000a310  65 78 74 72 61 20 6d 75  6c 74 69 70 6c 69 63 61  |extra multiplica|
0000a320  74 69 6f 6e 73 2e 0a 0a  46 6f 72 20 65 61 63 68  |tions...For each|
0000a330  20 70 69 78 65 6c 20 77  65 20 63 61 6c 63 75 6c  | pixel we calcul|
0000a340  61 74 65 20 74 68 65 20  61 20 28 78 29 20 26 20  |ate the a (x) & |
0000a350  63 20 28 79 29 20 76 61  6c 75 65 20 61 6e 64 20  |c (y) value and |
0000a360  74 68 65 6e 20 69 74 65  72 61 74 65 2e 20 54 68  |then iterate. Th|
0000a370  65 0a 63 6f 6c 6f 75 72  20 69 73 20 74 68 65 20  |e.colour is the |
0000a380  69 74 65 72 61 74 69 6f  6e 20 6e 75 6d 62 65 72  |iteration number|
0000a390  20 75 6e 6c 65 73 73 20  51 b2 3e 34 2e 30 2c 20  | unless Q.>4.0, |
0000a3a0  77 68 65 6e 20 77 65 20  73 65 74 20 74 68 65 20  |when we set the |
0000a3b0  63 6f 6c 6f 75 72 20 74  6f 20 30 0a 28 6f 72 20  |colour to 0.(or |
0000a3c0  61 73 20 73 65 74 20 62  79 20 74 68 65 20 49 6e  |as set by the In|
0000a3d0  74 65 72 69 6f 72 20 6d  65 6e 75 20 6f 70 74 69  |terior menu opti|
0000a3e0  6f 6e 29 2e 0a 0a 20 20  20 69 74 65 72 3d 30 3b  |on)...   iter=0;|
0000a3f0  0a 20 20 20 72 65 70 65  61 74 0a 20 20 20 20 20  |.   repeat.     |
0000a400  69 74 65 72 20 2b 20 31  0a 20 20 20 20 20 69 66  |iter + 1.     if|
0000a410  20 28 61 b2 2b 62 b2 2b  63 b2 2b 64 b2 3e 34 29  | (a.+b.+c.+d.>4)|
0000a420  20 74 68 65 6e 20 65 73  63 61 70 65 0a 20 20 20  | then escape.   |
0000a430  20 20 6e 65 77 5f 61 3d  61 b2 2d 62 b2 2d 63 b2  |  new_a=a.-b.-c.|
0000a440  2d 64 b2 2b 71 30 0a 20  20 20 20 20 62 3d 32 2a  |-d.+q0.     b=2*|
0000a450  61 2a 62 2b 71 31 0a 20  20 20 20 20 63 3d 32 2a  |a*b+q1.     c=2*|
0000a460  61 2a 63 2b 71 32 0a 20  20 20 20 20 64 3d 32 2a  |a*c+q2.     d=2*|
0000a470  61 2a 64 2b 71 33 0a 20  20 20 20 20 61 3d 6e 65  |a*d+q3.     a=ne|
0000a480  77 5f 61 0a 20 20 20 75  6e 74 69 6c 20 69 74 65  |w_a.   until ite|
0000a490  72 3e 3d 6d 61 78 5f 69  74 65 72 0a 0a 4e 6f 74  |r>=max_iter..Not|
0000a4a0  65 73 3a 20 49 74 20 69  73 20 70 6f 73 73 69 62  |es: It is possib|
0000a4b0  6c 65 20 74 6f 20 75 73  65 20 6f 74 68 65 72 20  |le to use other |
0000a4c0  66 75 6e 63 74 69 6f 6e  73 20 73 75 63 68 20 61  |functions such a|
0000a4d0  73 20 51 2d 3e 51 b3 2b  71 20 61 73 20 64 6f 6e  |s Q->Q.+q as don|
0000a4e0  65 20 66 6f 72 0a 4d 61  6e 64 65 6c 62 72 6f 74  |e for.Mandelbrot|
0000a4f0  27 73 2e 20 41 6c 73 6f  20 69 74 20 69 73 20 70  |'s. Also it is p|
0000a500  6f 73 73 69 62 6c 65 20  74 6f 20 70 72 6f 64 75  |ossible to produ|
0000a510  63 65 20 61 20 33 64 20  6d 61 70 70 69 6e 67 2c  |ce a 3d mapping,|
0000a520  20 74 68 6f 75 67 68 20  61 20 6c 6f 74 20 6f 66  | though a lot of|
0000a530  0a 74 68 65 20 73 77 69  72 6c 69 6e 67 20 64 65  |.the swirling de|
0000a540  74 61 69 6c 20 61 70 70  61 72 65 6e 74 6c 79 20  |tail apparently |
0000a550  69 73 20 6c 6f 73 74 2e  20 49 74 65 72 61 74 69  |is lost. Iterati|
0000a560  6e 67 20 74 68 65 20 66  75 6e 63 74 69 6f 6e 20  |ng the function |
0000a570  4d 61 6e 64 65 6c 62 72  6f 74 0a 73 74 79 6c 65  |Mandelbrot.style|
0000a580  20 67 69 76 65 73 20 61  20 76 61 72 69 61 74 69  | gives a variati|
0000a590  6f 6e 20 6f 6e 20 74 68  65 20 4d 61 6e 64 65 6c  |on on the Mandel|
0000a5a0  62 72 6f 74 20 73 68 61  70 65 2e 0a 0a 2d 2d 2d  |brot shape...---|
0000a5b0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
0000a5f0  2d 2d 2d 2d 2d 2d 2d 0a  52 6f 73 73 6c 65 72 20  |-------.Rossler |
0000a600  3a 20 54 68 65 20 4f 74  74 6f 20 52 6f 73 73 6c  |: The Otto Rossl|
0000a610  65 72 20 53 74 72 61 6e  67 65 20 41 74 74 72 61  |er Strange Attra|
0000a620  63 74 6f 72 2e 0a 2d 2d  2d 2d 2d 2d 2d 0a 54 68  |ctor..-------.Th|
0000a630  69 73 20 73 74 72 61 6e  67 65 20 61 74 74 72 61  |is strange attra|
0000a640  63 74 6f 72 20 69 73 20  73 69 6d 69 6c 61 72 20  |ctor is similar |
0000a650  74 6f 20 74 68 65 20 4c  6f 72 65 6e 7a 20 77 69  |to the Lorenz wi|
0000a660  74 68 20 61 20 76 65 72  79 20 64 69 73 74 69 6e  |th a very distin|
0000a670  63 74 69 76 65 0a 73 68  61 70 65 2e 20 54 68 65  |ctive.shape. The|
0000a680  20 73 68 61 70 65 20 69  73 20 74 68 72 65 65 20  | shape is three |
0000a690  64 69 6d 65 6e 73 69 6f  6e 61 6c 20 77 68 69 63  |dimensional whic|
0000a6a0  68 20 6c 6f 6f 6b 73 20  6c 69 6b 65 20 61 20 74  |h looks like a t|
0000a6b0  72 65 62 6c 65 20 63 6c  65 66 66 20 66 72 6f 6d  |reble cleff from|
0000a6c0  0a 73 6f 6d 65 20 61 6e  67 6c 65 73 2e 20 59 6f  |.some angles. Yo|
0000a6d0  75 20 63 61 6e 20 75 73  65 20 21 46 72 61 63 74  |u can use !Fract|
0000a6e0  61 6c 27 73 20 52 6f 74  61 74 69 6f 6e 20 61 6e  |al's Rotation an|
0000a6f0  64 20 45 6c 65 76 61 74  69 6f 6e 20 69 63 6f 6e  |d Elevation icon|
0000a700  73 20 74 6f 20 63 6f 6e  74 72 6f 6c 0a 74 68 65  |s to control.the|
0000a710  20 76 69 65 77 20 70 6f  73 69 74 69 6f 6e 20 74  | view position t|
0000a720  6f 20 65 78 70 6c 6f 72  65 20 74 68 65 20 73 68  |o explore the sh|
0000a730  61 70 65 2e 20 54 68 65  72 65 20 61 72 65 20 74  |ape. There are t|
0000a740  68 72 65 65 20 76 61 72  69 61 62 6c 65 73 20 77  |hree variables w|
0000a750  68 69 63 68 20 6d 61 79  0a 62 65 20 73 65 74 20  |hich may.be set |
0000a760  6f 72 20 72 61 6e 64 6f  6d 6c 79 20 63 68 6f 73  |or randomly chos|
0000a770  65 6e 2c 20 61 6e 64 20  74 68 65 72 65 20 61 72  |en, and there ar|
0000a780  65 20 74 68 72 65 65 20  63 6f 6c 6f 75 72 20 73  |e three colour s|
0000a790  63 68 65 6d 65 73 2e 0a  0a 54 68 65 20 70 6c 6f  |chemes...The plo|
0000a7a0  74 20 69 73 20 69 6e 66  69 6e 69 74 65 2e 20 59  |t is infinite. Y|
0000a7b0  6f 75 20 63 61 6e 20 63  6f 6e 74 72 6f 6c 20 74  |ou can control t|
0000a7c0  68 65 20 73 70 65 65 64  20 62 79 20 73 65 74 74  |he speed by sett|
0000a7d0  69 6e 67 20 74 68 65 20  53 74 65 70 20 52 61 74  |ing the Step Rat|
0000a7e0  65 0a 66 61 63 74 6f 72  20 2d 20 73 6d 61 6c 6c  |e.factor - small|
0000a7f0  65 72 20 76 61 6c 75 65  73 20 77 69 6c 6c 20 73  |er values will s|
0000a800  6c 6f 77 20 74 68 65 20  70 6c 6f 74 20 73 6f 20  |low the plot so |
0000a810  79 6f 75 20 63 61 6e 20  74 72 61 63 65 20 69 74  |you can trace it|
0000a820  73 20 73 68 61 70 65 2e  0a 4e 6f 74 69 63 65 20  |s shape..Notice |
0000a830  74 68 61 74 20 74 68 65  20 70 6c 6f 74 20 72 65  |that the plot re|
0000a840  76 6f 6c 76 65 73 20 61  72 6f 75 6e 64 20 61 20  |volves around a |
0000a850  70 6f 69 6e 74 20 74 68  65 6e 20 6c 65 61 70 73  |point then leaps|
0000a860  20 6f 66 66 20 69 6e 20  61 20 73 74 72 61 6e 67  | off in a strang|
0000a870  65 0a 6c 6f 6f 70 2e 20  54 72 79 20 61 6c 74 65  |e.loop. Try alte|
0000a880  72 69 6e 67 20 74 68 65  20 64 65 66 61 75 6c 74  |ring the default|
0000a890  20 76 61 6c 75 65 73 20  6f 66 20 61 2f 62 2f 63  | values of a/b/c|
0000a8a0  20 62 79 20 73 6d 61 6c  6c 20 61 6d 6f 75 6e 74  | by small amount|
0000a8b0  73 20 61 6e 64 20 73 65  65 20 74 68 65 0a 65 66  |s and see the.ef|
0000a8c0  66 65 63 74 20 74 68 69  73 20 68 61 73 20 6f 6e  |fect this has on|
0000a8d0  20 74 68 65 20 73 68 61  70 65 20 61 6e 64 20 77  | the shape and w|
0000a8e0  68 65 6e 20 74 68 65 20  6a 75 6d 70 20 6f 63 63  |hen the jump occ|
0000a8f0  75 72 73 2e 20 41 6c 74  65 72 6e 61 74 69 76 65  |urs. Alternative|
0000a900  6c 79 20 74 72 79 0a 75  73 69 6e 67 20 6f 6e 65  |ly try.using one|
0000a910  20 6f 72 20 6d 6f 72 65  20 72 61 6e 64 6f 6d 20  | or more random |
0000a920  76 61 72 69 61 62 6c 65  73 20 74 6f 20 73 65 65  |variables to see|
0000a930  20 77 68 61 74 20 73 68  61 70 65 73 20 79 6f 75  | what shapes you|
0000a940  20 63 61 6e 20 61 72 72  69 76 65 20 61 74 2e 0a  | can arrive at..|
0000a950  0a 54 68 65 20 6d 65 6e  75 20 6f 70 74 69 6f 6e  |.The menu option|
0000a960  73 20 61 72 65 3a 0a 0a  52 61 6e 64 6f 6d 20 61  |s are:..Random a|
0000a970  2f 62 2f 63 3a 20 43 6c  69 63 6b 20 74 6f 20 73  |/b/c: Click to s|
0000a980  65 74 2f 75 6e 73 65 74  20 72 61 6e 64 6f 6d 20  |et/unset random |
0000a990  73 65 6c 65 63 74 69 6f  6e 20 6f 66 20 74 68 65  |selection of the|
0000a9a0  20 76 61 72 69 61 62 6c  65 20 77 68 65 6e 20 61  | variable when a|
0000a9b0  0a 70 6c 6f 74 20 69 73  20 73 74 61 72 74 65 64  |.plot is started|
0000a9c0  2e 20 46 6f 72 20 65 61  63 68 20 76 61 72 69 61  |. For each varia|
0000a9d0  62 6c 65 20 74 68 65 72  65 20 69 73 20 61 6e 20  |ble there is an |
0000a9e0  61 73 73 6f 63 69 61 74  65 64 20 6d 61 78 69 6d  |associated maxim|
0000a9f0  75 6d 2c 20 77 68 69 63  68 20 63 61 6e 0a 62 65  |um, which can.be|
0000aa00  20 63 68 61 6e 67 65 64  20 66 72 6f 6d 20 74 68  | changed from th|
0000aa10  65 20 64 61 74 61 20 70  61 6e 65 6c 2e 20 4e 65  |e data panel. Ne|
0000aa20  77 20 76 61 72 69 61 62  6c 65 73 20 61 72 65 20  |w variables are |
0000aa30  6e 6f 74 20 63 68 6f 73  65 6e 20 77 68 65 6e 20  |not chosen when |
0000aa40  7a 6f 6f 6d 69 6e 67 2e  0a 4f 6e 63 65 20 79 6f  |zooming..Once yo|
0000aa50  75 20 68 61 76 65 20 66  6f 75 6e 64 20 61 6e 20  |u have found an |
0000aa60  69 6e 74 65 72 65 73 74  69 6e 67 20 73 68 61 70  |interesting shap|
0000aa70  65 2c 20 74 75 72 6e 20  6f 66 66 20 72 61 6e 64  |e, turn off rand|
0000aa80  6f 6d 20 76 61 72 69 61  62 6c 65 73 2c 20 61 6e  |om variables, an|
0000aa90  64 20 75 73 65 0a 74 68  65 20 33 64 20 6f 70 74  |d use.the 3d opt|
0000aaa0  69 6f 6e 73 20 74 6f 20  65 78 70 6c 6f 72 65 20  |ions to explore |
0000aab0  74 68 65 20 73 68 61 70  65 20 66 72 6f 6d 20 64  |the shape from d|
0000aac0  69 66 66 65 72 65 6e 74  20 76 69 65 77 20 70 6f  |ifferent view po|
0000aad0  69 6e 74 73 2e 0a 0a 52  61 6e 64 6f 6d 20 63 6f  |ints...Random co|
0000aae0  6c 6f 75 72 3a 20 77 68  65 6e 20 73 65 74 20 61  |lour: when set a|
0000aaf0  20 72 61 6e 64 6f 6d 20  63 6f 6c 6f 75 72 20 69  | random colour i|
0000ab00  73 20 63 68 6f 73 65 6e  20 61 66 74 65 72 20 65  |s chosen after e|
0000ab10  76 65 72 79 20 31 30 30  20 70 6c 6f 74 73 2e 0a  |very 100 plots..|
0000ab20  0a 53 74 65 70 20 43 6f  6c 6f 75 72 3a 20 74 68  |.Step Colour: th|
0000ab30  65 20 63 6f 6c 6f 75 72  20 76 61 6c 75 65 20 69  |e colour value i|
0000ab40  73 20 69 6e 63 72 65 61  73 65 64 20 61 66 74 65  |s increased afte|
0000ab50  72 20 65 76 65 72 79 20  31 30 30 20 70 6c 6f 74  |r every 100 plot|
0000ab60  73 2e 0a 0a 49 66 20 6e  65 69 74 68 65 72 20 52  |s...If neither R|
0000ab70  61 6e 64 6f 6d 20 6f 72  20 53 74 65 70 20 63 6f  |andom or Step co|
0000ab80  6c 6f 75 72 20 69 73 20  73 65 74 2c 20 74 68 65  |lour is set, the|
0000ab90  6e 20 74 68 65 20 70 6c  6f 74 20 69 73 20 6d 61  |n the plot is ma|
0000aba0  64 65 20 69 6e 20 77 68  69 74 65 0a 75 73 69 6e  |de in white.usin|
0000abb0  67 20 65 78 63 6c 75 73  69 76 65 20 6f 72 27 69  |g exclusive or'i|
0000abc0  6e 67 20 74 6f 20 74 72  61 63 65 20 74 68 65 20  |ng to trace the |
0000abd0  63 75 72 72 65 6e 74 20  70 6f 73 69 74 69 6f 6e  |current position|
0000abe0  2e 0a 0a 59 6f 75 20 63  61 6e 20 63 68 61 6e 67  |...You can chang|
0000abf0  65 20 74 68 65 20 76 69  65 77 70 6f 69 6e 74 20  |e the viewpoint |
0000ac00  77 68 69 6c 73 74 20 70  6c 6f 74 74 69 6e 67 20  |whilst plotting |
0000ac10  62 79 20 70 72 65 73 73  69 6e 67 20 74 68 65 20  |by pressing the |
0000ac20  63 75 72 73 6f 72 20 6b  65 79 73 2c 0a 61 6e 64  |cursor keys,.and|
0000ac30  20 74 68 65 6e 20 70 72  65 73 73 69 6e 67 20 74  | then pressing t|
0000ac40  68 65 20 73 70 61 63 65  20 62 61 72 20 74 6f 20  |he space bar to |
0000ac50  72 65 73 74 61 72 74 2e  20 53 65 65 20 74 68 65  |restart. See the|
0000ac60  20 33 64 20 73 65 63 74  69 6f 6e 20 69 6e 20 74  | 3d section in t|
0000ac70  68 65 0a 21 4d 61 69 6e  48 65 6c 70 20 66 69 6c  |he.!MainHelp fil|
0000ac80  65 2e 0a 0a 41 6c 67 6f  72 69 74 68 6d 0a 2d 2d  |e...Algorithm.--|
0000ac90  2d 2d 2d 2d 2d 2d 2d 0a  20 20 20 20 78 3d 31 3b  |-------.    x=1;|
0000aca0  20 79 3d 31 3b 20 7a 3d  31 3b 0a 20 20 20 20 64  | y=1; z=1;.    d|
0000acb0  6f 0a 20 20 20 20 20 20  20 6e 65 77 20 78 3d 78  |o.       new x=x|
0000acc0  2d 79 2a 64 74 2d 7a 2a  64 74 20 20 20 20 20 20  |-y*dt-z*dt      |
0000acd0  20 20 20 20 20 20 64 74  3d 73 74 65 70 20 72 61  |      dt=step ra|
0000ace0  74 65 0a 20 20 20 20 20  20 20 6e 65 77 20 79 3d  |te.       new y=|
0000acf0  79 2b 78 2a 64 74 2b 61  2a 79 2a 64 74 0a 20 20  |y+x*dt+a*y*dt.  |
0000ad00  20 20 20 20 20 6e 65 77  20 7a 3d 7a 2b 62 2a 64  |     new z=z+b*d|
0000ad10  74 2b 78 2a 7a 2a 64 74  2d 63 2a 7a 2a 64 74 0a  |t+x*z*dt-c*z*dt.|
0000ad20  20 20 20 20 20 20 20 64  72 61 77 20 70 78 2c 70  |       draw px,p|
0000ad30  7a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |z               |
0000ad40  20 20 20 20 70 78 2f 70  7a 20 61 72 65 20 33 64  |    px/pz are 3d|
0000ad50  20 74 72 61 6e 73 66 6f  72 6d 20 6f 66 20 78 2f  | transform of x/|
0000ad60  79 2f 7a 0a 20 20 20 20  66 6f 72 65 76 65 72 0a  |y/z.    forever.|
0000ad70  0a 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |.---------------|
0000ad80  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
0000adb0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 0a 55 6e 69 74  |-----------.Unit|
0000adc0  79 0a 3d 3d 3d 3d 3d 0a  54 68 69 73 20 74 72 61  |y.=====.This tra|
0000add0  6e 73 66 6f 72 6d 61 74  69 6f 6e 20 77 61 73 20  |nsformation was |
0000ade0  64 65 76 65 6c 6f 70 65  64 20 62 79 20 4d 61 72  |developed by Mar|
0000adf0  6b 20 50 65 74 65 72 73  6f 6e 20 6f 66 20 46 72  |k Peterson of Fr|
0000ae00  61 63 74 69 6e 74 20 61  6e 64 20 69 73 20 61 0a  |actint and is a.|
0000ae10  73 69 6d 70 6c 65 20 22  4e 65 77 74 6f 6e 22 20  |simple "Newton" |
0000ae20  73 74 79 6c 65 20 61 6c  67 6f 72 69 74 68 6d 2c  |style algorithm,|
0000ae30  20 77 68 69 63 68 20 69  73 3a 0a 0a 20 20 20 4f  | which is:..   O|
0000ae40  6e 65 3d 78 2a 78 2b 79  2a 79 3b 20 20 79 3d 28  |ne=x*x+y*y;  y=(|
0000ae50  32 2d 4f 6e 65 29 2a 78  3b 20 20 78 3d 28 32 2d  |2-One)*x;  x=(2-|
0000ae60  4f 6e 65 29 2a 79 3b 0a  0a 77 68 69 63 68 20 69  |One)*y;..which i|
0000ae70  73 20 69 74 65 72 61 74  65 64 20 66 6f 72 20 65  |s iterated for e|
0000ae80  61 63 68 20 73 63 72 65  65 6e 20 70 69 78 65 6c  |ach screen pixel|
0000ae90  20 75 6e 74 69 6c 20 31  2d 4f 6e 65 3d 30 20 77  | until 1-One=0 w|
0000aea0  69 74 68 69 6e 20 74 68  65 20 61 63 63 75 72 61  |ithin the accura|
0000aeb0  63 79 20 6f 66 0a 70 6c  6f 74 74 69 6e 67 2e 20  |cy of.plotting. |
0000aec0  54 68 65 20 63 6f 6c 6f  75 72 20 69 73 20 74 68  |The colour is th|
0000aed0  65 20 6e 75 6d 62 65 72  20 6f 66 20 69 74 65 72  |e number of iter|
0000aee0  61 74 69 6f 6e 73 20 28  2b 33 32 20 74 6f 20 61  |ations (+32 to a|
0000aef0  76 6f 69 64 20 64 61 72  6b 0a 63 6f 6c 6f 75 72  |void dark.colour|
0000af00  73 29 2e 20 54 68 65 20  70 6c 6f 74 20 6c 6f 6f  |s). The plot loo|
0000af10  6b 73 20 76 65 72 79 20  73 69 6d 69 6c 61 72 20  |ks very similar |
0000af20  74 6f 20 61 20 48 65 6e  6f 6e 20 6d 61 70 2c 20  |to a Henon map, |
0000af30  77 69 74 68 20 74 68 69  6e 20 6c 69 6e 65 73 20  |with thin lines |
0000af40  74 68 61 74 0a 67 65 74  20 74 68 69 6e 6e 65 72  |that.get thinner|
0000af50  20 77 68 65 6e 20 79 6f  75 20 7a 6f 6f 6d 20 69  | when you zoom i|
0000af60  6e 2e 0a 0a 55 6e 69 74  79 20 75 73 65 73 20 69  |n...Unity uses i|
0000af70  6e 74 65 67 65 72 20 61  72 69 74 68 6d 65 74 69  |nteger arithmeti|
0000af80  63 20 61 6e 64 20 74 68  75 73 20 73 6f 6f 6e 20  |c and thus soon |
0000af90  68 69 74 73 20 61 20 7a  6f 6f 6d 20 6c 69 6d 69  |hits a zoom limi|
0000afa0  74 2e 0a 0a 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |t...------------|
0000afb0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
0000afe0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 0a 0a  |--------------..|
0000aff0  33 64 20 54 72 61 6e 73  66 6f 72 6d 73 0a 3d 3d  |3d Transforms.==|
0000b000  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 0a 54 68 65 73  |===========.Thes|
0000b010  65 20 74 61 6b 65 20 61  20 66 72 61 63 74 61 6c  |e take a fractal|
0000b020  20 69 6d 61 67 65 20 61  6e 64 20 74 72 61 6e 73  | image and trans|
0000b030  66 6f 72 6d 20 69 74 2e  20 54 68 65 20 62 65 73  |form it. The bes|
0000b040  74 20 69 6d 61 67 65 73  20 61 72 65 20 74 68 6f  |t images are tho|
0000b050  73 65 20 6f 66 0a 4d 61  6e 64 65 6c 62 72 6f 74  |se of.Mandelbrot|
0000b060  73 20 75 73 69 6e 67 20  61 20 73 74 61 6e 64 61  |s using a standa|
0000b070  72 64 20 6f 72 20 69 6e  76 65 72 74 65 64 20 70  |rd or inverted p|
0000b080  61 6c 65 74 74 65 20 28  62 75 74 20 66 65 65 6c  |alette (but feel|
0000b090  20 66 72 65 65 20 74 6f  0a 65 78 70 65 72 69 6d  | free to.experim|
0000b0a0  65 6e 74 29 2e 20 45 78  63 65 70 74 20 66 6f 72  |ent). Except for|
0000b0b0  20 52 69 65 6d 61 6e 6e  2c 20 74 68 65 79 20 64  | Riemann, they d|
0000b0c0  6f 20 6e 6f 74 20 6d 75  6c 74 69 74 61 73 6b 20  |o not multitask |
0000b0d0  73 69 6e 63 65 20 74 68  65 79 20 61 72 65 20 71  |since they are q|
0000b0e0  75 69 74 65 0a 71 75 69  63 6b 2e 20 54 68 65 79  |uite.quick. They|
0000b0f0  20 6f 66 66 65 72 20 76  61 72 79 69 6e 67 20 64  | offer varying d|
0000b100  65 67 72 65 65 73 20 6f  66 20 63 6f 6e 74 72 6f  |egrees of contro|
0000b110  6c 2e 0a 0a 54 68 65 72  65 20 69 73 20 61 20 63  |l...There is a c|
0000b120  6f 6d 6d 6f 6e 20 6d 65  6e 75 20 6f 70 74 69 6f  |ommon menu optio|
0000b130  6e 20 77 68 69 63 68 20  61 6c 6c 6f 77 73 20 79  |n which allows y|
0000b140  6f 75 20 74 6f 20 72 65  2d 64 69 73 70 6c 61 79  |ou to re-display|
0000b150  20 74 68 65 20 73 6f 75  72 63 65 0a 69 6d 61 67  | the source.imag|
0000b160  65 2c 20 61 6e 64 20 74  68 65 6e 20 73 74 6f 72  |e, and then stor|
0000b170  65 20 69 74 20 61 67 61  69 6e 20 61 73 20 74 68  |e it again as th|
0000b180  65 20 33 64 20 73 6f 75  72 63 65 2e 20 54 68 69  |e 3d source. Thi|
0000b190  73 20 61 6c 6c 6f 77 73  20 79 6f 75 20 74 6f 20  |s allows you to |
0000b1a0  64 6f 20 74 68 72 65 65  0a 74 68 69 6e 67 73 3a  |do three.things:|
0000b1b0  0a 0a 61 29 20 63 68 61  6e 67 65 20 74 68 65 20  |..a) change the |
0000b1c0  63 6f 6c 6f 75 72 73 20  6f 66 20 74 68 65 20 6f  |colours of the o|
0000b1d0  72 69 67 69 6e 61 6c 20  69 6d 61 67 65 2c 20 62  |riginal image, b|
0000b1e0  79 20 75 73 69 6e 67 20  74 68 65 20 45 66 66 65  |y using the Effe|
0000b1f0  63 74 73 2d 3e 50 61 6c  65 74 74 65 0a 6d 65 6e  |cts->Palette.men|
0000b200  75 2e 20 46 6f 72 20 52  65 6e 64 65 72 20 61 6e  |u. For Render an|
0000b210  64 20 33 64 20 76 69 65  77 73 20 74 68 69 73 20  |d 3d views this |
0000b220  77 69 6c 6c 20 63 68 61  6e 67 65 20 74 68 65 20  |will change the |
0000b230  64 69 73 70 6c 61 79 65  64 20 68 65 69 67 68 74  |displayed height|
0000b240  2e 0a 0a 62 29 20 52 6f  74 61 74 65 20 74 68 65  |...b) Rotate the|
0000b250  20 73 6f 75 72 63 65 20  69 6d 61 67 65 20 76 69  | source image vi|
0000b260  61 20 74 68 65 20 74 6f  6f 6c 73 20 72 6f 74 61  |a the tools rota|
0000b270  74 65 20 69 63 6f 6e 2e  0a 0a 63 29 20 55 73 65  |te icon...c) Use|
0000b280  20 61 20 33 64 20 69 6d  61 67 65 20 61 73 20 74  | a 3d image as t|
0000b290  68 65 20 73 6f 75 72 63  65 20 6f 66 20 61 6e 6f  |he source of ano|
0000b2a0  74 68 65 72 20 28 6f 72  20 73 61 6d 65 29 20 33  |ther (or same) 3|
0000b2b0  64 20 74 72 61 6e 73 66  6f 72 6d 2e 0a 0a 33 64  |d transform...3d|
0000b2c0  20 56 69 65 77 20 61 6e  64 20 52 69 65 6d 61 6e  | View and Rieman|
0000b2d0  6e 20 70 72 6f 76 69 64  65 20 72 6f 74 61 74 69  |n provide rotati|
0000b2e0  6f 6e 20 64 69 72 65 63  74 6c 79 20 2d 20 66 6f  |on directly - fo|
0000b2f0  72 20 74 68 65 20 6f 74  68 65 72 73 20 75 73 65  |r the others use|
0000b300  20 74 68 65 0a 52 6f 74  61 74 65 20 72 6f 74 61  | the.Rotate rota|
0000b310  74 65 20 74 6f 6f 6c 20  69 63 6f 6e 2e 0a 0a 52  |te tool icon...R|
0000b320  65 74 75 72 6e 20 74 6f  20 66 75 6e 63 74 69 6f  |eturn to functio|
0000b330  6e 3a 20 54 68 69 73 20  6d 65 6e 75 20 6f 70 74  |n: This menu opt|
0000b340  69 6f 6e 20 74 61 6b 65  73 20 79 6f 75 20 64 69  |ion takes you di|
0000b350  72 65 63 74 6c 79 20 62  61 63 6b 20 74 6f 20 74  |rectly back to t|
0000b360  68 65 20 6f 72 69 67 69  6e 61 6c 0a 66 75 6e 63  |he original.func|
0000b370  74 69 6f 6e 2c 20 64 69  73 70 6c 61 79 69 6e 67  |tion, displaying|
0000b380  20 74 68 65 20 73 6f 75  72 63 65 20 69 6d 61 67  | the source imag|
0000b390  65 20 74 6f 20 61 6c 6c  6f 77 20 7a 6f 6f 6d 69  |e to allow zoomi|
0000b3a0  6e 67 20 74 6f 20 72 65  2d 63 6f 6d 6d 65 6e 63  |ng to re-commenc|
0000b3b0  65 2e 0a 0a 48 65 69 67  68 74 20 4d 61 70 70 69  |e...Height Mappi|
0000b3c0  6e 67 0a 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |ng.-------------|
0000b3d0  2d 0a 54 68 65 20 33 64  5f 50 6c 61 6e 65 2c 20  |-.The 3d_Plane, |
0000b3e0  33 64 5f 56 69 65 77 20  61 6e 64 20 52 65 6e 64  |3d_View and Rend|
0000b3f0  65 72 20 66 75 6e 63 74  69 6f 6e 73 20 75 73 65  |er functions use|
0000b400  20 74 68 65 20 70 69 78  65 6c 20 63 6f 6c 6f 75  | the pixel colou|
0000b410  72 20 74 6f 20 64 65 74  65 72 6d 69 6e 65 0a 74  |r to determine.t|
0000b420  68 65 20 68 65 69 67 68  74 2e 20 55 73 65 20 74  |he height. Use t|
0000b430  68 65 20 45 66 66 65 63  74 73 2d 3e 33 64 20 44  |he Effects->3d D|
0000b440  65 74 61 69 6c 73 20 70  61 6e 65 6c 20 74 6f 20  |etails panel to |
0000b450  63 6f 6e 74 72 6f 6c 20  74 68 69 73 20 6d 61 70  |control this map|
0000b460  70 69 6e 67 0a 70 72 6f  63 65 73 73 2c 20 64 65  |ping.process, de|
0000b470  73 63 72 69 62 65 64 20  69 6e 20 74 68 65 20 21  |scribed in the !|
0000b480  4d 61 69 6e 48 65 6c 70  20 66 69 6c 65 2e 20 57  |MainHelp file. W|
0000b490  68 65 6e 20 74 68 65 73  65 20 66 75 6e 63 74 69  |hen these functi|
0000b4a0  6f 6e 73 20 61 72 65 20  73 65 6c 65 63 74 65 64  |ons are selected|
0000b4b0  0a 74 68 65 20 6d 69 6e  20 61 6e 64 20 6d 61 78  |.the min and max|
0000b4c0  20 70 69 78 65 6c 20 63  6f 6c 6f 75 72 73 20 61  | pixel colours a|
0000b4d0  72 65 20 61 75 74 6f 6d  61 74 69 63 61 6c 6c 79  |re automatically|
0000b4e0  20 63 61 6c 63 75 6c 61  74 65 64 2e 20 4f 76 65  | calculated. Ove|
0000b4f0  72 72 69 64 65 20 74 68  65 73 65 0a 76 61 6c 75  |rride these.valu|
0000b500  65 73 20 74 6f 20 73 6d  6f 6f 74 68 20 6f 75 74  |es to smooth out|
0000b510  20 70 65 61 6b 73 20 6f  72 20 63 6c 69 70 20 74  | peaks or clip t|
0000b520  68 65 20 69 6d 61 67 65  2e 20 54 6f 20 72 65 73  |he image. To res|
0000b530  65 74 20 74 68 65 20 76  61 6c 75 65 73 20 75 73  |et the values us|
0000b540  65 20 74 68 65 0a 49 6e  69 74 69 61 6c 20 62 75  |e the.Initial bu|
0000b550  74 74 6f 6e 20 6f 6e 20  74 68 65 20 49 6d 61 67  |tton on the Imag|
0000b560  65 2d 3e 44 61 74 61 20  70 61 6e 65 6c 2e 0a 0a  |e->Data panel...|
0000b570  33 64 20 50 6c 61 6e 65  0a 2d 2d 2d 2d 2d 2d 2d  |3d Plane.-------|
0000b580  2d 0a 50 72 65 73 65 6e  74 73 20 61 6e 20 6f 62  |-.Presents an ob|
0000b590  6c 69 71 75 65 20 76 69  65 77 20 6f 66 20 61 6e  |lique view of an|
0000b5a0  20 69 6d 61 67 65 2c 20  73 63 61 6c 65 64 20 74  | image, scaled t|
0000b5b0  6f 20 66 69 74 20 6f 6e  74 6f 20 74 68 65 20 73  |o fit onto the s|
0000b5c0  63 72 65 65 6e 2e 20 54  68 65 0a 68 65 69 67 68  |creen. The.heigh|
0000b5d0  74 20 69 73 20 62 61 73  65 64 20 6f 6e 20 74 68  |t is based on th|
0000b5e0  65 20 73 6f 75 72 63 65  20 63 6f 6c 6f 75 72 20  |e source colour |
0000b5f0  28 30 3d 6c 6f 77 2c 20  32 35 35 3d 68 69 67 68  |(0=low, 255=high|
0000b600  29 2e 20 54 68 65 20 64  61 74 61 20 76 61 72 69  |). The data vari|
0000b610  61 62 6c 65 73 0a 61 72  65 3a 0a 0a 78 20 53 63  |ables.are:..x Sc|
0000b620  61 6c 61 72 3a 20 61 20  76 61 6c 75 65 20 6f 66  |alar: a value of|
0000b630  20 31 20 70 6c 6f 74 73  20 74 68 65 20 78 20 61  | 1 plots the x a|
0000b640  78 69 73 20 66 75 6c 6c  20 73 69 7a 65 2e 20 55  |xis full size. U|
0000b650  73 65 20 73 6d 61 6c 6c  65 72 20 76 61 6c 75 65  |se smaller value|
0000b660  73 20 74 6f 0a 61 63 63  6f 6d 6f 64 61 74 65 20  |s to.accomodate |
0000b670  74 68 65 20 73 68 69 66  74 20 69 6e 63 75 72 72  |the shift incurr|
0000b680  65 64 20 62 79 20 74 68  65 20 76 69 65 77 69 6e  |ed by the viewin|
0000b690  67 20 61 6e 67 6c 65 2e  0a 0a 79 20 53 63 61 6c  |g angle...y Scal|
0000b6a0  61 72 3a 20 61 20 76 61  6c 75 65 20 6f 66 20 31  |ar: a value of 1|
0000b6b0  20 70 6c 6f 74 73 20 74  68 65 20 79 20 61 78 69  | plots the y axi|
0000b6c0  73 20 66 75 6c 6c 20 73  69 7a 65 2c 20 62 75 74  |s full size, but|
0000b6d0  20 30 2e 36 20 70 72 6f  76 69 64 65 73 20 61 20  | 0.6 provides a |
0000b6e0  6d 6f 72 65 0a 72 65 61  6c 69 73 74 69 63 20 69  |more.realistic i|
0000b6f0  6d 61 67 65 2e 0a 0a 54  68 65 20 72 6f 74 61 74  |mage...The rotat|
0000b700  69 6f 6e 20 61 6e 67 6c  65 20 69 73 20 75 73 65  |ion angle is use|
0000b710  64 20 61 73 20 74 68 65  20 61 6e 67 6c 65 20 6f  |d as the angle o|
0000b720  66 20 74 68 65 20 79 20  61 78 69 73 2c 20 77 69  |f the y axis, wi|
0000b730  74 68 20 39 30 b0 20 62  65 69 6e 67 20 74 68 65  |th 90. being the|
0000b740  0a 66 61 72 20 72 69 67  68 74 20 61 6e 64 20 2d  |.far right and -|
0000b750  39 30 b0 20 74 68 65 20  66 61 72 20 6c 65 66 74  |90. the far left|
0000b760  2e 20 4c 61 72 67 65 72  20 61 6e 67 6c 65 73 20  |. Larger angles |
0000b770  77 69 6c 6c 20 74 65 6e  64 20 74 6f 20 6c 6f 77  |will tend to low|
0000b780  65 72 20 74 68 65 0a 76  69 65 77 70 6f 69 6e 74  |er the.viewpoint|
0000b790  20 61 6e 64 20 73 65 65  20 6d 6f 72 65 20 74 6f  | and see more to|
0000b7a0  20 74 68 65 20 6c 65 66  74 20 6f 72 20 72 69 67  | the left or rig|
0000b7b0  68 74 2e 20 59 6f 75 20  63 61 6e 20 75 73 65 20  |ht. You can use |
0000b7c0  74 68 65 20 52 6f 74 61  74 69 6f 6e 20 74 6f 6f  |the Rotation too|
0000b7d0  6c 0a 69 63 6f 6e 20 20  62 75 74 20 6e 6f 74 65  |l.icon  but note|
0000b7e0  20 74 68 61 74 20 74 68  65 20 76 69 65 77 70 6f  | that the viewpo|
0000b7f0  69 6e 74 20 61 6e 67 6c  65 20 69 73 20 6f 6e 6c  |int angle is onl|
0000b800  79 20 61 6e 20 69 6e 64  69 63 61 74 69 6f 6e 20  |y an indication |
0000b810  6f 66 20 74 68 65 0a 61  70 70 61 72 65 6e 74 20  |of the.apparent |
0000b820  64 69 72 65 63 74 69 6f  6e 2e 0a 0a 33 64 20 56  |direction...3d V|
0000b830  69 65 77 0a 2d 2d 2d 2d  2d 2d 2d 0a 54 68 69 73  |iew.-------.This|
0000b840  20 6f 66 66 65 72 73 20  61 20 6d 6f 72 65 20 72  | offers a more r|
0000b850  65 61 6c 69 73 74 69 63  20 33 64 20 69 6d 61 67  |ealistic 3d imag|
0000b860  65 20 74 68 61 6e 20 33  64 20 50 6c 61 6e 65 2c  |e than 3d Plane,|
0000b870  20 61 6e 64 20 70 72 6f  76 69 64 65 73 20 74 77  | and provides tw|
0000b880  6f 0a 76 69 65 77 69 6e  67 20 6f 70 74 69 6f 6e  |o.viewing option|
0000b890  73 20 2d 20 65 69 74 68  65 72 20 66 75 6c 6c 20  |s - either full |
0000b8a0  72 6f 74 61 74 69 6f 6e  20 6f 72 20 61 20 66 72  |rotation or a fr|
0000b8b0  6f 6e 74 20 65 6e 64 20  76 69 65 77 20 77 69 74  |ont end view wit|
0000b8c0  68 20 70 65 72 73 70 65  63 74 69 76 65 0a 63 6f  |h perspective.co|
0000b8d0  6e 74 72 6f 6c 2e 20 54  68 65 20 64 61 74 61 20  |ntrol. The data |
0000b8e0  70 61 72 61 6d 65 74 65  72 73 20 61 72 65 3a 0a  |parameters are:.|
0000b8f0  0a 44 69 73 74 61 6e 63  65 3a 20 77 68 65 6e 20  |.Distance: when |
0000b900  52 6f 74 61 74 69 6f 6e  3d 30 20 74 68 69 73 20  |Rotation=0 this |
0000b910  70 61 72 61 6d 65 74 65  72 20 63 6f 6e 74 72 6f  |parameter contro|
0000b920  6c 73 20 74 68 65 20 76  61 6e 69 73 68 69 6e 67  |ls the vanishing|
0000b930  20 70 6f 69 6e 74 2e 20  41 0a 76 61 6c 75 65 20  | point. A.value |
0000b940  6f 66 20 31 20 67 69 76  65 73 20 74 68 65 20 6d  |of 1 gives the m|
0000b950  61 78 69 6d 75 6d 20 64  69 73 74 6f 72 74 69 6f  |aximum distortio|
0000b960  6e 2c 20 77 68 69 6c 73  74 20 6c 61 72 67 65 72  |n, whilst larger|
0000b970  20 76 61 6c 75 65 73 20  67 69 76 65 20 6d 6f 72  | values give mor|
0000b980  65 0a 73 75 62 74 6c 65  20 65 66 66 65 63 74 73  |e.subtle effects|
0000b990  2e 0a 0a 46 72 6f 6d 20  74 68 65 20 33 44 5f 56  |...From the 3D_V|
0000b9a0  69 65 77 20 6d 65 6e 75  20 79 6f 75 20 63 61 6e  |iew menu you can|
0000b9b0  20 73 65 74 20 53 6d 6f  6f 74 68 3a 20 77 68 65  | set Smooth: whe|
0000b9c0  6e 20 6f 66 66 20 63 6f  6e 74 6f 75 72 20 6c 69  |n off contour li|
0000b9d0  6e 65 73 20 61 72 65 0a  61 63 63 65 6e 74 75 61  |nes are.accentua|
0000b9e0  74 65 64 2c 20 77 68 69  63 68 20 77 6f 72 6b 73  |ted, which works|
0000b9f0  20 77 65 6c 6c 20 77 69  74 68 20 4d 61 6e 64 65  | well with Mande|
0000ba00  6c 62 72 6f 74 20 69 6d  61 67 65 73 2e 20 57 68  |lbrot images. Wh|
0000ba10  65 6e 20 6f 6e 20 63 6f  6e 74 6f 75 72 20 6c 69  |en on contour li|
0000ba20  6e 65 73 0a 72 75 6e 20  69 6e 74 6f 20 65 61 63  |nes.run into eac|
0000ba30  68 20 6f 74 68 65 72 2c  20 77 68 69 63 68 20 77  |h other, which w|
0000ba40  6f 72 6b 73 20 62 65 73  74 20 77 69 74 68 20 6c  |orks best with l|
0000ba50  61 6e 64 73 63 61 70 65  73 20 73 75 63 68 20 61  |andscapes such a|
0000ba60  73 20 4d 69 64 70 6f 69  6e 74 20 61 6e 64 0a 46  |s Midpoint and.F|
0000ba70  61 75 6c 74 20 66 75 6e  63 74 69 6f 6e 73 2e 0a  |ault functions..|
0000ba80  0a 52 65 6e 64 65 72 0a  2d 2d 2d 2d 2d 2d 0a 44  |.Render.------.D|
0000ba90  72 61 77 73 20 61 20 33  64 20 72 65 70 72 65 73  |raws a 3d repres|
0000baa0  65 6e 74 61 74 69 6f 6e  20 61 73 20 73 65 65 6e  |entation as seen|
0000bab0  20 66 75 6c 6c 20 6f 6e  2c 20 75 73 69 6e 67 20  | full on, using |
0000bac0  74 68 65 20 63 6f 6c 6f  75 72 20 61 73 20 74 68  |the colour as th|
0000bad0  65 20 68 65 69 67 68 74  2e 20 41 0a 6c 69 67 68  |e height. A.ligh|
0000bae0  74 20 73 6f 75 72 63 65  20 69 73 20 61 73 73 75  |t source is assu|
0000baf0  6d 65 64 20 66 72 6f 6d  20 74 68 65 20 62 6f 74  |med from the bot|
0000bb00  74 6f 6d 20 6c 65 66 74  20 63 6f 72 6e 65 72 20  |tom left corner |
0000bb10  61 6e 64 20 69 73 20 75  73 65 64 20 74 6f 20 61  |and is used to a|
0000bb20  64 64 20 61 0a 73 68 61  64 6f 77 20 65 66 66 65  |dd a.shadow effe|
0000bb30  63 74 2e 0a 0a 46 72 6f  6d 20 52 65 6e 64 65 72  |ct...From Render|
0000bb40  27 73 20 6d 65 6e 75 20  79 6f 75 20 63 61 6e 20  |'s menu you can |
0000bb50  73 65 6c 65 63 74 20 74  68 65 20 65 6c 65 76 61  |select the eleva|
0000bb60  74 69 6f 6e 20 76 69 65  77 70 6f 69 6e 74 2c 20  |tion viewpoint, |
0000bb70  6f 72 20 79 6f 75 20 63  61 6e 20 75 73 65 0a 74  |or you can use.t|
0000bb80  68 65 20 45 6c 65 76 61  74 69 6f 6e 20 74 6f 6f  |he Elevation too|
0000bb90  6c 20 69 63 6f 6e 20 74  6f 20 63 6f 6e 74 72 6f  |l icon to contro|
0000bba0  6c 20 74 68 69 73 2e 20  4e 6f 74 65 20 74 68 61  |l this. Note tha|
0000bbb0  74 20 6f 6e 6c 79 20 34  20 61 6e 67 6c 65 73 20  |t only 4 angles |
0000bbc0  61 72 65 0a 61 76 61 69  6c 61 62 6c 65 2e 0a 0a  |are.available...|
0000bbd0  52 69 65 6d 61 6e 6e 0a  2d 2d 2d 2d 2d 2d 2d 0a  |Riemann.-------.|
0000bbe0  54 61 6b 65 73 20 74 68  65 20 69 6d 61 67 65 20  |Takes the image |
0000bbf0  61 6e 64 20 6d 61 70 73  20 69 74 20 6f 6e 74 6f  |and maps it onto|
0000bc00  20 61 20 73 70 68 65 72  65 2c 20 75 73 69 6e 67  | a sphere, using|
0000bc10  20 61 20 52 69 65 6d 61  6e 6e 20 74 72 61 6e 73  | a Riemann trans|
0000bc20  66 6f 72 6d 61 74 69 6f  6e 2e 0a 42 61 73 69 63  |formation..Basic|
0000bc30  61 6c 6c 79 20 74 68 65  20 73 6f 75 72 63 65 20  |ally the source |
0000bc40  69 6d 61 67 65 20 69 73  20 6d 61 70 70 65 64 20  |image is mapped |
0000bc50  6f 6e 74 6f 20 61 20 73  70 68 65 72 65 20 61 74  |onto a sphere at|
0000bc60  20 74 68 65 20 73 6f 75  74 68 20 70 6f 6c 65 2e  | the south pole.|
0000bc70  20 41 0a 76 61 6c 75 65  20 63 61 6e 20 6f 6e 6c  | A.value can onl|
0000bc80  79 20 62 65 20 6d 61 70  70 65 64 20 6f 6e 74 6f  |y be mapped onto|
0000bc90  20 74 68 65 20 6e 6f 72  74 68 20 70 6f 6c 65 20  | the north pole |
0000bca0  69 66 20 69 74 20 69 73  20 61 74 20 69 6e 66 69  |if it is at infi|
0000bcb0  6e 69 74 79 2e 20 53 65  65 20 74 68 65 0a 61 72  |nity. See the.ar|
0000bcc0  74 69 63 6c 65 20 69 6e  20 46 72 61 63 74 61 6c  |ticle in Fractal|
0000bcd0  20 52 65 70 6f 72 74 20  31 36 20 62 79 20 52 6f  | Report 16 by Ro|
0000bce0  67 65 72 20 43 61 73 74  6c 65 2d 53 6d 69 74 68  |ger Castle-Smith|
0000bcf0  20 66 6f 72 20 61 20 66  75 6c 6c 20 65 78 70 6c  | for a full expl|
0000bd00  61 6e 61 74 69 6f 6e 2e  0a 0a 54 68 65 20 64 61  |anation...The da|
0000bd10  74 61 20 76 61 6c 75 65  73 20 61 72 65 20 3a 0a  |ta values are :.|
0000bd20  0a 49 6d 61 67 65 20 53  63 61 6c 65 3a 20 74 68  |.Image Scale: th|
0000bd30  65 20 73 6f 75 72 63 65  20 69 6d 61 67 65 20 73  |e source image s|
0000bd40  69 7a 65 20 69 6e 20 72  65 6c 61 74 69 6f 6e 20  |ize in relation |
0000bd50  74 6f 20 74 68 65 20 73  70 68 65 72 65 20 73 69  |to the sphere si|
0000bd60  7a 65 2e 20 4c 61 72 67  65 72 0a 76 61 6c 75 65  |ze. Larger.value|
0000bd70  73 20 77 69 6c 6c 20 6d  65 61 6e 20 74 68 61 74  |s will mean that|
0000bd80  20 74 68 65 20 73 6f 75  72 63 65 20 69 6d 61 67  | the source imag|
0000bd90  65 20 69 73 20 73 74 72  65 74 63 68 65 64 20 75  |e is stretched u|
0000bda0  70 20 74 6f 77 61 72 64  73 20 74 68 65 20 6e 6f  |p towards the no|
0000bdb0  72 74 68 0a 70 6f 6c 65  2e 0a 0a 47 6c 6f 62 65  |rth.pole...Globe|
0000bdc0  20 53 63 61 6c 65 3a 20  74 68 65 20 67 6c 6f 62  | Scale: the glob|
0000bdd0  65 20 73 69 7a 65 20 61  73 20 61 20 66 72 61 63  |e size as a frac|
0000bde0  74 69 6f 6e 20 6f 66 20  74 68 65 20 74 6f 74 61  |tion of the tota|
0000bdf0  6c 20 69 6d 61 67 65 20  73 69 7a 65 20 28 30 20  |l image size (0 |
0000be00  2d 20 31 2e 30 29 2e 0a  54 68 75 73 20 30 2e 35  |- 1.0)..Thus 0.5|
0000be10  20 70 72 6f 64 75 63 65  73 20 61 20 67 6c 6f 62  | produces a glob|
0000be20  65 20 68 61 6c 66 20 74  68 65 20 74 6f 74 61 6c  |e half the total|
0000be30  20 69 6d 61 67 65 20 73  69 7a 65 2e 20 53 6d 61  | image size. Sma|
0000be40  6c 6c 65 72 20 76 61 6c  75 65 73 20 68 65 6c 70  |ller values help|
0000be50  0a 72 65 64 75 63 65 20  74 68 65 20 64 69 73 74  |.reduce the dist|
0000be60  6f 72 74 69 6f 6e 20 69  6e 74 72 6f 64 75 63 65  |ortion introduce|
0000be70  64 20 62 79 20 74 68 65  20 6d 61 70 70 69 6e 67  |d by the mapping|
0000be80  20 70 72 6f 63 65 73 73  2e 0a 0a 46 69 6c 6c 20  | process...Fill |
0000be90  43 6f 6c 6f 75 72 3a 20  54 68 65 20 63 6f 6c 6f  |Colour: The colo|
0000bea0  75 72 20 75 73 65 64 20  74 6f 20 66 69 6c 6c 20  |ur used to fill |
0000beb0  69 6e 20 62 6c 61 63 6b  20 70 69 78 65 6c 73 2e  |in black pixels.|
0000bec0  20 54 68 65 20 63 6f 6c  6f 75 72 20 6e 75 6d 62  | The colour numb|
0000bed0  65 72 20 69 73 0a 69 6e  20 42 42 47 47 52 52 54  |er is.in BBGGRRT|
0000bee0  54 20 66 6f 72 6d 61 74  20 77 68 65 72 65 20 42  |T format where B|
0000bef0  3d 42 6c 75 65 20 28 78  36 34 29 2c 20 47 3d 47  |=Blue (x64), G=G|
0000bf00  72 65 65 6e 20 28 78 31  36 29 2c 20 52 3d 52 65  |reen (x16), R=Re|
0000bf10  64 20 28 78 34 29 20 26  20 54 3d 54 69 6e 74 0a  |d (x4) & T=Tint.|
0000bf20  62 69 74 73 2e 0a 0a 2d  2d 2d 2d 2d 2d 2d 2d 2d  |bits...---------|
0000bf30  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
0000bf60  2d 2d 2d 2d 2d 2d 2d 0a                           |-------.|
0000bf68