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