home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 5 / DATAFILE_PDCD5.iso / utilities / f / fractal112 / !Fractal / Help / Scripts < prev    next >
Text File  |  1995-09-05  |  13KB  |  300 lines

  1. Fractal Scripts
  2. ===============
  3. The script facility allows !Fractal to be driven by command scripts rather
  4. than from the screen. This facility is provided to allow:
  5.  
  6. a) Batch running, useful for functions that take a long time to plot.
  7.    Multiple plots are allowed and the images can be saved.
  8. b) Creating composite fractals, such as Fault shapes or multiple L-systems. 
  9. c) Creating a fractal followed by 1 or more 3d transforms.
  10.  
  11. Essentially the script language simulates accessing !Fractal from its menus
  12. and panels, so you get full access to its functionality. Scripts are text
  13. files created in !Edit or any other editor. They feature simple expression
  14. evaluation, variables and screen plotting. They provide a means for creating
  15. complex images from multiple fractals.
  16.  
  17. Several scripts are provided in the Resources directory (use Misc->Resources
  18. from the menu to open), and should help to illustrate the syntax and
  19. capabilities. 
  20.  
  21. Running Scripts
  22. ===============
  23. Scripts are run by dragging the file onto a !Fractal window or its iconbar
  24. icon. Scripts will normally specify the fractal function they require. A
  25. script may be terminated by clicking Adjust. Any error messages (syntax or
  26. otherwise) are written to the file ScriptLog in the Resources directory. To
  27. syntax check a long script just comment out all the Draw commands and run
  28. it.
  29.  
  30. Sprite images are very large, so to perform a long run saving the images as
  31. you go, save the images in GIF format or use an ArcFS or Compression
  32. pathname, since sprites compress very well. This should allow 20+ Mode 15
  33. images per 800k floppy.
  34.  
  35. To superimpose fractal images use the command:-
  36.   Off Image,Redraw,Clear
  37. For images plotted using the x/y pixel mapping, X/Y Guessing must also be
  38. turned off unless the x/y image is plotted first. This is because the
  39. guessing algorithm looks at the colours already plotted to see if subsequent
  40. pixels need plotting.
  41.  
  42. Script Syntax
  43. =============
  44. Essentially the syntax is free format with punctuation necessary only to
  45. avoid ambiguity. The first line of the text must be the characters "Script".
  46. Follow these syntax guidelines:
  47.  
  48. a) Multiple commands are allowed on the same line, except for comments where
  49. the rest of the line is ignored. Use a semi-colon (;) to separate each
  50. command.
  51.  
  52. b) Case of commands and variables is not significant.
  53.  
  54. c) Commands and keywords may be truncated to the most significant
  55. characters. Variable names must be given in full.
  56.  
  57. d) Spaces are ignored except where significant, as in menu item names and
  58. data names.
  59.  
  60. e) Equals (=) may be used to seperate keywords and data values.
  61.  
  62. f) Use commas (,) to seperate multiple items for a command (eg. Data or Select).
  63.  
  64. Command Summary
  65. ===============
  66. Note: Refer to the main help files for permissable values for data items.
  67. Square breakets [] indicate optional items, a vertical bar | is a choice
  68. between values, exp an expression (explained later) and str_exp a string
  69. expression.
  70.  
  71. \ Comment                  All text until end of line is ignored.
  72. 3d_Elevation  exp          Sets the 3d elevation to angle in degrees.
  73. 3d_InvLog                  Sets the 3d Inverse Log mapping.
  74. 3d_Log                     Sets the 3d Log mapping.
  75. 3d_Linear                  Sets the 3d Linear mapping.
  76. 3d_Max  exp                Sets the 3d maximum height value.
  77. 3d_Min  exp                Sets the 3d minimum height value.
  78. 3d_Riemann  On | Off       Sets the 3d Riemann Plot on or off. 
  79. 3d_Rotation exp            Sets the 3d rotation to angle in degrees.
  80. 3d_Scalar  exp             Sets the 3d height mapping scalar.
  81. 3d_XY_Plot  On | Off       Sets the 3d X/Y Plot on or off.
  82. CellFill exp,exp           Invokes the CellFill function starting at x/y.
  83. Clear                      Clears the image.
  84. Colour exp1 [,exp2]        Like GCOL except sets the physical colour.
  85. Draw                       Plot the current function.
  86. Data item=exp [,...]       Set one or more data items, name as in data panel.
  87. Fractal=function name      Set fractal function.
  88. Gcol exp1 [,exp2]          Similar to the BASIC GCOL statement.
  89. If / Else / Endif          Script control - see later.
  90. Load str_exp               Load a sprite or resource file, but not a script.
  91. Off item1,item2,...        As Select, but sets menu item off if on.
  92. On item1,item2,...         As Select, but sets menu item on if off.
  93. Pal_Blue  exp1,exp2        Sets the level of the blue component for a colour
  94.                            number.
  95. Pal_Green exp1,exp2        Sets the level of the green component for a colour
  96.                            number.
  97. Pal_Red   exp1,exp2        Sets the level of the red component for a colour
  98.                            number.
  99. Plot exp,exp,exp           Similar to the BASIC PLOT statement.
  100. Plot_Change exp            Sets the colour change interval for point plots.
  101. Plot_Colour exp            Sets the physical colour for point plots.
  102. Plot_Random On | Off       Random colouring on/off for point plots.
  103. Plot_Step On | Off         Step colouring on/off for point plots.
  104. Plot_Stepby exp            Sets the step colour increment.
  105. Plot_Type exp              Sets the point plot style.
  106. Select item1,item2,..      Select menu item where item is name as in menu.
  107. Save_AFG=str_exp           Save image in AFG format. str_exp is filename.
  108. Save_Image=str_exp         Save image. The full pathname should be given,
  109.                            unless you set the current directory beforehand.
  110. var = exp                  Set a variable to the value of exp.
  111. While / Endwhile           Script control - see later.
  112. XY_Guessing On | Off       Sets the X/Y Guessing on or off. Turn off to allow
  113.                            x/y plot images to be superimposed.
  114.  
  115. Command Details
  116. ===============
  117.  
  118. CELLFILL exp1, exp2      exp1=x coord, exp2=y coord (in os units)
  119. --------
  120. This invokes the CellFill function starting at the given coordinates. All
  121. adjacent pixels of the same colour as the start point will be set to the
  122. CellFill colours. This allows you to flood-fill areas previously plotted. To
  123. set the fill colours switch to the CellFill function, ie.
  124.  
  125.      Fractal=CellFill     \ Selects CellFill
  126.      Data Up=45,Down=56   \ Set the colours
  127.      Fill x,y             \ Start filling at x/y
  128.  
  129. The standard cellfill function can be invoked via DRAW. See MandyGold2 and
  130. MandyGold1 scripts for the different effects between the two styles of
  131. filling.
  132.  
  133. COLOUR exp1 [,exp2]
  134. ------
  135. Sets the graphics colour in a similar way to the BASIC GCOL statement. If
  136. just exp1 is given exp1 is the colour, otherwise exp1 is the GCOL mode (see
  137. the BASIC manual), and exp2 the colour. Colour numbers are 0-255 and are the
  138. physical colour numbers, and thus map directly onto the current palette.
  139. This statement is for use with non-default palettes.
  140.  
  141. DATA item=exp [,....]
  142. ----
  143. Sets the data parameters for the current function, where item is the data
  144. name as shown in the Data display panel, including internal spaces. Multiple
  145. data names can be specified on the same line, separated by commas. Use
  146. Initial or InitZoom as item names to simulate these buttons on the data
  147. panel. For L-Systems the following extra keywords are available (they relate
  148. to the data panel) :
  149.   Angles = exp                number of angles
  150.   Axiom = string expression   eg. Axiom='F-F'
  151.   Clear_rules                 clears all rules for this L-system
  152.   Iterations = exp            number of iterations
  153.   Name = string_expression    Sets name of L-system
  154.   Rule = string expression    eg. Rule='F=XFX'
  155.          1st letter must be the rule-id, the rule string must start in col.3
  156.          Updates (if ruleid exists) or adds a new rule.
  157.  
  158. eg Data x0=34,width=n+34;
  159.  
  160. GCOL exp1 [,exp2]
  161. ----
  162. Sets the graphics colour in a similar way to the BASIC GCOL statement. If
  163. just exp1 is given exp1 is the colour, otherwise exp1 is the GCOL mode (see
  164. the BASIC manual), and exp2 the colour. Colour numbers are 0-255 and are
  165. made up of the bits BBGGRRTT where B=Blue (*64), G=Green (*16), R=Red (*4) &
  166. T=Tint bits. This format is used since it makes it easier to step through
  167. brightness levels (the BASIC format is TTBBGGRR). This mapping only works
  168. with the default palette. For other palettes use the COLOUR statement.
  169.  
  170. LOAD str_exp