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