Home » Archimedes archive » Micro User » MU 1991-09.adf » PD-Stuff » FracTrace/!FracTrace/FTS-Def

FracTrace/!FracTrace/FTS-Def

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 1991-09.adf » PD-Stuff
Filename: FracTrace/!FracTrace/FTS-Def
Read OK:
File size: 3D9E bytes
Load address: 0000
Exec address: 0000
File contents
FracTrace Script (FTS) command descriptions
-------------------------------------------

An FTS file is a plain ASCII text file containing the commands and their
right parameters to describe a fractal surface and its rendering in 
FracTrace.

Lines may contain : - a single command
                    - multiple commands, separated by a semi-colon ';'
                    - comments, preceded by a back-slash '\'
                    - the combination of both commands and comments

Some good examples of FTS files can be found in the 'FTS-Files' directory.

A description of each individual command follows underneath:


Command              Description
-----------------------------------------------------------------------------
Title                Sets the title for the current surface(s). This title is
                     used for all file-handling. A string of maximum eight
                     characters is given as the sole parameter.
                     Example: Title Snowy

Frames               Sets the maximum number of 'frames'. The parameter is an
                     integer. 
                     Example: Frames 24

Scope                Sets the range of frames to be rendered. If you have set
                     the maximum number of frames to, say 24, it is possible
                     to set the range of frames to be rendered to any
                     interval within 1..24. The two parameters are the 
                     minimum and maximum frame number.
                     Example: Scope 3,18

Mandelbrot           Tells the program that the set to be used is the
                     Mandelbrot Set. This command takes no parameters.

Julia                Tells the program that the set to be used is a Julia
                     Set. This command takes no parameters.

Resolution           Sets the resolution of the surface to be calculated and/
                     or rendered. The units for this resolution may be 
                     regarded as pixels. The two parameters are the x and y 
                     resolution of the surface.
                     Example: Resolution 300,300

Range                Sets the range in the complex plane for the part of the
                     set that is to be calculated and/or rendered. The four
                     parameters are minimum x, maximum x (real axis), minimum
                     y, maximum y (imaginary axis). These values can best be
                     obtained from a normal Mandelbrot plotting program!
                     Example: Range -1.5,1.5,-1.5,1.5

Cval                 Sets the real and imaginary part of the point to 
                     calculate and/or render the Julia Set of. The two 
                     parameters are the real and imaginary part of the point.
                     Example: Cval 0.32,0.043

Smoothness           Sets the smoothness of the surface. The higher the
                     smoothness-value, the smoother the surface, and the more
                     calculations will be performed to obtain the potential 
                     of a point on the surface! The sole parameter is an
                     integer, which really should be at least about 100!
                     Example: Smoothness 120

Depth                Sets the depth of the iterations in the calculation of 
                     the potential of a point. The higher the value, the more
                     precise the set will be calculated, and again, the 
                     longer it takes to calculate a point-potential. The 
                     parameter is an integer in the range 1..127!!!
                     Example: Depth 100

Mountains            Tells the program to render the surface as a mountain.
                     This command takes no parameters.

Valleys              Tells the program to render the surface as a valley.
                     This command takes no parameters.

Light                Sets the direction of the light-vector. This vector
                     need not be normalised. Note that this vector is the
                     direction of the light-rays, ie. it points away from the
                     light source! The three parameters are the x, y, and z
                     components of the vector. (z always should be negative!)
                     Example: Light 0.5,1,-2        

Brightness           Sets the brightness of the light-source. The higher the
                     value, the brighter the light. The sole parameter is an
                     integer.
                     Example: Brightness 78

Steepness            Sets the steepness of the mountain/valley slopes. The
                     higher the value, the steeper the slopes. Note that the
                     magnitude of this value is disproportional with size of
                     the region indicated with the range command. The sole
                     parameter is an integer.
                     Example: Steepness 240

Dithering            Sets the color-dithering factor. Because the program
                     only uses 16 colors to render an image (due to the 4bit
                     nature of mode 12), abrupt color changes on the surface
                     may give a non-realistic feel to the image. Therefore,
                     a simple technique, called random dithering, is used to
                     produce intermediate 'pseudo-colors', which make the
                     color changes seem quite continuous. A value of 1 means
                     no color dithering. The sole parameter is an integer.
                     Example: Dithering 16

Shadows              Tells the program whether to calculate shadows or not.
                     The calculation of shadows slows down the rendering
                     quite drastically. The parameter is a string of the form
                     'On' or 'Off'.
                     Example: Shadows On

Interpolation        Tells the program whether to interpolate values in the
                     horizontal direction. Interpolating doubles the time 
                     needed for rendering an image, but it produces more
                     detail. An image created with interpolation off has
                     'mode 9' resolution, whereas images created with
                     interpolation on have a true 'mode 12' resolution.
                     The parameter is a string of the form 'On' or 'Off'.
                     Example: Interpolation Off

Offset               Sets the two 'screen offsets' for the image. A 
                     horizontal offset of 0 would place the image to the left
                     edge of the screen. A vertical offset of 0 would place
                     the image half way below the bottom edge of the screen.
                     Normally, the x (horizontal) offset should remain at 40,
                     and the y (vertical) offset should vary between 240 and
                     480, depending on the angle at which to view the 
                     image. The two parameters are the x and y offsets.
                     Example: Offset 40,380

Angle                Sets the viewing angles. The first value is the x angle,
                     a value of 0 makes you look at the image 'head-on'.
                     The second value is the y angle, which should be in the
                     range 15..90 to get a meaningful view on the image, 30
                     being a quite reasonable average. In the current 
                     versions of FracTrace, the x angle is best kept at 0!
                     The two parameters are the x and y viewing angles.
                     Example: Angle 0,25

Increment            Sets the x and y 'OS-Unit' increment steps when 
                     rendering the surface. These values are both best kept
                     at 4!
                     Example: Increment 4,4

Slope Front          Sets the front-slope range and steepness. For some 
                     images it will be necessary to use this feature to avoid
                     the artificial cut-off of the front-most edge of the
                     surface. When you do have an image that seems to be
                     'cut off' at the front edge, you should force the front
                     lines down with a certain steepness-factor!
                     The first value is the number of front lines you want to
                     pull down (one line corresponds with one resolution-
                     unit), the second value is the factor by which you want
                     to enlarge the steepness. These values should be 
                     obtained by trial and error. The two parameters are the
                     slope-range (in lines) and the steepness factor.
                     Example: Slope Front 30,5

Color                Sets the overall color of the surface. This color is
                     specified by an RGB-vector. The components of the RGB-
                     vector must be in the range 0..15! In current versions
                     of FracTrace the vector should be 15,15,15, as there are
                     still some problems with the ColourTrans module. Other
                     values may be used, but the only way to display these
                     created images correctly would be by '*ScreenLoad'ing
                     them (ie. not with !Paint or !FracTrace itself). The 
                     three parameters are the components of the RGB-vector.
                     Example: Color 15,15,15

Var                  Sets (declares) the names for user-variables. See the
                     paragraph 'Using frames' for further details on
                     user-variables. This command takes up to 100 parameters,
                     these being the names of the user-variables.
                     Example: Var min,max,radius

Show                 Shows the contents of the specified variable in the
                     'report' window. This command may be useful for 
                     debugging script programs. The single parameter is the
                     variable-name.
                     Example: Show radius
                                                           
Stop                 Immediately stops execution (ie. parsing) of an FTS
                     file. When you use subroutines, a 'stop' should be
                     put at the end of the main program, before the start
                     of the first subroutine!

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

The best way to get to know these commands and their effects is by 
experimenting with the supplied FTS files. Try changing one parameter at a
time and noticing the change in the according image(s).


Using frames
------------

FracTrace provides a simple way to generate multiple images, called frames,
from one FTS file. This is done by allowing the user to replace any 
parameter by a variable or a constant expression. (The use of variables is
recommended over the use of constant expressions!)        
FracTrace allows the user to declare up to 100 user-variables. Declaration
of a user-variable is as simple as including it in the so called 'var-list'
at the beginning of a 'program'. This 'var-list' is just a list of names
you choose for your variables, preceded by the 'var' command, 
eg. : 'var count, loop, step, min, max', with the words after 'var'
referring to user-variable names.
These user-variables may be assigned any expression that is legal in
BASIC V!
There are also two other 'read-only' variables which the user may use in his
expressions: 'frames' and 'frame'. The variable frames is the number of
maximum frames set with the 'Frames' command. The other variable, frame, is
the current frame number which the program is processing, which of course,
is in the range 1..frames!
Most user-variables will be defined by an expression containing the frame
variable.
There are two ways of assigning an expression to a user-variable:

      1) by using the form 'variable=expression(frame)' 
         eg. : 'radius=60*SINRAD(frame)+100'
         no spaces are allowed in the expression to the right of '=' !!!

      2) by using the form 'variable=expression,expression,expression,...'
         eg. : 'height=12,23,34,45,56,67,78'    when frames would be 7

With the second form variable 'height' will be 12 for frame=1, 23 for
frame=2, 34 for frame=3,..., and 78 for frame=7. Of course, expressions
containing the variable frame (but no spaces!!!) may also be used in the
second from!

People who know Render Bender will be familiar with this method.
           

Conditional command execution
-----------------------------

FracTrace also allows conditional execution of commands with the 'if .. else
.. endif' construct!
The use of this construct is as follows:

      if expression
       commands
          .
          .
      else
       commands
          .
          .
      endif

Where 'expression' is again any legal BASIC V expression evaluating to TRUE
or FALSE, eg. 'frame+4 < frames' or 'xstep >= stepsize+0.2'.
Each opening 'if' must have a closing 'endif', an 'else' is optional.
The 'if .. else .. endif' constructs may be nested up to 32 levels deep!


Repeated command execution
--------------------------

a) The first loop-construct allowed in FracTrace is 'repeat .. until'.
   It is used as follows:

      repeat
       commands
          .
          .
      until expression

   With 'expression' evaluating to TRUE or FALSE as in BASIC V,
   eg. 'count > frames'.
   Each opening 'repeat' must have a closing 'until'.
   The 'repeat .. until' constructs may be nested up to 32 levels deep!

               
b) The second loop-construct allowed in FracTrace is 'for .. endfor'.
   It is used as follows:

      for variable=start to end by step
       commands
          .
          .
      endfor

   With 'start', 'end' and 'step' legal BASIC V expressions evaluating to a
   real number, eg. 'for cnt=-3 to max by 2' or 'for size=2 to 1 by -0.1',
   and 'variable' the name of a user-variable.
   Each opening 'for' must have a closing 'endfor'.
   The 'for .. endfor' constructs may be nested up to 32 levels deep!


Execution of subroutines
------------------------

A last feature of FracTrace is the ability to execute subroutines.
Each (part of a) subroutine is marked with a label, this label is a word
preceded by a dot '.', eg. '.routine1'.
Such subroutines are called in the following way:

      commands             \
         .                  \
         .                   \
      call labelname          > main program
         .                   /
         .                  /
      stop                 /

      .labelname            \
       commands              \
          .                   > subroutine 'labelname'
          .                  /
       return               /
                                
As you can see, execution of a subroutine is started with a 'call' command,
and ends with a 'return' command. Therefore, each 'call' MUST have a
'return'!!!
The subroutine-calls ie. 'call .. return' may be nested up to 32 levels
deep. (That includes recursion!)


Writing programs
----------------

You will certainly have noticed from the last three paragraphs that it is
possible to build small programs using the control constructs and variables
provided by FracTrace. These programs don't have to define a fractal surface
(they may do!), they can also be used to solve whatever - small - problem!
The FTS files 'Factorial', 'Fibonacci', 'Sum50' and 'MandelPot' are some
examples of such small programs.

                                                              Carl Declerck.
00000000  46 72 61 63 54 72 61 63  65 20 53 63 72 69 70 74  |FracTrace Script|
00000010  20 28 46 54 53 29 20 63  6f 6d 6d 61 6e 64 20 64  | (FTS) command d|
00000020  65 73 63 72 69 70 74 69  6f 6e 73 0a 2d 2d 2d 2d  |escriptions.----|
00000030  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000050  2d 2d 2d 2d 2d 2d 2d 0a  0a 41 6e 20 46 54 53 20  |-------..An FTS |
00000060  66 69 6c 65 20 69 73 20  61 20 70 6c 61 69 6e 20  |file is a plain |
00000070  41 53 43 49 49 20 74 65  78 74 20 66 69 6c 65 20  |ASCII text file |
00000080  63 6f 6e 74 61 69 6e 69  6e 67 20 74 68 65 20 63  |containing the c|
00000090  6f 6d 6d 61 6e 64 73 20  61 6e 64 20 74 68 65 69  |ommands and thei|
000000a0  72 0a 72 69 67 68 74 20  70 61 72 61 6d 65 74 65  |r.right paramete|
000000b0  72 73 20 74 6f 20 64 65  73 63 72 69 62 65 20 61  |rs to describe a|
000000c0  20 66 72 61 63 74 61 6c  20 73 75 72 66 61 63 65  | fractal surface|
000000d0  20 61 6e 64 20 69 74 73  20 72 65 6e 64 65 72 69  | and its renderi|
000000e0  6e 67 20 69 6e 20 0a 46  72 61 63 54 72 61 63 65  |ng in .FracTrace|
000000f0  2e 0a 0a 4c 69 6e 65 73  20 6d 61 79 20 63 6f 6e  |...Lines may con|
00000100  74 61 69 6e 20 3a 20 2d  20 61 20 73 69 6e 67 6c  |tain : - a singl|
00000110  65 20 63 6f 6d 6d 61 6e  64 0a 20 20 20 20 20 20  |e command.      |
00000120  20 20 20 20 20 20 20 20  20 20 20 20 20 20 2d 20  |              - |
00000130  6d 75 6c 74 69 70 6c 65  20 63 6f 6d 6d 61 6e 64  |multiple command|
00000140  73 2c 20 73 65 70 61 72  61 74 65 64 20 62 79 20  |s, separated by |
00000150  61 20 73 65 6d 69 2d 63  6f 6c 6f 6e 20 27 3b 27  |a semi-colon ';'|
00000160  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00000170  20 20 20 20 20 2d 20 63  6f 6d 6d 65 6e 74 73 2c  |     - comments,|
00000180  20 70 72 65 63 65 64 65  64 20 62 79 20 61 20 62  | preceded by a b|
00000190  61 63 6b 2d 73 6c 61 73  68 20 27 5c 27 0a 20 20  |ack-slash '\'.  |
000001a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000001b0  20 20 2d 20 74 68 65 20  63 6f 6d 62 69 6e 61 74  |  - the combinat|
000001c0  69 6f 6e 20 6f 66 20 62  6f 74 68 20 63 6f 6d 6d  |ion of both comm|
000001d0  61 6e 64 73 20 61 6e 64  20 63 6f 6d 6d 65 6e 74  |ands and comment|
000001e0  73 0a 0a 53 6f 6d 65 20  67 6f 6f 64 20 65 78 61  |s..Some good exa|
000001f0  6d 70 6c 65 73 20 6f 66  20 46 54 53 20 66 69 6c  |mples of FTS fil|
00000200  65 73 20 63 61 6e 20 62  65 20 66 6f 75 6e 64 20  |es can be found |
00000210  69 6e 20 74 68 65 20 27  46 54 53 2d 46 69 6c 65  |in the 'FTS-File|
00000220  73 27 20 64 69 72 65 63  74 6f 72 79 2e 0a 0a 41  |s' directory...A|
00000230  20 64 65 73 63 72 69 70  74 69 6f 6e 20 6f 66 20  | description of |
00000240  65 61 63 68 20 69 6e 64  69 76 69 64 75 61 6c 20  |each individual |
00000250  63 6f 6d 6d 61 6e 64 20  66 6f 6c 6c 6f 77 73 20  |command follows |
00000260  75 6e 64 65 72 6e 65 61  74 68 3a 0a 0a 0a 43 6f  |underneath:...Co|
00000270  6d 6d 61 6e 64 20 20 20  20 20 20 20 20 20 20 20  |mmand           |
00000280  20 20 20 44 65 73 63 72  69 70 74 69 6f 6e 0a 2d  |   Description.-|
00000290  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000002d0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 0a 54 69 74  |------------.Tit|
000002e0  6c 65 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |le              |
000002f0  20 20 53 65 74 73 20 74  68 65 20 74 69 74 6c 65  |  Sets the title|
00000300  20 66 6f 72 20 74 68 65  20 63 75 72 72 65 6e 74  | for the current|
00000310  20 73 75 72 66 61 63 65  28 73 29 2e 20 54 68 69  | surface(s). Thi|
00000320  73 20 74 69 74 6c 65 20  69 73 0a 20 20 20 20 20  |s title is.     |
00000330  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000340  75 73 65 64 20 66 6f 72  20 61 6c 6c 20 66 69 6c  |used for all fil|
00000350  65 2d 68 61 6e 64 6c 69  6e 67 2e 20 41 20 73 74  |e-handling. A st|
00000360  72 69 6e 67 20 6f 66 20  6d 61 78 69 6d 75 6d 20  |ring of maximum |
00000370  65 69 67 68 74 0a 20 20  20 20 20 20 20 20 20 20  |eight.          |
00000380  20 20 20 20 20 20 20 20  20 20 20 63 68 61 72 61  |           chara|
00000390  63 74 65 72 73 20 69 73  20 67 69 76 65 6e 20 61  |cters is given a|
000003a0  73 20 74 68 65 20 73 6f  6c 65 20 70 61 72 61 6d  |s the sole param|
000003b0  65 74 65 72 2e 0a 20 20  20 20 20 20 20 20 20 20  |eter..          |
000003c0  20 20 20 20 20 20 20 20  20 20 20 45 78 61 6d 70  |           Examp|
000003d0  6c 65 3a 20 54 69 74 6c  65 20 53 6e 6f 77 79 0a  |le: Title Snowy.|
000003e0  0a 46 72 61 6d 65 73 20  20 20 20 20 20 20 20 20  |.Frames         |
000003f0  20 20 20 20 20 20 53 65  74 73 20 74 68 65 20 6d  |      Sets the m|
00000400  61 78 69 6d 75 6d 20 6e  75 6d 62 65 72 20 6f 66  |aximum number of|
00000410  20 27 66 72 61 6d 65 73  27 2e 20 54 68 65 20 70  | 'frames'. The p|
00000420  61 72 61 6d 65 74 65 72  20 69 73 20 61 6e 0a 20  |arameter is an. |
00000430  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000440  20 20 20 20 69 6e 74 65  67 65 72 2e 20 0a 20 20  |    integer. .  |
00000450  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000460  20 20 20 45 78 61 6d 70  6c 65 3a 20 46 72 61 6d  |   Example: Fram|
00000470  65 73 20 32 34 0a 0a 53  63 6f 70 65 20 20 20 20  |es 24..Scope    |
00000480  20 20 20 20 20 20 20 20  20 20 20 20 53 65 74 73  |            Sets|
00000490  20 74 68 65 20 72 61 6e  67 65 20 6f 66 20 66 72  | the range of fr|
000004a0  61 6d 65 73 20 74 6f 20  62 65 20 72 65 6e 64 65  |ames to be rende|
000004b0  72 65 64 2e 20 49 66 20  79 6f 75 20 68 61 76 65  |red. If you have|
000004c0  20 73 65 74 0a 20 20 20  20 20 20 20 20 20 20 20  | set.           |
000004d0  20 20 20 20 20 20 20 20  20 20 74 68 65 20 6d 61  |          the ma|
000004e0  78 69 6d 75 6d 20 6e 75  6d 62 65 72 20 6f 66 20  |ximum number of |
000004f0  66 72 61 6d 65 73 20 74  6f 2c 20 73 61 79 20 32  |frames to, say 2|
00000500  34 2c 20 69 74 20 69 73  20 70 6f 73 73 69 62 6c  |4, it is possibl|
00000510  65 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |e.              |
00000520  20 20 20 20 20 20 20 74  6f 20 73 65 74 20 74 68  |       to set th|
00000530  65 20 72 61 6e 67 65 20  6f 66 20 66 72 61 6d 65  |e range of frame|
00000540  73 20 74 6f 20 62 65 20  72 65 6e 64 65 72 65 64  |s to be rendered|
00000550  20 74 6f 20 61 6e 79 0a  20 20 20 20 20 20 20 20  | to any.        |
00000560  20 20 20 20 20 20 20 20  20 20 20 20 20 69 6e 74  |             int|
00000570  65 72 76 61 6c 20 77 69  74 68 69 6e 20 31 2e 2e  |erval within 1..|
00000580  32 34 2e 20 54 68 65 20  74 77 6f 20 70 61 72 61  |24. The two para|
00000590  6d 65 74 65 72 73 20 61  72 65 20 74 68 65 20 0a  |meters are the .|
000005a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000005b0  20 20 20 20 20 6d 69 6e  69 6d 75 6d 20 61 6e 64  |     minimum and|
000005c0  20 6d 61 78 69 6d 75 6d  20 66 72 61 6d 65 20 6e  | maximum frame n|
000005d0  75 6d 62 65 72 2e 0a 20  20 20 20 20 20 20 20 20  |umber..         |
000005e0  20 20 20 20 20 20 20 20  20 20 20 20 45 78 61 6d  |            Exam|
000005f0  70 6c 65 3a 20 53 63 6f  70 65 20 33 2c 31 38 0a  |ple: Scope 3,18.|
00000600  0a 4d 61 6e 64 65 6c 62  72 6f 74 20 20 20 20 20  |.Mandelbrot     |
00000610  20 20 20 20 20 20 54 65  6c 6c 73 20 74 68 65 20  |      Tells the |
00000620  70 72 6f 67 72 61 6d 20  74 68 61 74 20 74 68 65  |program that the|
00000630  20 73 65 74 20 74 6f 20  62 65 20 75 73 65 64 20  | set to be used |
00000640  69 73 20 74 68 65 0a 20  20 20 20 20 20 20 20 20  |is the.         |
00000650  20 20 20 20 20 20 20 20  20 20 20 20 4d 61 6e 64  |            Mand|
00000660  65 6c 62 72 6f 74 20 53  65 74 2e 20 54 68 69 73  |elbrot Set. This|
00000670  20 63 6f 6d 6d 61 6e 64  20 74 61 6b 65 73 20 6e  | command takes n|
00000680  6f 20 70 61 72 61 6d 65  74 65 72 73 2e 0a 0a 4a  |o parameters...J|
00000690  75 6c 69 61 20 20 20 20  20 20 20 20 20 20 20 20  |ulia            |
000006a0  20 20 20 20 54 65 6c 6c  73 20 74 68 65 20 70 72  |    Tells the pr|
000006b0  6f 67 72 61 6d 20 74 68  61 74 20 74 68 65 20 73  |ogram that the s|
000006c0  65 74 20 74 6f 20 62 65  20 75 73 65 64 20 69 73  |et to be used is|
000006d0  20 61 20 4a 75 6c 69 61  0a 20 20 20 20 20 20 20  | a Julia.       |
000006e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 53 65  |              Se|
000006f0  74 2e 20 54 68 69 73 20  63 6f 6d 6d 61 6e 64 20  |t. This command |
00000700  74 61 6b 65 73 20 6e 6f  20 70 61 72 61 6d 65 74  |takes no paramet|
00000710  65 72 73 2e 0a 0a 52 65  73 6f 6c 75 74 69 6f 6e  |ers...Resolution|
00000720  20 20 20 20 20 20 20 20  20 20 20 53 65 74 73 20  |           Sets |
00000730  74 68 65 20 72 65 73 6f  6c 75 74 69 6f 6e 20 6f  |the resolution o|
00000740  66 20 74 68 65 20 73 75  72 66 61 63 65 20 74 6f  |f the surface to|
00000750  20 62 65 20 63 61 6c 63  75 6c 61 74 65 64 20 61  | be calculated a|
00000760  6e 64 2f 0a 20 20 20 20  20 20 20 20 20 20 20 20  |nd/.            |
00000770  20 20 20 20 20 20 20 20  20 6f 72 20 72 65 6e 64  |         or rend|
00000780  65 72 65 64 2e 20 54 68  65 20 75 6e 69 74 73 20  |ered. The units |
00000790  66 6f 72 20 74 68 69 73  20 72 65 73 6f 6c 75 74  |for this resolut|
000007a0  69 6f 6e 20 6d 61 79 20  62 65 20 0a 20 20 20 20  |ion may be .    |
000007b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000007c0  20 72 65 67 61 72 64 65  64 20 61 73 20 70 69 78  | regarded as pix|
000007d0  65 6c 73 2e 20 54 68 65  20 74 77 6f 20 70 61 72  |els. The two par|
000007e0  61 6d 65 74 65 72 73 20  61 72 65 20 74 68 65 20  |ameters are the |
000007f0  78 20 61 6e 64 20 79 20  0a 20 20 20 20 20 20 20  |x and y .       |
00000800  20 20 20 20 20 20 20 20  20 20 20 20 20 20 72 65  |              re|
00000810  73 6f 6c 75 74 69 6f 6e  20 6f 66 20 74 68 65 20  |solution of the |
00000820  73 75 72 66 61 63 65 2e  0a 20 20 20 20 20 20 20  |surface..       |
00000830  20 20 20 20 20 20 20 20  20 20 20 20 20 20 45 78  |              Ex|
00000840  61 6d 70 6c 65 3a 20 52  65 73 6f 6c 75 74 69 6f  |ample: Resolutio|
00000850  6e 20 33 30 30 2c 33 30  30 0a 0a 52 61 6e 67 65  |n 300,300..Range|
00000860  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000870  53 65 74 73 20 74 68 65  20 72 61 6e 67 65 20 69  |Sets the range i|
00000880  6e 20 74 68 65 20 63 6f  6d 70 6c 65 78 20 70 6c  |n the complex pl|
00000890  61 6e 65 20 66 6f 72 20  74 68 65 20 70 61 72 74  |ane for the part|
000008a0  20 6f 66 20 74 68 65 0a  20 20 20 20 20 20 20 20  | of the.        |
000008b0  20 20 20 20 20 20 20 20  20 20 20 20 20 73 65 74  |             set|
000008c0  20 74 68 61 74 20 69 73  20 74 6f 20 62 65 20 63  | that is to be c|
000008d0  61 6c 63 75 6c 61 74 65  64 20 61 6e 64 2f 6f 72  |alculated and/or|
000008e0  20 72 65 6e 64 65 72 65  64 2e 20 54 68 65 20 66  | rendered. The f|
000008f0  6f 75 72 0a 20 20 20 20  20 20 20 20 20 20 20 20  |our.            |
00000900  20 20 20 20 20 20 20 20  20 70 61 72 61 6d 65 74  |         paramet|
00000910  65 72 73 20 61 72 65 20  6d 69 6e 69 6d 75 6d 20  |ers are minimum |
00000920  78 2c 20 6d 61 78 69 6d  75 6d 20 78 20 28 72 65  |x, maximum x (re|
00000930  61 6c 20 61 78 69 73 29  2c 20 6d 69 6e 69 6d 75  |al axis), minimu|
00000940  6d 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |m.              |
00000950  20 20 20 20 20 20 20 79  2c 20 6d 61 78 69 6d 75  |       y, maximu|
00000960  6d 20 79 20 28 69 6d 61  67 69 6e 61 72 79 20 61  |m y (imaginary a|
00000970  78 69 73 29 2e 20 54 68  65 73 65 20 76 61 6c 75  |xis). These valu|
00000980  65 73 20 63 61 6e 20 62  65 73 74 20 62 65 0a 20  |es can best be. |
00000990  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000009a0  20 20 20 20 6f 62 74 61  69 6e 65 64 20 66 72 6f  |    obtained fro|
000009b0  6d 20 61 20 6e 6f 72 6d  61 6c 20 4d 61 6e 64 65  |m a normal Mande|
000009c0  6c 62 72 6f 74 20 70 6c  6f 74 74 69 6e 67 20 70  |lbrot plotting p|
000009d0  72 6f 67 72 61 6d 21 0a  20 20 20 20 20 20 20 20  |rogram!.        |
000009e0  20 20 20 20 20 20 20 20  20 20 20 20 20 45 78 61  |             Exa|
000009f0  6d 70 6c 65 3a 20 52 61  6e 67 65 20 2d 31 2e 35  |mple: Range -1.5|
00000a00  2c 31 2e 35 2c 2d 31 2e  35 2c 31 2e 35 0a 0a 43  |,1.5,-1.5,1.5..C|
00000a10  76 61 6c 20 20 20 20 20  20 20 20 20 20 20 20 20  |val             |
00000a20  20 20 20 20 53 65 74 73  20 74 68 65 20 72 65 61  |    Sets the rea|
00000a30  6c 20 61 6e 64 20 69 6d  61 67 69 6e 61 72 79 20  |l and imaginary |
00000a40  70 61 72 74 20 6f 66 20  74 68 65 20 70 6f 69 6e  |part of the poin|
00000a50  74 20 74 6f 20 0a 20 20  20 20 20 20 20 20 20 20  |t to .          |
00000a60  20 20 20 20 20 20 20 20  20 20 20 63 61 6c 63 75  |           calcu|
00000a70  6c 61 74 65 20 61 6e 64  2f 6f 72 20 72 65 6e 64  |late and/or rend|
00000a80  65 72 20 74 68 65 20 4a  75 6c 69 61 20 53 65 74  |er the Julia Set|
00000a90  20 6f 66 2e 20 54 68 65  20 74 77 6f 20 0a 20 20  | of. The two .  |
00000aa0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000ab0  20 20 20 70 61 72 61 6d  65 74 65 72 73 20 61 72  |   parameters ar|
00000ac0  65 20 74 68 65 20 72 65  61 6c 20 61 6e 64 20 69  |e the real and i|
00000ad0  6d 61 67 69 6e 61 72 79  20 70 61 72 74 20 6f 66  |maginary part of|
00000ae0  20 74 68 65 20 70 6f 69  6e 74 2e 0a 20 20 20 20  | the point..    |
00000af0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000b00  20 45 78 61 6d 70 6c 65  3a 20 43 76 61 6c 20 30  | Example: Cval 0|
00000b10  2e 33 32 2c 30 2e 30 34  33 0a 0a 53 6d 6f 6f 74  |.32,0.043..Smoot|
00000b20  68 6e 65 73 73 20 20 20  20 20 20 20 20 20 20 20  |hness           |
00000b30  53 65 74 73 20 74 68 65  20 73 6d 6f 6f 74 68 6e  |Sets the smoothn|
00000b40  65 73 73 20 6f 66 20 74  68 65 20 73 75 72 66 61  |ess of the surfa|
00000b50  63 65 2e 20 54 68 65 20  68 69 67 68 65 72 20 74  |ce. The higher t|
00000b60  68 65 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |he.             |
00000b70  20 20 20 20 20 20 20 20  73 6d 6f 6f 74 68 6e 65  |        smoothne|
00000b80  73 73 2d 76 61 6c 75 65  2c 20 74 68 65 20 73 6d  |ss-value, the sm|
00000b90  6f 6f 74 68 65 72 20 74  68 65 20 73 75 72 66 61  |oother the surfa|
00000ba0  63 65 2c 20 61 6e 64 20  74 68 65 20 6d 6f 72 65  |ce, and the more|
00000bb0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00000bc0  20 20 20 20 20 20 63 61  6c 63 75 6c 61 74 69 6f  |      calculatio|
00000bd0  6e 73 20 77 69 6c 6c 20  62 65 20 70 65 72 66 6f  |ns will be perfo|
00000be0  72 6d 65 64 20 74 6f 20  6f 62 74 61 69 6e 20 74  |rmed to obtain t|
00000bf0  68 65 20 70 6f 74 65 6e  74 69 61 6c 20 0a 20 20  |he potential .  |
00000c00  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000c10  20 20 20 6f 66 20 61 20  70 6f 69 6e 74 20 6f 6e  |   of a point on|
00000c20  20 74 68 65 20 73 75 72  66 61 63 65 21 20 54 68  | the surface! Th|
00000c30  65 20 73 6f 6c 65 20 70  61 72 61 6d 65 74 65 72  |e sole parameter|
00000c40  20 69 73 20 61 6e 0a 20  20 20 20 20 20 20 20 20  | is an.         |
00000c50  20 20 20 20 20 20 20 20  20 20 20 20 69 6e 74 65  |            inte|
00000c60  67 65 72 2c 20 77 68 69  63 68 20 72 65 61 6c 6c  |ger, which reall|
00000c70  79 20 73 68 6f 75 6c 64  20 62 65 20 61 74 20 6c  |y should be at l|
00000c80  65 61 73 74 20 61 62 6f  75 74 20 31 30 30 21 0a  |east about 100!.|
00000c90  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000ca0  20 20 20 20 20 45 78 61  6d 70 6c 65 3a 20 53 6d  |     Example: Sm|
00000cb0  6f 6f 74 68 6e 65 73 73  20 31 32 30 0a 0a 44 65  |oothness 120..De|
00000cc0  70 74 68 20 20 20 20 20  20 20 20 20 20 20 20 20  |pth             |
00000cd0  20 20 20 53 65 74 73 20  74 68 65 20 64 65 70 74  |   Sets the dept|
00000ce0  68 20 6f 66 20 74 68 65  20 69 74 65 72 61 74 69  |h of the iterati|
00000cf0  6f 6e 73 20 69 6e 20 74  68 65 20 63 61 6c 63 75  |ons in the calcu|
00000d00  6c 61 74 69 6f 6e 20 6f  66 20 0a 20 20 20 20 20  |lation of .     |
00000d10  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000d20  74 68 65 20 70 6f 74 65  6e 74 69 61 6c 20 6f 66  |the potential of|
00000d30  20 61 20 70 6f 69 6e 74  2e 20 54 68 65 20 68 69  | a point. The hi|
00000d40  67 68 65 72 20 74 68 65  20 76 61 6c 75 65 2c 20  |gher the value, |
00000d50  74 68 65 20 6d 6f 72 65  0a 20 20 20 20 20 20 20  |the more.       |
00000d60  20 20 20 20 20 20 20 20  20 20 20 20 20 20 70 72  |              pr|
00000d70  65 63 69 73 65 20 74 68  65 20 73 65 74 20 77 69  |ecise the set wi|
00000d80  6c 6c 20 62 65 20 63 61  6c 63 75 6c 61 74 65 64  |ll be calculated|
00000d90  2c 20 61 6e 64 20 61 67  61 69 6e 2c 20 74 68 65  |, and again, the|
00000da0  20 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  | .              |
00000db0  20 20 20 20 20 20 20 6c  6f 6e 67 65 72 20 69 74  |       longer it|
00000dc0  20 74 61 6b 65 73 20 74  6f 20 63 61 6c 63 75 6c  | takes to calcul|
00000dd0  61 74 65 20 61 20 70 6f  69 6e 74 2d 70 6f 74 65  |ate a point-pote|
00000de0  6e 74 69 61 6c 2e 20 54  68 65 20 0a 20 20 20 20  |ntial. The .    |
00000df0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000e00  20 70 61 72 61 6d 65 74  65 72 20 69 73 20 61 6e  | parameter is an|
00000e10  20 69 6e 74 65 67 65 72  20 69 6e 20 74 68 65 20  | integer in the |
00000e20  72 61 6e 67 65 20 31 2e  2e 31 32 37 21 21 21 0a  |range 1..127!!!.|
00000e30  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000e40  20 20 20 20 20 45 78 61  6d 70 6c 65 3a 20 44 65  |     Example: De|
00000e50  70 74 68 20 31 30 30 0a  0a 4d 6f 75 6e 74 61 69  |pth 100..Mountai|
00000e60  6e 73 20 20 20 20 20 20  20 20 20 20 20 20 54 65  |ns            Te|
00000e70  6c 6c 73 20 74 68 65 20  70 72 6f 67 72 61 6d 20  |lls the program |
00000e80  74 6f 20 72 65 6e 64 65  72 20 74 68 65 20 73 75  |to render the su|
00000e90  72 66 61 63 65 20 61 73  20 61 20 6d 6f 75 6e 74  |rface as a mount|
00000ea0  61 69 6e 2e 0a 20 20 20  20 20 20 20 20 20 20 20  |ain..           |
00000eb0  20 20 20 20 20 20 20 20  20 20 54 68 69 73 20 63  |          This c|
00000ec0  6f 6d 6d 61 6e 64 20 74  61 6b 65 73 20 6e 6f 20  |ommand takes no |
00000ed0  70 61 72 61 6d 65 74 65  72 73 2e 0a 0a 56 61 6c  |parameters...Val|
00000ee0  6c 65 79 73 20 20 20 20  20 20 20 20 20 20 20 20  |leys            |
00000ef0  20 20 54 65 6c 6c 73 20  74 68 65 20 70 72 6f 67  |  Tells the prog|
00000f00  72 61 6d 20 74 6f 20 72  65 6e 64 65 72 20 74 68  |ram to render th|
00000f10  65 20 73 75 72 66 61 63  65 20 61 73 20 61 20 76  |e surface as a v|
00000f20  61 6c 6c 65 79 2e 0a 20  20 20 20 20 20 20 20 20  |alley..         |
00000f30  20 20 20 20 20 20 20 20  20 20 20 20 54 68 69 73  |            This|
00000f40  20 63 6f 6d 6d 61 6e 64  20 74 61 6b 65 73 20 6e  | command takes n|
00000f50  6f 20 70 61 72 61 6d 65  74 65 72 73 2e 0a 0a 4c  |o parameters...L|
00000f60  69 67 68 74 20 20 20 20  20 20 20 20 20 20 20 20  |ight            |
00000f70  20 20 20 20 53 65 74 73  20 74 68 65 20 64 69 72  |    Sets the dir|
00000f80  65 63 74 69 6f 6e 20 6f  66 20 74 68 65 20 6c 69  |ection of the li|
00000f90  67 68 74 2d 76 65 63 74  6f 72 2e 20 54 68 69 73  |ght-vector. This|
00000fa0  20 76 65 63 74 6f 72 0a  20 20 20 20 20 20 20 20  | vector.        |
00000fb0  20 20 20 20 20 20 20 20  20 20 20 20 20 6e 65 65  |             nee|
00000fc0  64 20 6e 6f 74 20 62 65  20 6e 6f 72 6d 61 6c 69  |d not be normali|
00000fd0  73 65 64 2e 20 4e 6f 74  65 20 74 68 61 74 20 74  |sed. Note that t|
00000fe0  68 69 73 20 76 65 63 74  6f 72 20 69 73 20 74 68  |his vector is th|
00000ff0  65 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |e.              |
00001000  20 20 20 20 20 20 20 64  69 72 65 63 74 69 6f 6e  |       direction|
00001010  20 6f 66 20 74 68 65 20  6c 69 67 68 74 2d 72 61  | of the light-ra|
00001020  79 73 2c 20 69 65 2e 20  69 74 20 70 6f 69 6e 74  |ys, ie. it point|
00001030  73 20 61 77 61 79 20 66  72 6f 6d 20 74 68 65 0a  |s away from the.|
00001040  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001050  20 20 20 20 20 6c 69 67  68 74 20 73 6f 75 72 63  |     light sourc|
00001060  65 21 20 54 68 65 20 74  68 72 65 65 20 70 61 72  |e! The three par|
00001070  61 6d 65 74 65 72 73 20  61 72 65 20 74 68 65 20  |ameters are the |
00001080  78 2c 20 79 2c 20 61 6e  64 20 7a 0a 20 20 20 20  |x, y, and z.    |
00001090  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000010a0  20 63 6f 6d 70 6f 6e 65  6e 74 73 20 6f 66 20 74  | components of t|
000010b0  68 65 20 76 65 63 74 6f  72 2e 20 28 7a 20 61 6c  |he vector. (z al|
000010c0  77 61 79 73 20 73 68 6f  75 6c 64 20 62 65 20 6e  |ways should be n|
000010d0  65 67 61 74 69 76 65 21  29 0a 20 20 20 20 20 20  |egative!).      |
000010e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 45  |               E|
000010f0  78 61 6d 70 6c 65 3a 20  4c 69 67 68 74 20 30 2e  |xample: Light 0.|
00001100  35 2c 31 2c 2d 32 20 20  20 20 20 20 20 20 0a 0a  |5,1,-2        ..|
00001110  42 72 69 67 68 74 6e 65  73 73 20 20 20 20 20 20  |Brightness      |
00001120  20 20 20 20 20 53 65 74  73 20 74 68 65 20 62 72  |     Sets the br|
00001130  69 67 68 74 6e 65 73 73  20 6f 66 20 74 68 65 20  |ightness of the |
00001140  6c 69 67 68 74 2d 73 6f  75 72 63 65 2e 20 54 68  |light-source. Th|
00001150  65 20 68 69 67 68 65 72  20 74 68 65 0a 20 20 20  |e higher the.   |
00001160  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001170  20 20 76 61 6c 75 65 2c  20 74 68 65 20 62 72 69  |  value, the bri|
00001180  67 68 74 65 72 20 74 68  65 20 6c 69 67 68 74 2e  |ghter the light.|
00001190  20 54 68 65 20 73 6f 6c  65 20 70 61 72 61 6d 65  | The sole parame|
000011a0  74 65 72 20 69 73 20 61  6e 0a 20 20 20 20 20 20  |ter is an.      |
000011b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 69  |               i|
000011c0  6e 74 65 67 65 72 2e 0a  20 20 20 20 20 20 20 20  |nteger..        |
000011d0  20 20 20 20 20 20 20 20  20 20 20 20 20 45 78 61  |             Exa|
000011e0  6d 70 6c 65 3a 20 42 72  69 67 68 74 6e 65 73 73  |mple: Brightness|
000011f0  20 37 38 0a 0a 53 74 65  65 70 6e 65 73 73 20 20  | 78..Steepness  |
00001200  20 20 20 20 20 20 20 20  20 20 53 65 74 73 20 74  |          Sets t|
00001210  68 65 20 73 74 65 65 70  6e 65 73 73 20 6f 66 20  |he steepness of |
00001220  74 68 65 20 6d 6f 75 6e  74 61 69 6e 2f 76 61 6c  |the mountain/val|
00001230  6c 65 79 20 73 6c 6f 70  65 73 2e 20 54 68 65 0a  |ley slopes. The.|
00001240  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001250  20 20 20 20 20 68 69 67  68 65 72 20 74 68 65 20  |     higher the |
00001260  76 61 6c 75 65 2c 20 74  68 65 20 73 74 65 65 70  |value, the steep|
00001270  65 72 20 74 68 65 20 73  6c 6f 70 65 73 2e 20 4e  |er the slopes. N|
00001280  6f 74 65 20 74 68 61 74  20 74 68 65 0a 20 20 20  |ote that the.   |
00001290  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000012a0  20 20 6d 61 67 6e 69 74  75 64 65 20 6f 66 20 74  |  magnitude of t|
000012b0  68 69 73 20 76 61 6c 75  65 20 69 73 20 64 69 73  |his value is dis|
000012c0  70 72 6f 70 6f 72 74 69  6f 6e 61 6c 20 77 69 74  |proportional wit|
000012d0  68 20 73 69 7a 65 20 6f  66 0a 20 20 20 20 20 20  |h size of.      |
000012e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 74  |               t|
000012f0  68 65 20 72 65 67 69 6f  6e 20 69 6e 64 69 63 61  |he region indica|
00001300  74 65 64 20 77 69 74 68  20 74 68 65 20 72 61 6e  |ted with the ran|
00001310  67 65 20 63 6f 6d 6d 61  6e 64 2e 20 54 68 65 20  |ge command. The |
00001320  73 6f 6c 65 0a 20 20 20  20 20 20 20 20 20 20 20  |sole.           |
00001330  20 20 20 20 20 20 20 20  20 20 70 61 72 61 6d 65  |          parame|
00001340  74 65 72 20 69 73 20 61  6e 20 69 6e 74 65 67 65  |ter is an intege|
00001350  72 2e 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |r..             |
00001360  20 20 20 20 20 20 20 20  45 78 61 6d 70 6c 65 3a  |        Example:|
00001370  20 53 74 65 65 70 6e 65  73 73 20 32 34 30 0a 0a  | Steepness 240..|
00001380  44 69 74 68 65 72 69 6e  67 20 20 20 20 20 20 20  |Dithering       |
00001390  20 20 20 20 20 53 65 74  73 20 74 68 65 20 63 6f  |     Sets the co|
000013a0  6c 6f 72 2d 64 69 74 68  65 72 69 6e 67 20 66 61  |lor-dithering fa|
000013b0  63 74 6f 72 2e 20 42 65  63 61 75 73 65 20 74 68  |ctor. Because th|
000013c0  65 20 70 72 6f 67 72 61  6d 0a 20 20 20 20 20 20  |e program.      |
000013d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 6f  |               o|
000013e0  6e 6c 79 20 75 73 65 73  20 31 36 20 63 6f 6c 6f  |nly uses 16 colo|
000013f0  72 73 20 74 6f 20 72 65  6e 64 65 72 20 61 6e 20  |rs to render an |
00001400  69 6d 61 67 65 20 28 64  75 65 20 74 6f 20 74 68  |image (due to th|
00001410  65 20 34 62 69 74 0a 20  20 20 20 20 20 20 20 20  |e 4bit.         |
00001420  20 20 20 20 20 20 20 20  20 20 20 20 6e 61 74 75  |            natu|
00001430  72 65 20 6f 66 20 6d 6f  64 65 20 31 32 29 2c 20  |re of mode 12), |
00001440  61 62 72 75 70 74 20 63  6f 6c 6f 72 20 63 68 61  |abrupt color cha|
00001450  6e 67 65 73 20 6f 6e 20  74 68 65 20 73 75 72 66  |nges on the surf|
00001460  61 63 65 0a 20 20 20 20  20 20 20 20 20 20 20 20  |ace.            |
00001470  20 20 20 20 20 20 20 20  20 6d 61 79 20 67 69 76  |         may giv|
00001480  65 20 61 20 6e 6f 6e 2d  72 65 61 6c 69 73 74 69  |e a non-realisti|
00001490  63 20 66 65 65 6c 20 74  6f 20 74 68 65 20 69 6d  |c feel to the im|
000014a0  61 67 65 2e 20 54 68 65  72 65 66 6f 72 65 2c 0a  |age. Therefore,.|
000014b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000014c0  20 20 20 20 20 61 20 73  69 6d 70 6c 65 20 74 65  |     a simple te|
000014d0  63 68 6e 69 71 75 65 2c  20 63 61 6c 6c 65 64 20  |chnique, called |
000014e0  72 61 6e 64 6f 6d 20 64  69 74 68 65 72 69 6e 67  |random dithering|
000014f0  2c 20 69 73 20 75 73 65  64 20 74 6f 0a 20 20 20  |, is used to.   |
00001500  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001510  20 20 70 72 6f 64 75 63  65 20 69 6e 74 65 72 6d  |  produce interm|
00001520  65 64 69 61 74 65 20 27  70 73 65 75 64 6f 2d 63  |ediate 'pseudo-c|
00001530  6f 6c 6f 72 73 27 2c 20  77 68 69 63 68 20 6d 61  |olors', which ma|
00001540  6b 65 20 74 68 65 0a 20  20 20 20 20 20 20 20 20  |ke the.         |
00001550  20 20 20 20 20 20 20 20  20 20 20 20 63 6f 6c 6f  |            colo|
00001560  72 20 63 68 61 6e 67 65  73 20 73 65 65 6d 20 71  |r changes seem q|
00001570  75 69 74 65 20 63 6f 6e  74 69 6e 75 6f 75 73 2e  |uite continuous.|
00001580  20 41 20 76 61 6c 75 65  20 6f 66 20 31 20 6d 65  | A value of 1 me|
00001590  61 6e 73 0a 20 20 20 20  20 20 20 20 20 20 20 20  |ans.            |
000015a0  20 20 20 20 20 20 20 20  20 6e 6f 20 63 6f 6c 6f  |         no colo|
000015b0  72 20 64 69 74 68 65 72  69 6e 67 2e 20 54 68 65  |r dithering. The|
000015c0  20 73 6f 6c 65 20 70 61  72 61 6d 65 74 65 72 20  | sole parameter |
000015d0  69 73 20 61 6e 20 69 6e  74 65 67 65 72 2e 0a 20  |is an integer.. |
000015e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000015f0  20 20 20 20 45 78 61 6d  70 6c 65 3a 20 44 69 74  |    Example: Dit|
00001600  68 65 72 69 6e 67 20 31  36 0a 0a 53 68 61 64 6f  |hering 16..Shado|
00001610  77 73 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |ws              |
00001620  54 65 6c 6c 73 20 74 68  65 20 70 72 6f 67 72 61  |Tells the progra|
00001630  6d 20 77 68 65 74 68 65  72 20 74 6f 20 63 61 6c  |m whether to cal|
00001640  63 75 6c 61 74 65 20 73  68 61 64 6f 77 73 20 6f  |culate shadows o|
00001650  72 20 6e 6f 74 2e 0a 20  20 20 20 20 20 20 20 20  |r not..         |
00001660  20 20 20 20 20 20 20 20  20 20 20 20 54 68 65 20  |            The |
00001670  63 61 6c 63 75 6c 61 74  69 6f 6e 20 6f 66 20 73  |calculation of s|
00001680  68 61 64 6f 77 73 20 73  6c 6f 77 73 20 64 6f 77  |hadows slows dow|
00001690  6e 20 74 68 65 20 72 65  6e 64 65 72 69 6e 67 0a  |n the rendering.|
000016a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000016b0  20 20 20 20 20 71 75 69  74 65 20 64 72 61 73 74  |     quite drast|
000016c0  69 63 61 6c 6c 79 2e 20  54 68 65 20 70 61 72 61  |ically. The para|
000016d0  6d 65 74 65 72 20 69 73  20 61 20 73 74 72 69 6e  |meter is a strin|
000016e0  67 20 6f 66 20 74 68 65  20 66 6f 72 6d 0a 20 20  |g of the form.  |
000016f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001700  20 20 20 27 4f 6e 27 20  6f 72 20 27 4f 66 66 27  |   'On' or 'Off'|
00001710  2e 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
00001720  20 20 20 20 20 20 20 45  78 61 6d 70 6c 65 3a 20  |       Example: |
00001730  53 68 61 64 6f 77 73 20  4f 6e 0a 0a 49 6e 74 65  |Shadows On..Inte|
00001740  72 70 6f 6c 61 74 69 6f  6e 20 20 20 20 20 20 20  |rpolation       |
00001750  20 54 65 6c 6c 73 20 74  68 65 20 70 72 6f 67 72  | Tells the progr|
00001760  61 6d 20 77 68 65 74 68  65 72 20 74 6f 20 69 6e  |am whether to in|
00001770  74 65 72 70 6f 6c 61 74  65 20 76 61 6c 75 65 73  |terpolate values|
00001780  20 69 6e 20 74 68 65 0a  20 20 20 20 20 20 20 20  | in the.        |
00001790  20 20 20 20 20 20 20 20  20 20 20 20 20 68 6f 72  |             hor|
000017a0  69 7a 6f 6e 74 61 6c 20  64 69 72 65 63 74 69 6f  |izontal directio|
000017b0  6e 2e 20 49 6e 74 65 72  70 6f 6c 61 74 69 6e 67  |n. Interpolating|
000017c0  20 64 6f 75 62 6c 65 73  20 74 68 65 20 74 69 6d  | doubles the tim|
000017d0  65 20 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |e .             |
000017e0  20 20 20 20 20 20 20 20  6e 65 65 64 65 64 20 66  |        needed f|
000017f0  6f 72 20 72 65 6e 64 65  72 69 6e 67 20 61 6e 20  |or rendering an |
00001800  69 6d 61 67 65 2c 20 62  75 74 20 69 74 20 70 72  |image, but it pr|
00001810  6f 64 75 63 65 73 20 6d  6f 72 65 0a 20 20 20 20  |oduces more.    |
00001820  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001830  20 64 65 74 61 69 6c 2e  20 41 6e 20 69 6d 61 67  | detail. An imag|
00001840  65 20 63 72 65 61 74 65  64 20 77 69 74 68 20 69  |e created with i|
00001850  6e 74 65 72 70 6f 6c 61  74 69 6f 6e 20 6f 66 66  |nterpolation off|
00001860  20 68 61 73 0a 20 20 20  20 20 20 20 20 20 20 20  | has.           |
00001870  20 20 20 20 20 20 20 20  20 20 27 6d 6f 64 65 20  |          'mode |
00001880  39 27 20 72 65 73 6f 6c  75 74 69 6f 6e 2c 20 77  |9' resolution, w|
00001890  68 65 72 65 61 73 20 69  6d 61 67 65 73 20 63 72  |hereas images cr|
000018a0  65 61 74 65 64 20 77 69  74 68 0a 20 20 20 20 20  |eated with.     |
000018b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000018c0  69 6e 74 65 72 70 6f 6c  61 74 69 6f 6e 20 6f 6e  |interpolation on|
000018d0  20 68 61 76 65 20 61 20  74 72 75 65 20 27 6d 6f  | have a true 'mo|
000018e0  64 65 20 31 32 27 20 72  65 73 6f 6c 75 74 69 6f  |de 12' resolutio|
000018f0  6e 2e 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |n..             |
00001900  20 20 20 20 20 20 20 20  54 68 65 20 70 61 72 61  |        The para|
00001910  6d 65 74 65 72 20 69 73  20 61 20 73 74 72 69 6e  |meter is a strin|
00001920  67 20 6f 66 20 74 68 65  20 66 6f 72 6d 20 27 4f  |g of the form 'O|
00001930  6e 27 20 6f 72 20 27 4f  66 66 27 2e 0a 20 20 20  |n' or 'Off'..   |
00001940  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001950  20 20 45 78 61 6d 70 6c  65 3a 20 49 6e 74 65 72  |  Example: Inter|
00001960  70 6f 6c 61 74 69 6f 6e  20 4f 66 66 0a 0a 4f 66  |polation Off..Of|
00001970  66 73 65 74 20 20 20 20  20 20 20 20 20 20 20 20  |fset            |
00001980  20 20 20 53 65 74 73 20  74 68 65 20 74 77 6f 20  |   Sets the two |
00001990  27 73 63 72 65 65 6e 20  6f 66 66 73 65 74 73 27  |'screen offsets'|
000019a0  20 66 6f 72 20 74 68 65  20 69 6d 61 67 65 2e 20  | for the image. |
000019b0  41 20 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |A .             |
000019c0  20 20 20 20 20 20 20 20  68 6f 72 69 7a 6f 6e 74  |        horizont|
000019d0  61 6c 20 6f 66 66 73 65  74 20 6f 66 20 30 20 77  |al offset of 0 w|
000019e0  6f 75 6c 64 20 70 6c 61  63 65 20 74 68 65 20 69  |ould place the i|
000019f0  6d 61 67 65 20 74 6f 20  74 68 65 20 6c 65 66 74  |mage to the left|
00001a00  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00001a10  20 20 20 20 20 20 65 64  67 65 20 6f 66 20 74 68  |      edge of th|
00001a20  65 20 73 63 72 65 65 6e  2e 20 41 20 76 65 72 74  |e screen. A vert|
00001a30  69 63 61 6c 20 6f 66 66  73 65 74 20 6f 66 20 30  |ical offset of 0|
00001a40  20 77 6f 75 6c 64 20 70  6c 61 63 65 0a 20 20 20  | would place.   |
00001a50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001a60  20 20 74 68 65 20 69 6d  61 67 65 20 68 61 6c 66  |  the image half|
00001a70  20 77 61 79 20 62 65 6c  6f 77 20 74 68 65 20 62  | way below the b|
00001a80  6f 74 74 6f 6d 20 65 64  67 65 20 6f 66 20 74 68  |ottom edge of th|
00001a90  65 20 73 63 72 65 65 6e  2e 0a 20 20 20 20 20 20  |e screen..      |
00001aa0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 4e  |               N|
00001ab0  6f 72 6d 61 6c 6c 79 2c  20 74 68 65 20 78 20 28  |ormally, the x (|
00001ac0  68 6f 72 69 7a 6f 6e 74  61 6c 29 20 6f 66 66 73  |horizontal) offs|
00001ad0  65 74 20 73 68 6f 75 6c  64 20 72 65 6d 61 69 6e  |et should remain|
00001ae0  20 61 74 20 34 30 2c 0a  20 20 20 20 20 20 20 20  | at 40,.        |
00001af0  20 20 20 20 20 20 20 20  20 20 20 20 20 61 6e 64  |             and|
00001b00  20 74 68 65 20 79 20 28  76 65 72 74 69 63 61 6c  | the y (vertical|
00001b10  29 20 6f 66 66 73 65 74  20 73 68 6f 75 6c 64 20  |) offset should |
00001b20  76 61 72 79 20 62 65 74  77 65 65 6e 20 32 34 30  |vary between 240|
00001b30  20 61 6e 64 0a 20 20 20  20 20 20 20 20 20 20 20  | and.           |
00001b40  20 20 20 20 20 20 20 20  20 20 34 38 30 2c 20 64  |          480, d|
00001b50  65 70 65 6e 64 69 6e 67  20 6f 6e 20 74 68 65 20  |epending on the |
00001b60  61 6e 67 6c 65 20 61 74  20 77 68 69 63 68 20 74  |angle at which t|
00001b70  6f 20 76 69 65 77 20 74  68 65 20 0a 20 20 20 20  |o view the .    |
00001b80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001b90  20 69 6d 61 67 65 2e 20  54 68 65 20 74 77 6f 20  | image. The two |
00001ba0  70 61 72 61 6d 65 74 65  72 73 20 61 72 65 20 74  |parameters are t|
00001bb0  68 65 20 78 20 61 6e 64  20 79 20 6f 66 66 73 65  |he x and y offse|
00001bc0  74 73 2e 0a 20 20 20 20  20 20 20 20 20 20 20 20  |ts..            |
00001bd0  20 20 20 20 20 20 20 20  20 45 78 61 6d 70 6c 65  |         Example|
00001be0  3a 20 4f 66 66 73 65 74  20 34 30 2c 33 38 30 0a  |: Offset 40,380.|
00001bf0  0a 41 6e 67 6c 65 20 20  20 20 20 20 20 20 20 20  |.Angle          |
00001c00  20 20 20 20 20 20 53 65  74 73 20 74 68 65 20 76  |      Sets the v|
00001c10  69 65 77 69 6e 67 20 61  6e 67 6c 65 73 2e 20 54  |iewing angles. T|
00001c20  68 65 20 66 69 72 73 74  20 76 61 6c 75 65 20 69  |he first value i|
00001c30  73 20 74 68 65 20 78 20  61 6e 67 6c 65 2c 0a 20  |s the x angle,. |
00001c40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001c50  20 20 20 20 61 20 76 61  6c 75 65 20 6f 66 20 30  |    a value of 0|
00001c60  20 6d 61 6b 65 73 20 79  6f 75 20 6c 6f 6f 6b 20  | makes you look |
00001c70  61 74 20 74 68 65 20 69  6d 61 67 65 20 27 68 65  |at the image 'he|
00001c80  61 64 2d 6f 6e 27 2e 0a  20 20 20 20 20 20 20 20  |ad-on'..        |
00001c90  20 20 20 20 20 20 20 20  20 20 20 20 20 54 68 65  |             The|
00001ca0  20 73 65 63 6f 6e 64 20  76 61 6c 75 65 20 69 73  | second value is|
00001cb0  20 74 68 65 20 79 20 61  6e 67 6c 65 2c 20 77 68  | the y angle, wh|
00001cc0  69 63 68 20 73 68 6f 75  6c 64 20 62 65 20 69 6e  |ich should be in|
00001cd0  20 74 68 65 0a 20 20 20  20 20 20 20 20 20 20 20  | the.           |
00001ce0  20 20 20 20 20 20 20 20  20 20 72 61 6e 67 65 20  |          range |
00001cf0  31 35 2e 2e 39 30 20 74  6f 20 67 65 74 20 61 20  |15..90 to get a |
00001d00  6d 65 61 6e 69 6e 67 66  75 6c 20 76 69 65 77 20  |meaningful view |
00001d10  6f 6e 20 74 68 65 20 69  6d 61 67 65 2c 20 33 30  |on the image, 30|
00001d20  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00001d30  20 20 20 20 20 20 62 65  69 6e 67 20 61 20 71 75  |      being a qu|
00001d40  69 74 65 20 72 65 61 73  6f 6e 61 62 6c 65 20 61  |ite reasonable a|
00001d50  76 65 72 61 67 65 2e 20  49 6e 20 74 68 65 20 63  |verage. In the c|
00001d60  75 72 72 65 6e 74 20 0a  20 20 20 20 20 20 20 20  |urrent .        |
00001d70  20 20 20 20 20 20 20 20  20 20 20 20 20 76 65 72  |             ver|
00001d80  73 69 6f 6e 73 20 6f 66  20 46 72 61 63 54 72 61  |sions of FracTra|
00001d90  63 65 2c 20 74 68 65 20  78 20 61 6e 67 6c 65 20  |ce, the x angle |
00001da0  69 73 20 62 65 73 74 20  6b 65 70 74 20 61 74 20  |is best kept at |
00001db0  30 21 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |0!.             |
00001dc0  20 20 20 20 20 20 20 20  54 68 65 20 74 77 6f 20  |        The two |
00001dd0  70 61 72 61 6d 65 74 65  72 73 20 61 72 65 20 74  |parameters are t|
00001de0  68 65 20 78 20 61 6e 64  20 79 20 76 69 65 77 69  |he x and y viewi|
00001df0  6e 67 20 61 6e 67 6c 65  73 2e 0a 20 20 20 20 20  |ng angles..     |
00001e00  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001e10  45 78 61 6d 70 6c 65 3a  20 41 6e 67 6c 65 20 30  |Example: Angle 0|
00001e20  2c 32 35 0a 0a 49 6e 63  72 65 6d 65 6e 74 20 20  |,25..Increment  |
00001e30  20 20 20 20 20 20 20 20  20 20 53 65 74 73 20 74  |          Sets t|
00001e40  68 65 20 78 20 61 6e 64  20 79 20 27 4f 53 2d 55  |he x and y 'OS-U|
00001e50  6e 69 74 27 20 69 6e 63  72 65 6d 65 6e 74 20 73  |nit' increment s|
00001e60  74 65 70 73 20 77 68 65  6e 20 0a 20 20 20 20 20  |teps when .     |
00001e70  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001e80  72 65 6e 64 65 72 69 6e  67 20 74 68 65 20 73 75  |rendering the su|
00001e90  72 66 61 63 65 2e 20 54  68 65 73 65 20 76 61 6c  |rface. These val|
00001ea0  75 65 73 20 61 72 65 20  62 6f 74 68 20 62 65 73  |ues are both bes|
00001eb0  74 20 6b 65 70 74 0a 20  20 20 20 20 20 20 20 20  |t kept.         |
00001ec0  20 20 20 20 20 20 20 20  20 20 20 20 61 74 20 34  |            at 4|
00001ed0  21 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |!.              |
00001ee0  20 20 20 20 20 20 20 45  78 61 6d 70 6c 65 3a 20  |       Example: |
00001ef0  49 6e 63 72 65 6d 65 6e  74 20 34 2c 34 0a 0a 53  |Increment 4,4..S|
00001f00  6c 6f 70 65 20 46 72 6f  6e 74 20 20 20 20 20 20  |lope Front      |
00001f10  20 20 20 20 53 65 74 73  20 74 68 65 20 66 72 6f  |    Sets the fro|
00001f20  6e 74 2d 73 6c 6f 70 65  20 72 61 6e 67 65 20 61  |nt-slope range a|
00001f30  6e 64 20 73 74 65 65 70  6e 65 73 73 2e 20 46 6f  |nd steepness. Fo|
00001f40  72 20 73 6f 6d 65 20 0a  20 20 20 20 20 20 20 20  |r some .        |
00001f50  20 20 20 20 20 20 20 20  20 20 20 20 20 69 6d 61  |             ima|
00001f60  67 65 73 20 69 74 20 77  69 6c 6c 20 62 65 20 6e  |ges it will be n|
00001f70  65 63 65 73 73 61 72 79  20 74 6f 20 75 73 65 20  |ecessary to use |
00001f80  74 68 69 73 20 66 65 61  74 75 72 65 20 74 6f 20  |this feature to |
00001f90  61 76 6f 69 64 0a 20 20  20 20 20 20 20 20 20 20  |avoid.          |
00001fa0  20 20 20 20 20 20 20 20  20 20 20 74 68 65 20 61  |           the a|
00001fb0  72 74 69 66 69 63 69 61  6c 20 63 75 74 2d 6f 66  |rtificial cut-of|
00001fc0  66 20 6f 66 20 74 68 65  20 66 72 6f 6e 74 2d 6d  |f of the front-m|
00001fd0  6f 73 74 20 65 64 67 65  20 6f 66 20 74 68 65 0a  |ost edge of the.|
00001fe0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001ff0  20 20 20 20 20 73 75 72  66 61 63 65 2e 20 57 68  |     surface. Wh|
00002000  65 6e 20 79 6f 75 20 64  6f 20 68 61 76 65 20 61  |en you do have a|
00002010  6e 20 69 6d 61 67 65 20  74 68 61 74 20 73 65 65  |n image that see|
00002020  6d 73 20 74 6f 20 62 65  0a 20 20 20 20 20 20 20  |ms to be.       |
00002030  20 20 20 20 20 20 20 20  20 20 20 20 20 20 27 63  |              'c|
00002040  75 74 20 6f 66 66 27 20  61 74 20 74 68 65 20 66  |ut off' at the f|
00002050  72 6f 6e 74 20 65 64 67  65 2c 20 79 6f 75 20 73  |ront edge, you s|
00002060  68 6f 75 6c 64 20 66 6f  72 63 65 20 74 68 65 20  |hould force the |
00002070  66 72 6f 6e 74 0a 20 20  20 20 20 20 20 20 20 20  |front.          |
00002080  20 20 20 20 20 20 20 20  20 20 20 6c 69 6e 65 73  |           lines|
00002090  20 64 6f 77 6e 20 77 69  74 68 20 61 20 63 65 72  | down with a cer|
000020a0  74 61 69 6e 20 73 74 65  65 70 6e 65 73 73 2d 66  |tain steepness-f|
000020b0  61 63 74 6f 72 21 0a 20  20 20 20 20 20 20 20 20  |actor!.         |
000020c0  20 20 20 20 20 20 20 20  20 20 20 20 54 68 65 20  |            The |
000020d0  66 69 72 73 74 20 76 61  6c 75 65 20 69 73 20 74  |first value is t|
000020e0  68 65 20 6e 75 6d 62 65  72 20 6f 66 20 66 72 6f  |he number of fro|
000020f0  6e 74 20 6c 69 6e 65 73  20 79 6f 75 20 77 61 6e  |nt lines you wan|
00002100  74 20 74 6f 0a 20 20 20  20 20 20 20 20 20 20 20  |t to.           |
00002110  20 20 20 20 20 20 20 20  20 20 70 75 6c 6c 20 64  |          pull d|
00002120  6f 77 6e 20 28 6f 6e 65  20 6c 69 6e 65 20 63 6f  |own (one line co|
00002130  72 72 65 73 70 6f 6e 64  73 20 77 69 74 68 20 6f  |rresponds with o|
00002140  6e 65 20 72 65 73 6f 6c  75 74 69 6f 6e 2d 0a 20  |ne resolution-. |
00002150  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002160  20 20 20 20 75 6e 69 74  29 2c 20 74 68 65 20 73  |    unit), the s|
00002170  65 63 6f 6e 64 20 76 61  6c 75 65 20 69 73 20 74  |econd value is t|
00002180  68 65 20 66 61 63 74 6f  72 20 62 79 20 77 68 69  |he factor by whi|
00002190  63 68 20 79 6f 75 20 77  61 6e 74 0a 20 20 20 20  |ch you want.    |
000021a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000021b0  20 74 6f 20 65 6e 6c 61  72 67 65 20 74 68 65 20  | to enlarge the |
000021c0  73 74 65 65 70 6e 65 73  73 2e 20 54 68 65 73 65  |steepness. These|
000021d0  20 76 61 6c 75 65 73 20  73 68 6f 75 6c 64 20 62  | values should b|
000021e0  65 20 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |e .             |
000021f0  20 20 20 20 20 20 20 20  6f 62 74 61 69 6e 65 64  |        obtained|
00002200  20 62 79 20 74 72 69 61  6c 20 61 6e 64 20 65 72  | by trial and er|
00002210  72 6f 72 2e 20 54 68 65  20 74 77 6f 20 70 61 72  |ror. The two par|
00002220  61 6d 65 74 65 72 73 20  61 72 65 20 74 68 65 0a  |ameters are the.|
00002230  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002240  20 20 20 20 20 73 6c 6f  70 65 2d 72 61 6e 67 65  |     slope-range|
00002250  20 28 69 6e 20 6c 69 6e  65 73 29 20 61 6e 64 20  | (in lines) and |
00002260  74 68 65 20 73 74 65 65  70 6e 65 73 73 20 66 61  |the steepness fa|
00002270  63 74 6f 72 2e 0a 20 20  20 20 20 20 20 20 20 20  |ctor..          |
00002280  20 20 20 20 20 20 20 20  20 20 20 45 78 61 6d 70  |           Examp|
00002290  6c 65 3a 20 53 6c 6f 70  65 20 46 72 6f 6e 74 20  |le: Slope Front |
000022a0  33 30 2c 35 0a 0a 43 6f  6c 6f 72 20 20 20 20 20  |30,5..Color     |
000022b0  20 20 20 20 20 20 20 20  20 20 20 53 65 74 73 20  |           Sets |
000022c0  74 68 65 20 6f 76 65 72  61 6c 6c 20 63 6f 6c 6f  |the overall colo|
000022d0  72 20 6f 66 20 74 68 65  20 73 75 72 66 61 63 65  |r of the surface|
000022e0  2e 20 54 68 69 73 20 63  6f 6c 6f 72 20 69 73 0a  |. This color is.|
000022f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002300  20 20 20 20 20 73 70 65  63 69 66 69 65 64 20 62  |     specified b|
00002310  79 20 61 6e 20 52 47 42  2d 76 65 63 74 6f 72 2e  |y an RGB-vector.|
00002320  20 54 68 65 20 63 6f 6d  70 6f 6e 65 6e 74 73 20  | The components |
00002330  6f 66 20 74 68 65 20 52  47 42 2d 0a 20 20 20 20  |of the RGB-.    |
00002340  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002350  20 76 65 63 74 6f 72 20  6d 75 73 74 20 62 65 20  | vector must be |
00002360  69 6e 20 74 68 65 20 72  61 6e 67 65 20 30 2e 2e  |in the range 0..|
00002370  31 35 21 20 49 6e 20 63  75 72 72 65 6e 74 20 76  |15! In current v|
00002380  65 72 73 69 6f 6e 73 0a  20 20 20 20 20 20 20 20  |ersions.        |
00002390  20 20 20 20 20 20 20 20  20 20 20 20 20 6f 66 20  |             of |
000023a0  46 72 61 63 54 72 61 63  65 20 74 68 65 20 76 65  |FracTrace the ve|
000023b0  63 74 6f 72 20 73 68 6f  75 6c 64 20 62 65 20 31  |ctor should be 1|
000023c0  35 2c 31 35 2c 31 35 2c  20 61 73 20 74 68 65 72  |5,15,15, as ther|
000023d0  65 20 61 72 65 0a 20 20  20 20 20 20 20 20 20 20  |e are.          |
000023e0  20 20 20 20 20 20 20 20  20 20 20 73 74 69 6c 6c  |           still|
000023f0  20 73 6f 6d 65 20 70 72  6f 62 6c 65 6d 73 20 77  | some problems w|
00002400  69 74 68 20 74 68 65 20  43 6f 6c 6f 75 72 54 72  |ith the ColourTr|
00002410  61 6e 73 20 6d 6f 64 75  6c 65 2e 20 4f 74 68 65  |ans module. Othe|
00002420  72 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |r.              |
00002430  20 20 20 20 20 20 20 76  61 6c 75 65 73 20 6d 61  |       values ma|
00002440  79 20 62 65 20 75 73 65  64 2c 20 62 75 74 20 74  |y be used, but t|
00002450  68 65 20 6f 6e 6c 79 20  77 61 79 20 74 6f 20 64  |he only way to d|
00002460  69 73 70 6c 61 79 20 74  68 65 73 65 0a 20 20 20  |isplay these.   |
00002470  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002480  20 20 63 72 65 61 74 65  64 20 69 6d 61 67 65 73  |  created images|
00002490  20 63 6f 72 72 65 63 74  6c 79 20 77 6f 75 6c 64  | correctly would|
000024a0  20 62 65 20 62 79 20 27  2a 53 63 72 65 65 6e 4c  | be by '*ScreenL|
000024b0  6f 61 64 27 69 6e 67 0a  20 20 20 20 20 20 20 20  |oad'ing.        |
000024c0  20 20 20 20 20 20 20 20  20 20 20 20 20 74 68 65  |             the|
000024d0  6d 20 28 69 65 2e 20 6e  6f 74 20 77 69 74 68 20  |m (ie. not with |
000024e0  21 50 61 69 6e 74 20 6f  72 20 21 46 72 61 63 54  |!Paint or !FracT|
000024f0  72 61 63 65 20 69 74 73  65 6c 66 29 2e 20 54 68  |race itself). Th|
00002500  65 20 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |e .             |
00002510  20 20 20 20 20 20 20 20  74 68 72 65 65 20 70 61  |        three pa|
00002520  72 61 6d 65 74 65 72 73  20 61 72 65 20 74 68 65  |rameters are the|
00002530  20 63 6f 6d 70 6f 6e 65  6e 74 73 20 6f 66 20 74  | components of t|
00002540  68 65 20 52 47 42 2d 76  65 63 74 6f 72 2e 0a 20  |he RGB-vector.. |
00002550  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002560  20 20 20 20 45 78 61 6d  70 6c 65 3a 20 43 6f 6c  |    Example: Col|
00002570  6f 72 20 31 35 2c 31 35  2c 31 35 0a 0a 56 61 72  |or 15,15,15..Var|
00002580  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002590  20 20 53 65 74 73 20 28  64 65 63 6c 61 72 65 73  |  Sets (declares|
000025a0  29 20 74 68 65 20 6e 61  6d 65 73 20 66 6f 72 20  |) the names for |
000025b0  75 73 65 72 2d 76 61 72  69 61 62 6c 65 73 2e 20  |user-variables. |
000025c0  53 65 65 20 74 68 65 0a  20 20 20 20 20 20 20 20  |See the.        |
000025d0  20 20 20 20 20 20 20 20  20 20 20 20 20 70 61 72  |             par|
000025e0  61 67 72 61 70 68 20 27  55 73 69 6e 67 20 66 72  |agraph 'Using fr|
000025f0  61 6d 65 73 27 20 66 6f  72 20 66 75 72 74 68 65  |ames' for furthe|
00002600  72 20 64 65 74 61 69 6c  73 20 6f 6e 0a 20 20 20  |r details on.   |
00002610  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002620  20 20 75 73 65 72 2d 76  61 72 69 61 62 6c 65 73  |  user-variables|
00002630  2e 20 54 68 69 73 20 63  6f 6d 6d 61 6e 64 20 74  |. This command t|
00002640  61 6b 65 73 20 75 70 20  74 6f 20 31 30 30 20 70  |akes up to 100 p|
00002650  61 72 61 6d 65 74 65 72  73 2c 0a 20 20 20 20 20  |arameters,.     |
00002660  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002670  74 68 65 73 65 20 62 65  69 6e 67 20 74 68 65 20  |these being the |
00002680  6e 61 6d 65 73 20 6f 66  20 74 68 65 20 75 73 65  |names of the use|
00002690  72 2d 76 61 72 69 61 62  6c 65 73 2e 0a 20 20 20  |r-variables..   |
000026a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000026b0  20 20 45 78 61 6d 70 6c  65 3a 20 56 61 72 20 6d  |  Example: Var m|
000026c0  69 6e 2c 6d 61 78 2c 72  61 64 69 75 73 0a 0a 53  |in,max,radius..S|
000026d0  68 6f 77 20 20 20 20 20  20 20 20 20 20 20 20 20  |how             |
000026e0  20 20 20 20 53 68 6f 77  73 20 74 68 65 20 63 6f  |    Shows the co|
000026f0  6e 74 65 6e 74 73 20 6f  66 20 74 68 65 20 73 70  |ntents of the sp|
00002700  65 63 69 66 69 65 64 20  76 61 72 69 61 62 6c 65  |ecified variable|
00002710  20 69 6e 20 74 68 65 0a  20 20 20 20 20 20 20 20  | in the.        |
00002720  20 20 20 20 20 20 20 20  20 20 20 20 20 27 72 65  |             're|
00002730  70 6f 72 74 27 20 77 69  6e 64 6f 77 2e 20 54 68  |port' window. Th|
00002740  69 73 20 63 6f 6d 6d 61  6e 64 20 6d 61 79 20 62  |is command may b|
00002750  65 20 75 73 65 66 75 6c  20 66 6f 72 20 0a 20 20  |e useful for .  |
00002760  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002770  20 20 20 64 65 62 75 67  67 69 6e 67 20 73 63 72  |   debugging scr|
00002780  69 70 74 20 70 72 6f 67  72 61 6d 73 2e 20 54 68  |ipt programs. Th|
00002790  65 20 73 69 6e 67 6c 65  20 70 61 72 61 6d 65 74  |e single paramet|
000027a0  65 72 20 69 73 20 74 68  65 0a 20 20 20 20 20 20  |er is the.      |
000027b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 76  |               v|
000027c0  61 72 69 61 62 6c 65 2d  6e 61 6d 65 2e 0a 20 20  |ariable-name..  |
000027d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000027e0  20 20 20 45 78 61 6d 70  6c 65 3a 20 53 68 6f 77  |   Example: Show|
000027f0  20 72 61 64 69 75 73 0a  20 20 20 20 20 20 20 20  | radius.        |
00002800  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00002830  20 20 20 0a 53 74 6f 70  20 20 20 20 20 20 20 20  |   .Stop        |
00002840  20 20 20 20 20 20 20 20  20 49 6d 6d 65 64 69 61  |         Immedia|
00002850  74 65 6c 79 20 73 74 6f  70 73 20 65 78 65 63 75  |tely stops execu|
00002860  74 69 6f 6e 20 28 69 65  2e 20 70 61 72 73 69 6e  |tion (ie. parsin|
00002870  67 29 20 6f 66 20 61 6e  20 46 54 53 0a 20 20 20  |g) of an FTS.   |
00002880  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002890  20 20 66 69 6c 65 2e 20  57 68 65 6e 20 79 6f 75  |  file. When you|
000028a0  20 75 73 65 20 73 75 62  72 6f 75 74 69 6e 65 73  | use subroutines|
000028b0  2c 20 61 20 27 73 74 6f  70 27 20 73 68 6f 75 6c  |, a 'stop' shoul|
000028c0  64 20 62 65 0a 20 20 20  20 20 20 20 20 20 20 20  |d be.           |
000028d0  20 20 20 20 20 20 20 20  20 20 70 75 74 20 61 74  |          put at|
000028e0  20 74 68 65 20 65 6e 64  20 6f 66 20 74 68 65 20  | the end of the |
000028f0  6d 61 69 6e 20 70 72 6f  67 72 61 6d 2c 20 62 65  |main program, be|
00002900  66 6f 72 65 20 74 68 65  20 73 74 61 72 74 0a 20  |fore the start. |
00002910  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002920  20 20 20 20 6f 66 20 74  68 65 20 66 69 72 73 74  |    of the first|
00002930  20 73 75 62 72 6f 75 74  69 6e 65 21 0a 0a 20 20  | subroutine!..  |
00002940  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002950  20 20 20 20 20 20 20 20  20 20 20 20 2d 2d 2d 2d  |            ----|
00002960  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 0a 0a 54  |-------------..T|
00002970  68 65 20 62 65 73 74 20  77 61 79 20 74 6f 20 67  |he best way to g|
00002980  65 74 20 74 6f 20 6b 6e  6f 77 20 74 68 65 73 65  |et to know these|
00002990  20 63 6f 6d 6d 61 6e 64  73 20 61 6e 64 20 74 68  | commands and th|
000029a0  65 69 72 20 65 66 66 65  63 74 73 20 69 73 20 62  |eir effects is b|
000029b0  79 20 0a 65 78 70 65 72  69 6d 65 6e 74 69 6e 67  |y .experimenting|
000029c0  20 77 69 74 68 20 74 68  65 20 73 75 70 70 6c 69  | with the suppli|
000029d0  65 64 20 46 54 53 20 66  69 6c 65 73 2e 20 54 72  |ed FTS files. Tr|
000029e0  79 20 63 68 61 6e 67 69  6e 67 20 6f 6e 65 20 70  |y changing one p|
000029f0  61 72 61 6d 65 74 65 72  20 61 74 20 61 0a 74 69  |arameter at a.ti|
00002a00  6d 65 20 61 6e 64 20 6e  6f 74 69 63 69 6e 67 20  |me and noticing |
00002a10  74 68 65 20 63 68 61 6e  67 65 20 69 6e 20 74 68  |the change in th|
00002a20  65 20 61 63 63 6f 72 64  69 6e 67 20 69 6d 61 67  |e according imag|
00002a30  65 28 73 29 2e 0a 0a 0a  55 73 69 6e 67 20 66 72  |e(s)....Using fr|
00002a40  61 6d 65 73 0a 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |ames.-----------|
00002a50  2d 0a 0a 46 72 61 63 54  72 61 63 65 20 70 72 6f  |-..FracTrace pro|
00002a60  76 69 64 65 73 20 61 20  73 69 6d 70 6c 65 20 77  |vides a simple w|
00002a70  61 79 20 74 6f 20 67 65  6e 65 72 61 74 65 20 6d  |ay to generate m|
00002a80  75 6c 74 69 70 6c 65 20  69 6d 61 67 65 73 2c 20  |ultiple images, |
00002a90  63 61 6c 6c 65 64 20 66  72 61 6d 65 73 2c 0a 66  |called frames,.f|
00002aa0  72 6f 6d 20 6f 6e 65 20  46 54 53 20 66 69 6c 65  |rom one FTS file|
00002ab0  2e 20 54 68 69 73 20 69  73 20 64 6f 6e 65 20 62  |. This is done b|
00002ac0  79 20 61 6c 6c 6f 77 69  6e 67 20 74 68 65 20 75  |y allowing the u|
00002ad0  73 65 72 20 74 6f 20 72  65 70 6c 61 63 65 20 61  |ser to replace a|
00002ae0  6e 79 20 0a 70 61 72 61  6d 65 74 65 72 20 62 79  |ny .parameter by|
00002af0  20 61 20 76 61 72 69 61  62 6c 65 20 6f 72 20 61  | a variable or a|
00002b00  20 63 6f 6e 73 74 61 6e  74 20 65 78 70 72 65 73  | constant expres|
00002b10  73 69 6f 6e 2e 20 28 54  68 65 20 75 73 65 20 6f  |sion. (The use o|
00002b20  66 20 76 61 72 69 61 62  6c 65 73 20 69 73 0a 72  |f variables is.r|
00002b30  65 63 6f 6d 6d 65 6e 64  65 64 20 6f 76 65 72 20  |ecommended over |
00002b40  74 68 65 20 75 73 65 20  6f 66 20 63 6f 6e 73 74  |the use of const|
00002b50  61 6e 74 20 65 78 70 72  65 73 73 69 6f 6e 73 21  |ant expressions!|
00002b60  29 20 20 20 20 20 20 20  20 0a 46 72 61 63 54 72  |)        .FracTr|
00002b70  61 63 65 20 61 6c 6c 6f  77 73 20 74 68 65 20 75  |ace allows the u|
00002b80  73 65 72 20 74 6f 20 64  65 63 6c 61 72 65 20 75  |ser to declare u|
00002b90  70 20 74 6f 20 31 30 30  20 75 73 65 72 2d 76 61  |p to 100 user-va|
00002ba0  72 69 61 62 6c 65 73 2e  20 44 65 63 6c 61 72 61  |riables. Declara|
00002bb0  74 69 6f 6e 0a 6f 66 20  61 20 75 73 65 72 2d 76  |tion.of a user-v|
00002bc0  61 72 69 61 62 6c 65 20  69 73 20 61 73 20 73 69  |ariable is as si|
00002bd0  6d 70 6c 65 20 61 73 20  69 6e 63 6c 75 64 69 6e  |mple as includin|
00002be0  67 20 69 74 20 69 6e 20  74 68 65 20 73 6f 20 63  |g it in the so c|
00002bf0  61 6c 6c 65 64 20 27 76  61 72 2d 6c 69 73 74 27  |alled 'var-list'|
00002c00  0a 61 74 20 74 68 65 20  62 65 67 69 6e 6e 69 6e  |.at the beginnin|
00002c10  67 20 6f 66 20 61 20 27  70 72 6f 67 72 61 6d 27  |g of a 'program'|
00002c20  2e 20 54 68 69 73 20 27  76 61 72 2d 6c 69 73 74  |. This 'var-list|
00002c30  27 20 69 73 20 6a 75 73  74 20 61 20 6c 69 73 74  |' is just a list|
00002c40  20 6f 66 20 6e 61 6d 65  73 0a 79 6f 75 20 63 68  | of names.you ch|
00002c50  6f 6f 73 65 20 66 6f 72  20 79 6f 75 72 20 76 61  |oose for your va|
00002c60  72 69 61 62 6c 65 73 2c  20 70 72 65 63 65 64 65  |riables, precede|
00002c70  64 20 62 79 20 74 68 65  20 27 76 61 72 27 20 63  |d by the 'var' c|
00002c80  6f 6d 6d 61 6e 64 2c 20  0a 65 67 2e 20 3a 20 27  |ommand, .eg. : '|
00002c90  76 61 72 20 63 6f 75 6e  74 2c 20 6c 6f 6f 70 2c  |var count, loop,|
00002ca0  20 73 74 65 70 2c 20 6d  69 6e 2c 20 6d 61 78 27  | step, min, max'|
00002cb0  2c 20 77 69 74 68 20 74  68 65 20 77 6f 72 64 73  |, with the words|
00002cc0  20 61 66 74 65 72 20 27  76 61 72 27 0a 72 65 66  | after 'var'.ref|
00002cd0  65 72 72 69 6e 67 20 74  6f 20 75 73 65 72 2d 76  |erring to user-v|
00002ce0  61 72 69 61 62 6c 65 20  6e 61 6d 65 73 2e 0a 54  |ariable names..T|
00002cf0  68 65 73 65 20 75 73 65  72 2d 76 61 72 69 61 62  |hese user-variab|
00002d00  6c 65 73 20 6d 61 79 20  62 65 20 61 73 73 69 67  |les may be assig|
00002d10  6e 65 64 20 61 6e 79 20  65 78 70 72 65 73 73 69  |ned any expressi|
00002d20  6f 6e 20 74 68 61 74 20  69 73 20 6c 65 67 61 6c  |on that is legal|
00002d30  20 69 6e 0a 42 41 53 49  43 20 56 21 0a 54 68 65  | in.BASIC V!.The|
00002d40  72 65 20 61 72 65 20 61  6c 73 6f 20 74 77 6f 20  |re are also two |
00002d50  6f 74 68 65 72 20 27 72  65 61 64 2d 6f 6e 6c 79  |other 'read-only|
00002d60  27 20 76 61 72 69 61 62  6c 65 73 20 77 68 69 63  |' variables whic|
00002d70  68 20 74 68 65 20 75 73  65 72 20 6d 61 79 20 75  |h the user may u|
00002d80  73 65 20 69 6e 20 68 69  73 0a 65 78 70 72 65 73  |se in his.expres|
00002d90  73 69 6f 6e 73 3a 20 27  66 72 61 6d 65 73 27 20  |sions: 'frames' |
00002da0  61 6e 64 20 27 66 72 61  6d 65 27 2e 20 54 68 65  |and 'frame'. The|
00002db0  20 76 61 72 69 61 62 6c  65 20 66 72 61 6d 65 73  | variable frames|
00002dc0  20 69 73 20 74 68 65 20  6e 75 6d 62 65 72 20 6f  | is the number o|
00002dd0  66 0a 6d 61 78 69 6d 75  6d 20 66 72 61 6d 65 73  |f.maximum frames|
00002de0  20 73 65 74 20 77 69 74  68 20 74 68 65 20 27 46  | set with the 'F|
00002df0  72 61 6d 65 73 27 20 63  6f 6d 6d 61 6e 64 2e 20  |rames' command. |
00002e00  54 68 65 20 6f 74 68 65  72 20 76 61 72 69 61 62  |The other variab|
00002e10  6c 65 2c 20 66 72 61 6d  65 2c 20 69 73 0a 74 68  |le, frame, is.th|
00002e20  65 20 63 75 72 72 65 6e  74 20 66 72 61 6d 65 20  |e current frame |
00002e30  6e 75 6d 62 65 72 20 77  68 69 63 68 20 74 68 65  |number which the|
00002e40  20 70 72 6f 67 72 61 6d  20 69 73 20 70 72 6f 63  | program is proc|
00002e50  65 73 73 69 6e 67 2c 20  77 68 69 63 68 20 6f 66  |essing, which of|
00002e60  20 63 6f 75 72 73 65 2c  0a 69 73 20 69 6e 20 74  | course,.is in t|
00002e70  68 65 20 72 61 6e 67 65  20 31 2e 2e 66 72 61 6d  |he range 1..fram|
00002e80  65 73 21 0a 4d 6f 73 74  20 75 73 65 72 2d 76 61  |es!.Most user-va|
00002e90  72 69 61 62 6c 65 73 20  77 69 6c 6c 20 62 65 20  |riables will be |
00002ea0  64 65 66 69 6e 65 64 20  62 79 20 61 6e 20 65 78  |defined by an ex|
00002eb0  70 72 65 73 73 69 6f 6e  20 63 6f 6e 74 61 69 6e  |pression contain|
00002ec0  69 6e 67 20 74 68 65 20  66 72 61 6d 65 0a 76 61  |ing the frame.va|
00002ed0  72 69 61 62 6c 65 2e 0a  54 68 65 72 65 20 61 72  |riable..There ar|
00002ee0  65 20 74 77 6f 20 77 61  79 73 20 6f 66 20 61 73  |e two ways of as|
00002ef0  73 69 67 6e 69 6e 67 20  61 6e 20 65 78 70 72 65  |signing an expre|
00002f00  73 73 69 6f 6e 20 74 6f  20 61 20 75 73 65 72 2d  |ssion to a user-|
00002f10  76 61 72 69 61 62 6c 65  3a 0a 0a 20 20 20 20 20  |variable:..     |
00002f20  20 31 29 20 62 79 20 75  73 69 6e 67 20 74 68 65  | 1) by using the|
00002f30  20 66 6f 72 6d 20 27 76  61 72 69 61 62 6c 65 3d  | form 'variable=|
00002f40  65 78 70 72 65 73 73 69  6f 6e 28 66 72 61 6d 65  |expression(frame|
00002f50  29 27 20 0a 20 20 20 20  20 20 20 20 20 65 67 2e  |)' .         eg.|
00002f60  20 3a 20 27 72 61 64 69  75 73 3d 36 30 2a 53 49  | : 'radius=60*SI|
00002f70  4e 52 41 44 28 66 72 61  6d 65 29 2b 31 30 30 27  |NRAD(frame)+100'|
00002f80  0a 20 20 20 20 20 20 20  20 20 6e 6f 20 73 70 61  |.         no spa|
00002f90  63 65 73 20 61 72 65 20  61 6c 6c 6f 77 65 64 20  |ces are allowed |
00002fa0  69 6e 20 74 68 65 20 65  78 70 72 65 73 73 69 6f  |in the expressio|
00002fb0  6e 20 74 6f 20 74 68 65  20 72 69 67 68 74 20 6f  |n to the right o|
00002fc0  66 20 27 3d 27 20 21 21  21 0a 0a 20 20 20 20 20  |f '=' !!!..     |
00002fd0  20 32 29 20 62 79 20 75  73 69 6e 67 20 74 68 65  | 2) by using the|
00002fe0  20 66 6f 72 6d 20 27 76  61 72 69 61 62 6c 65 3d  | form 'variable=|
00002ff0  65 78 70 72 65 73 73 69  6f 6e 2c 65 78 70 72 65  |expression,expre|
00003000  73 73 69 6f 6e 2c 65 78  70 72 65 73 73 69 6f 6e  |ssion,expression|
00003010  2c 2e 2e 2e 27 0a 20 20  20 20 20 20 20 20 20 65  |,...'.         e|
00003020  67 2e 20 3a 20 27 68 65  69 67 68 74 3d 31 32 2c  |g. : 'height=12,|
00003030  32 33 2c 33 34 2c 34 35  2c 35 36 2c 36 37 2c 37  |23,34,45,56,67,7|
00003040  38 27 20 20 20 20 77 68  65 6e 20 66 72 61 6d 65  |8'    when frame|
00003050  73 20 77 6f 75 6c 64 20  62 65 20 37 0a 0a 57 69  |s would be 7..Wi|
00003060  74 68 20 74 68 65 20 73  65 63 6f 6e 64 20 66 6f  |th the second fo|
00003070  72 6d 20 76 61 72 69 61  62 6c 65 20 27 68 65 69  |rm variable 'hei|
00003080  67 68 74 27 20 77 69 6c  6c 20 62 65 20 31 32 20  |ght' will be 12 |
00003090  66 6f 72 20 66 72 61 6d  65 3d 31 2c 20 32 33 20  |for frame=1, 23 |
000030a0  66 6f 72 0a 66 72 61 6d  65 3d 32 2c 20 33 34 20  |for.frame=2, 34 |
000030b0  66 6f 72 20 66 72 61 6d  65 3d 33 2c 2e 2e 2e 2c  |for frame=3,...,|
000030c0  20 61 6e 64 20 37 38 20  66 6f 72 20 66 72 61 6d  | and 78 for fram|
000030d0  65 3d 37 2e 20 4f 66 20  63 6f 75 72 73 65 2c 20  |e=7. Of course, |
000030e0  65 78 70 72 65 73 73 69  6f 6e 73 0a 63 6f 6e 74  |expressions.cont|
000030f0  61 69 6e 69 6e 67 20 74  68 65 20 76 61 72 69 61  |aining the varia|
00003100  62 6c 65 20 66 72 61 6d  65 20 28 62 75 74 20 6e  |ble frame (but n|
00003110  6f 20 73 70 61 63 65 73  21 21 21 29 20 6d 61 79  |o spaces!!!) may|
00003120  20 61 6c 73 6f 20 62 65  20 75 73 65 64 20 69 6e  | also be used in|
00003130  20 74 68 65 0a 73 65 63  6f 6e 64 20 66 72 6f 6d  | the.second from|
00003140  21 0a 0a 50 65 6f 70 6c  65 20 77 68 6f 20 6b 6e  |!..People who kn|
00003150  6f 77 20 52 65 6e 64 65  72 20 42 65 6e 64 65 72  |ow Render Bender|
00003160  20 77 69 6c 6c 20 62 65  20 66 61 6d 69 6c 69 61  | will be familia|
00003170  72 20 77 69 74 68 20 74  68 69 73 20 6d 65 74 68  |r with this meth|
00003180  6f 64 2e 0a 20 20 20 20  20 20 20 20 20 20 20 0a  |od..           .|
00003190  0a 43 6f 6e 64 69 74 69  6f 6e 61 6c 20 63 6f 6d  |.Conditional com|
000031a0  6d 61 6e 64 20 65 78 65  63 75 74 69 6f 6e 0a 2d  |mand execution.-|
000031b0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
000031c0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 0a 0a 46 72  |------------..Fr|
000031d0  61 63 54 72 61 63 65 20  61 6c 73 6f 20 61 6c 6c  |acTrace also all|
000031e0  6f 77 73 20 63 6f 6e 64  69 74 69 6f 6e 61 6c 20  |ows conditional |
000031f0  65 78 65 63 75 74 69 6f  6e 20 6f 66 20 63 6f 6d  |execution of com|
00003200  6d 61 6e 64 73 20 77 69  74 68 20 74 68 65 20 27  |mands with the '|
00003210  69 66 20 2e 2e 20 65 6c  73 65 0a 2e 2e 20 65 6e  |if .. else... en|
00003220  64 69 66 27 20 63 6f 6e  73 74 72 75 63 74 21 0a  |dif' construct!.|
00003230  54 68 65 20 75 73 65 20  6f 66 20 74 68 69 73 20  |The use of this |
00003240  63 6f 6e 73 74 72 75 63  74 20 69 73 20 61 73 20  |construct is as |
00003250  66 6f 6c 6c 6f 77 73 3a  0a 0a 20 20 20 20 20 20  |follows:..      |
00003260  69 66 20 65 78 70 72 65  73 73 69 6f 6e 0a 20 20  |if expression.  |
00003270  20 20 20 20 20 63 6f 6d  6d 61 6e 64 73 0a 20 20  |     commands.  |
00003280  20 20 20 20 20 20 20 20  2e 0a 20 20 20 20 20 20  |        ..      |
00003290  20 20 20 20 2e 0a 20 20  20 20 20 20 65 6c 73 65  |    ..      else|
000032a0  0a 20 20 20 20 20 20 20  63 6f 6d 6d 61 6e 64 73  |.       commands|
000032b0  0a 20 20 20 20 20 20 20  20 20 20 2e 0a 20 20 20  |.          ..   |
000032c0  20 20 20 20 20 20 20 2e  0a 20 20 20 20 20 20 65  |       ..      e|
000032d0  6e 64 69 66 0a 0a 57 68  65 72 65 20 27 65 78 70  |ndif..Where 'exp|
000032e0  72 65 73 73 69 6f 6e 27  20 69 73 20 61 67 61 69  |ression' is agai|
000032f0  6e 20 61 6e 79 20 6c 65  67 61 6c 20 42 41 53 49  |n any legal BASI|
00003300  43 20 56 20 65 78 70 72  65 73 73 69 6f 6e 20 65  |C V expression e|
00003310  76 61 6c 75 61 74 69 6e  67 20 74 6f 20 54 52 55  |valuating to TRU|
00003320  45 0a 6f 72 20 46 41 4c  53 45 2c 20 65 67 2e 20  |E.or FALSE, eg. |
00003330  27 66 72 61 6d 65 2b 34  20 3c 20 66 72 61 6d 65  |'frame+4 < frame|
00003340  73 27 20 6f 72 20 27 78  73 74 65 70 20 3e 3d 20  |s' or 'xstep >= |
00003350  73 74 65 70 73 69 7a 65  2b 30 2e 32 27 2e 0a 45  |stepsize+0.2'..E|
00003360  61 63 68 20 6f 70 65 6e  69 6e 67 20 27 69 66 27  |ach opening 'if'|
00003370  20 6d 75 73 74 20 68 61  76 65 20 61 20 63 6c 6f  | must have a clo|
00003380  73 69 6e 67 20 27 65 6e  64 69 66 27 2c 20 61 6e  |sing 'endif', an|
00003390  20 27 65 6c 73 65 27 20  69 73 20 6f 70 74 69 6f  | 'else' is optio|
000033a0  6e 61 6c 2e 0a 54 68 65  20 27 69 66 20 2e 2e 20  |nal..The 'if .. |
000033b0  65 6c 73 65 20 2e 2e 20  65 6e 64 69 66 27 20 63  |else .. endif' c|
000033c0  6f 6e 73 74 72 75 63 74  73 20 6d 61 79 20 62 65  |onstructs may be|
000033d0  20 6e 65 73 74 65 64 20  75 70 20 74 6f 20 33 32  | nested up to 32|
000033e0  20 6c 65 76 65 6c 73 20  64 65 65 70 21 0a 0a 0a  | levels deep!...|
000033f0  52 65 70 65 61 74 65 64  20 63 6f 6d 6d 61 6e 64  |Repeated command|
00003400  20 65 78 65 63 75 74 69  6f 6e 0a 2d 2d 2d 2d 2d  | execution.-----|
00003410  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00003420  2d 2d 2d 2d 2d 0a 0a 61  29 20 54 68 65 20 66 69  |-----..a) The fi|
00003430  72 73 74 20 6c 6f 6f 70  2d 63 6f 6e 73 74 72 75  |rst loop-constru|
00003440  63 74 20 61 6c 6c 6f 77  65 64 20 69 6e 20 46 72  |ct allowed in Fr|
00003450  61 63 54 72 61 63 65 20  69 73 20 27 72 65 70 65  |acTrace is 'repe|
00003460  61 74 20 2e 2e 20 75 6e  74 69 6c 27 2e 0a 20 20  |at .. until'..  |
00003470  20 49 74 20 69 73 20 75  73 65 64 20 61 73 20 66  | It is used as f|
00003480  6f 6c 6c 6f 77 73 3a 0a  0a 20 20 20 20 20 20 72  |ollows:..      r|
00003490  65 70 65 61 74 0a 20 20  20 20 20 20 20 63 6f 6d  |epeat.       com|
000034a0  6d 61 6e 64 73 0a 20 20  20 20 20 20 20 20 20 20  |mands.          |
000034b0  2e 0a 20 20 20 20 20 20  20 20 20 20 2e 0a 20 20  |..          ..  |
000034c0  20 20 20 20 75 6e 74 69  6c 20 65 78 70 72 65 73  |    until expres|
000034d0  73 69 6f 6e 0a 0a 20 20  20 57 69 74 68 20 27 65  |sion..   With 'e|
000034e0  78 70 72 65 73 73 69 6f  6e 27 20 65 76 61 6c 75  |xpression' evalu|
000034f0  61 74 69 6e 67 20 74 6f  20 54 52 55 45 20 6f 72  |ating to TRUE or|
00003500  20 46 41 4c 53 45 20 61  73 20 69 6e 20 42 41 53  | FALSE as in BAS|
00003510  49 43 20 56 2c 0a 20 20  20 65 67 2e 20 27 63 6f  |IC V,.   eg. 'co|
00003520  75 6e 74 20 3e 20 66 72  61 6d 65 73 27 2e 0a 20  |unt > frames'.. |
00003530  20 20 45 61 63 68 20 6f  70 65 6e 69 6e 67 20 27  |  Each opening '|
00003540  72 65 70 65 61 74 27 20  6d 75 73 74 20 68 61 76  |repeat' must hav|
00003550  65 20 61 20 63 6c 6f 73  69 6e 67 20 27 75 6e 74  |e a closing 'unt|
00003560  69 6c 27 2e 0a 20 20 20  54 68 65 20 27 72 65 70  |il'..   The 'rep|
00003570  65 61 74 20 2e 2e 20 75  6e 74 69 6c 27 20 63 6f  |eat .. until' co|
00003580  6e 73 74 72 75 63 74 73  20 6d 61 79 20 62 65 20  |nstructs may be |
00003590  6e 65 73 74 65 64 20 75  70 20 74 6f 20 33 32 20  |nested up to 32 |
000035a0  6c 65 76 65 6c 73 20 64  65 65 70 21 0a 0a 20 20  |levels deep!..  |
000035b0  20 20 20 20 20 20 20 20  20 20 20 20 20 0a 62 29  |             .b)|
000035c0  20 54 68 65 20 73 65 63  6f 6e 64 20 6c 6f 6f 70  | The second loop|
000035d0  2d 63 6f 6e 73 74 72 75  63 74 20 61 6c 6c 6f 77  |-construct allow|
000035e0  65 64 20 69 6e 20 46 72  61 63 54 72 61 63 65 20  |ed in FracTrace |
000035f0  69 73 20 27 66 6f 72 20  2e 2e 20 65 6e 64 66 6f  |is 'for .. endfo|
00003600  72 27 2e 0a 20 20 20 49  74 20 69 73 20 75 73 65  |r'..   It is use|
00003610  64 20 61 73 20 66 6f 6c  6c 6f 77 73 3a 0a 0a 20  |d as follows:.. |
00003620  20 20 20 20 20 66 6f 72  20 76 61 72 69 61 62 6c  |     for variabl|
00003630  65 3d 73 74 61 72 74 20  74 6f 20 65 6e 64 20 62  |e=start to end b|
00003640  79 20 73 74 65 70 0a 20  20 20 20 20 20 20 63 6f  |y step.       co|
00003650  6d 6d 61 6e 64 73 0a 20  20 20 20 20 20 20 20 20  |mmands.         |
00003660  20 2e 0a 20 20 20 20 20  20 20 20 20 20 2e 0a 20  | ..          .. |
00003670  20 20 20 20 20 65 6e 64  66 6f 72 0a 0a 20 20 20  |     endfor..   |
00003680  57 69 74 68 20 27 73 74  61 72 74 27 2c 20 27 65  |With 'start', 'e|
00003690  6e 64 27 20 61 6e 64 20  27 73 74 65 70 27 20 6c  |nd' and 'step' l|
000036a0  65 67 61 6c 20 42 41 53  49 43 20 56 20 65 78 70  |egal BASIC V exp|
000036b0  72 65 73 73 69 6f 6e 73  20 65 76 61 6c 75 61 74  |ressions evaluat|
000036c0  69 6e 67 20 74 6f 20 61  0a 20 20 20 72 65 61 6c  |ing to a.   real|
000036d0  20 6e 75 6d 62 65 72 2c  20 65 67 2e 20 27 66 6f  | number, eg. 'fo|
000036e0  72 20 63 6e 74 3d 2d 33  20 74 6f 20 6d 61 78 20  |r cnt=-3 to max |
000036f0  62 79 20 32 27 20 6f 72  20 27 66 6f 72 20 73 69  |by 2' or 'for si|
00003700  7a 65 3d 32 20 74 6f 20  31 20 62 79 20 2d 30 2e  |ze=2 to 1 by -0.|
00003710  31 27 2c 0a 20 20 20 61  6e 64 20 27 76 61 72 69  |1',.   and 'vari|
00003720  61 62 6c 65 27 20 74 68  65 20 6e 61 6d 65 20 6f  |able' the name o|
00003730  66 20 61 20 75 73 65 72  2d 76 61 72 69 61 62 6c  |f a user-variabl|
00003740  65 2e 0a 20 20 20 45 61  63 68 20 6f 70 65 6e 69  |e..   Each openi|
00003750  6e 67 20 27 66 6f 72 27  20 6d 75 73 74 20 68 61  |ng 'for' must ha|
00003760  76 65 20 61 20 63 6c 6f  73 69 6e 67 20 27 65 6e  |ve a closing 'en|
00003770  64 66 6f 72 27 2e 0a 20  20 20 54 68 65 20 27 66  |dfor'..   The 'f|
00003780  6f 72 20 2e 2e 20 65 6e  64 66 6f 72 27 20 63 6f  |or .. endfor' co|
00003790  6e 73 74 72 75 63 74 73  20 6d 61 79 20 62 65 20  |nstructs may be |
000037a0  6e 65 73 74 65 64 20 75  70 20 74 6f 20 33 32 20  |nested up to 32 |
000037b0  6c 65 76 65 6c 73 20 64  65 65 70 21 0a 0a 0a 45  |levels deep!...E|
000037c0  78 65 63 75 74 69 6f 6e  20 6f 66 20 73 75 62 72  |xecution of subr|
000037d0  6f 75 74 69 6e 65 73 0a  2d 2d 2d 2d 2d 2d 2d 2d  |outines.--------|
000037e0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
000037f0  0a 0a 41 20 6c 61 73 74  20 66 65 61 74 75 72 65  |..A last feature|
00003800  20 6f 66 20 46 72 61 63  54 72 61 63 65 20 69 73  | of FracTrace is|
00003810  20 74 68 65 20 61 62 69  6c 69 74 79 20 74 6f 20  | the ability to |
00003820  65 78 65 63 75 74 65 20  73 75 62 72 6f 75 74 69  |execute subrouti|
00003830  6e 65 73 2e 0a 45 61 63  68 20 28 70 61 72 74 20  |nes..Each (part |
00003840  6f 66 20 61 29 20 73 75  62 72 6f 75 74 69 6e 65  |of a) subroutine|
00003850  20 69 73 20 6d 61 72 6b  65 64 20 77 69 74 68 20  | is marked with |
00003860  61 20 6c 61 62 65 6c 2c  20 74 68 69 73 20 6c 61  |a label, this la|
00003870  62 65 6c 20 69 73 20 61  20 77 6f 72 64 0a 70 72  |bel is a word.pr|
00003880  65 63 65 64 65 64 20 62  79 20 61 20 64 6f 74 20  |eceded by a dot |
00003890  27 2e 27 2c 20 65 67 2e  20 27 2e 72 6f 75 74 69  |'.', eg. '.routi|
000038a0  6e 65 31 27 2e 0a 53 75  63 68 20 73 75 62 72 6f  |ne1'..Such subro|
000038b0  75 74 69 6e 65 73 20 61  72 65 20 63 61 6c 6c 65  |utines are calle|
000038c0  64 20 69 6e 20 74 68 65  20 66 6f 6c 6c 6f 77 69  |d in the followi|
000038d0  6e 67 20 77 61 79 3a 0a  0a 20 20 20 20 20 20 63  |ng way:..      c|
000038e0  6f 6d 6d 61 6e 64 73 20  20 20 20 20 20 20 20 20  |ommands         |
000038f0  20 20 20 20 5c 0a 20 20  20 20 20 20 20 20 20 2e  |    \.         .|
00003900  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003910  20 20 5c 0a 20 20 20 20  20 20 20 20 20 2e 20 20  |  \.         .  |
00003920  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003930  20 5c 0a 20 20 20 20 20  20 63 61 6c 6c 20 6c 61  | \.      call la|
00003940  62 65 6c 6e 61 6d 65 20  20 20 20 20 20 20 20 20  |belname         |
00003950  20 3e 20 6d 61 69 6e 20  70 72 6f 67 72 61 6d 0a  | > main program.|
00003960  20 20 20 20 20 20 20 20  20 2e 20 20 20 20 20 20  |         .      |
00003970  20 20 20 20 20 20 20 20  20 20 20 20 20 2f 0a 20  |             /. |
00003980  20 20 20 20 20 20 20 20  2e 20 20 20 20 20 20 20  |        .       |
00003990  20 20 20 20 20 20 20 20  20 20 20 2f 0a 20 20 20  |           /.   |
000039a0  20 20 20 73 74 6f 70 20  20 20 20 20 20 20 20 20  |   stop         |
000039b0  20 20 20 20 20 20 20 20  2f 0a 0a 20 20 20 20 20  |        /..     |
000039c0  20 2e 6c 61 62 65 6c 6e  61 6d 65 20 20 20 20 20  | .labelname     |
000039d0  20 20 20 20 20 20 20 5c  0a 20 20 20 20 20 20 20  |       \.       |
000039e0  63 6f 6d 6d 61 6e 64 73  20 20 20 20 20 20 20 20  |commands        |
000039f0  20 20 20 20 20 20 5c 0a  20 20 20 20 20 20 20 20  |      \.        |
00003a00  20 20 2e 20 20 20 20 20  20 20 20 20 20 20 20 20  |  .             |
00003a10  20 20 20 20 20 20 3e 20  73 75 62 72 6f 75 74 69  |      > subrouti|
00003a20  6e 65 20 27 6c 61 62 65  6c 6e 61 6d 65 27 0a 20  |ne 'labelname'. |
00003a30  20 20 20 20 20 20 20 20  20 2e 20 20 20 20 20 20  |         .      |
00003a40  20 20 20 20 20 20 20 20  20 20 20 20 2f 0a 20 20  |            /.  |
00003a50  20 20 20 20 20 72 65 74  75 72 6e 20 20 20 20 20  |     return     |
00003a60  20 20 20 20 20 20 20 20  20 20 2f 0a 20 20 20 20  |          /.    |
00003a70  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003a80  20 20 20 20 20 20 20 20  20 20 20 20 0a 41 73 20  |            .As |
00003a90  79 6f 75 20 63 61 6e 20  73 65 65 2c 20 65 78 65  |you can see, exe|
00003aa0  63 75 74 69 6f 6e 20 6f  66 20 61 20 73 75 62 72  |cution of a subr|
00003ab0  6f 75 74 69 6e 65 20 69  73 20 73 74 61 72 74 65  |outine is starte|
00003ac0  64 20 77 69 74 68 20 61  20 27 63 61 6c 6c 27 20  |d with a 'call' |
00003ad0  63 6f 6d 6d 61 6e 64 2c  0a 61 6e 64 20 65 6e 64  |command,.and end|
00003ae0  73 20 77 69 74 68 20 61  20 27 72 65 74 75 72 6e  |s with a 'return|
00003af0  27 20 63 6f 6d 6d 61 6e  64 2e 20 54 68 65 72 65  |' command. There|
00003b00  66 6f 72 65 2c 20 65 61  63 68 20 27 63 61 6c 6c  |fore, each 'call|
00003b10  27 20 4d 55 53 54 20 68  61 76 65 20 61 0a 27 72  |' MUST have a.'r|
00003b20  65 74 75 72 6e 27 21 21  21 0a 54 68 65 20 73 75  |eturn'!!!.The su|
00003b30  62 72 6f 75 74 69 6e 65  2d 63 61 6c 6c 73 20 69  |broutine-calls i|
00003b40  65 2e 20 27 63 61 6c 6c  20 2e 2e 20 72 65 74 75  |e. 'call .. retu|
00003b50  72 6e 27 20 6d 61 79 20  62 65 20 6e 65 73 74 65  |rn' may be neste|
00003b60  64 20 75 70 20 74 6f 20  33 32 20 6c 65 76 65 6c  |d up to 32 level|
00003b70  73 0a 64 65 65 70 2e 20  28 54 68 61 74 20 69 6e  |s.deep. (That in|
00003b80  63 6c 75 64 65 73 20 72  65 63 75 72 73 69 6f 6e  |cludes recursion|
00003b90  21 29 0a 0a 0a 57 72 69  74 69 6e 67 20 70 72 6f  |!)...Writing pro|
00003ba0  67 72 61 6d 73 0a 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |grams.----------|
00003bb0  2d 2d 2d 2d 2d 2d 0a 0a  59 6f 75 20 77 69 6c 6c  |------..You will|
00003bc0  20 63 65 72 74 61 69 6e  6c 79 20 68 61 76 65 20  | certainly have |
00003bd0  6e 6f 74 69 63 65 64 20  66 72 6f 6d 20 74 68 65  |noticed from the|
00003be0  20 6c 61 73 74 20 74 68  72 65 65 20 70 61 72 61  | last three para|
00003bf0  67 72 61 70 68 73 20 74  68 61 74 20 69 74 20 69  |graphs that it i|
00003c00  73 0a 70 6f 73 73 69 62  6c 65 20 74 6f 20 62 75  |s.possible to bu|
00003c10  69 6c 64 20 73 6d 61 6c  6c 20 70 72 6f 67 72 61  |ild small progra|
00003c20  6d 73 20 75 73 69 6e 67  20 74 68 65 20 63 6f 6e  |ms using the con|
00003c30  74 72 6f 6c 20 63 6f 6e  73 74 72 75 63 74 73 20  |trol constructs |
00003c40  61 6e 64 20 76 61 72 69  61 62 6c 65 73 0a 70 72  |and variables.pr|
00003c50  6f 76 69 64 65 64 20 62  79 20 46 72 61 63 54 72  |ovided by FracTr|
00003c60  61 63 65 2e 20 54 68 65  73 65 20 70 72 6f 67 72  |ace. These progr|
00003c70  61 6d 73 20 64 6f 6e 27  74 20 68 61 76 65 20 74  |ams don't have t|
00003c80  6f 20 64 65 66 69 6e 65  20 61 20 66 72 61 63 74  |o define a fract|
00003c90  61 6c 20 73 75 72 66 61  63 65 0a 28 74 68 65 79  |al surface.(they|
00003ca0  20 6d 61 79 20 64 6f 21  29 2c 20 74 68 65 79 20  | may do!), they |
00003cb0  63 61 6e 20 61 6c 73 6f  20 62 65 20 75 73 65 64  |can also be used|
00003cc0  20 74 6f 20 73 6f 6c 76  65 20 77 68 61 74 65 76  | to solve whatev|
00003cd0  65 72 20 2d 20 73 6d 61  6c 6c 20 2d 20 70 72 6f  |er - small - pro|
00003ce0  62 6c 65 6d 21 0a 54 68  65 20 46 54 53 20 66 69  |blem!.The FTS fi|
00003cf0  6c 65 73 20 27 46 61 63  74 6f 72 69 61 6c 27 2c  |les 'Factorial',|
00003d00  20 27 46 69 62 6f 6e 61  63 63 69 27 2c 20 27 53  | 'Fibonacci', 'S|
00003d10  75 6d 35 30 27 20 61 6e  64 20 27 4d 61 6e 64 65  |um50' and 'Mande|
00003d20  6c 50 6f 74 27 20 61 72  65 20 73 6f 6d 65 0a 65  |lPot' are some.e|
00003d30  78 61 6d 70 6c 65 73 20  6f 66 20 73 75 63 68 20  |xamples of such |
00003d40  73 6d 61 6c 6c 20 70 72  6f 67 72 61 6d 73 2e 0a  |small programs..|
00003d50  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00003d60  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00003d80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 43  |               C|
00003d90  61 72 6c 20 44 65 63 6c  65 72 63 6b 2e 0a        |arl Declerck..|
00003d9e