home *** CD-ROM | disk | FTP | other *** search
/ Windows Shareware GOLD / NuclearComputingVol3No1.cdr / apps / f1286 / fp.doc < prev    next >
Text File  |  1991-05-11  |  46KB  |  1,206 lines

  1.              
  2.                               
  3.                               
  4.                               
  5.                               
  6.                               
  7.                 Fractal Paint User's Manual
  8.                               
  9.                               
  10.                               
  11.                               
  12.                               
  13.                               
  14.                   Copyright (c) 1990-1991
  15.                 International ComputerSmiths
  16.                      3726 West Broadway
  17.               Vancouver, B.C., Canada, V6R 2C1
  18.                     tel:  (604) 224-5242
  19.                     bbs:  (604) 224-5247
  20.                               
  21.                         Version 1.06
  22.                        May. 12, 1991
  23.                               
  24.                               
  25.  
  26. 1. Introduction to Fractal Paint
  27.  
  28.      Fractal Paint is an interactive graphics design
  29. program.  Fractal Paint can draw lines, rectangles, ellipses
  30. and text like any other drawing program.  However, Fractal
  31. Paint also lets you draw more complex images called
  32. fractals.  Before Fractal Paint, fractals were drawn out
  33. laboriously on computer screens often taking overnight to
  34. calculate.  With Fractal Paint you can create fractal shapes
  35. instantly.
  36.  
  37. - Fractal  Paint is  a tool  for artists  and scientists  to
  38.   create complex landscapes quickly.
  39.  
  40. - Fractal  Paint eliminates the tedium of computer graphics,
  41.   allowing different  levels  of  self  replication  without
  42.   manually drawing in every line.
  43.  
  44. - Fractal  Paint allows  users to  create their  own  unique
  45.   fractals.
  46.  
  47. - Fractal Paint can inspire designers of all mediums.
  48.  
  49. - Fractal  Paint is  an ideal program for producing business
  50.   cards, advertisements  and other  copy that  benefits from
  51.   eye-catching graphics.
  52.  
  53.     Fractal Paint  runs under Microsoft Windows (Version 3.0
  54. or higher)  on any  computer with  a mouse that will run MS-
  55. Windows.    Fractal  Paint  objects  can  be  exported  into
  56. Microsoft Paint as well as many other Windows-based programs
  57. through the Windows Clipboard.
  58.  
  59.     To  run   Fractal  Paint,   Microsoft  Windows  must  be
  60. installed on  your hard drive.  To install Microsoft Windows
  61. refer to  the Microsoft  Windows manual.  If you do not have
  62. Microsoft Windows,  then contact  a local  Computer Software
  63. Dealer and  purchase it.  Make sure you purchase version 3.0
  64. or higher.   If  you own  a lesser version of Windows, it is
  65. well worth your while to upgrade.
  66.  
  67.  
  68. :1.1 Installation of Fractal Paint
  69.  
  70.     To install Fractal Paint copy the files from the Program
  71. Floppy Disk to a directory on your computer's hard drive.
  72.  
  73.     For instance,  to install  Fractal Paint on the C: Drive
  74. in its  own directory  C:\FP: and to create the subdirectory
  75. type:
  76.  
  77.     C:                        - select C: drive.
  78.  
  79.     cd \                      - start at the root directory.
  80.                                Fractal Paint User's Manual/2
  81.  
  82.  
  83.     mkdir FP                  - create the FP subdirectory.
  84.  
  85.                                Fractal Paint User's Manual/3
  86.  
  87.  
  88.     Now you must copy the program files to this directory so
  89. type (this  assumes you  have just  typed what  is above and
  90. that the program floppy is in drive A:):
  91.  
  92.     cd FP                     - enter the FP subdirectory
  93.  
  94.     copy a:*.*                - copy all the files over.
  95.  
  96.     Now the  easiest way  to run Fractal Paint is to install
  97. its icon  in a  program group  in the  Program  Manager  and
  98. double click  on that  icon.  First start Microsoft Windows,
  99. and  when   in  the   Program  Manager  select  the  Windows
  100. Applications program  group as  the current  window.    Then
  101. choose File  - New  and select  program item,  then for  the
  102. program path choose C:\fp\fp.exe and choose the icon.  Refer
  103. to your  MS-Windows  manual  for  more  information  on  the
  104. Program Manager.
  105.  
  106.  
  107. :1.2 Introduction to Fractals
  108.  
  109. What is a Fractal?
  110.  
  111.  "A fractal is a curve whose Hausdorff-Besicovitch dimension
  112.      is larger than its Euclidian dimension."  Dr. Benoit B.
  113.                                                   Mandelbrot
  114.  
  115.  
  116.     Fractals are  mathematical objects  with the property of
  117. being self-similar.   Fractals  are everywhere, they are the
  118. geometric patterns  found in  nature:   in tree branches, in
  119. contours of a coast-line, in peaks of mountains, in veins on
  120. leaves, in cumulus clouds.
  121.  
  122.     Formerly called  "monsters" and "dragons" by traditional
  123. geometricians,  fractals   are  now   an  accepted  part  of
  124. geometry.    These are objects that have a similar structure
  125. when observed  at any magnification.  For instance, when you
  126. look at  a coast-line it looks similar no matter how closely
  127. you look  at (i.e.,  from 20,000  feet you  see big bays and
  128. peninsulas and  from  close  up  you  see  little  bays  and
  129. peninsulas).
  130.  
  131.     
  132.  
  133.                                Fractal Paint User's Manual/4
  134.  
  135.  
  136.  
  137. 2. The Menus
  138.  
  139.  
  140. :2.1 The File Menu
  141.  
  142. +-----+
  143. |File |
  144. +-----+-----+
  145. |New        |
  146. |Open...    |
  147. |Save       |
  148. |Save As... |
  149. +-----------+
  150. |Print...   |
  151. +-----------+
  152. |Exit       |
  153. +-----------+
  154.  
  155.  
  156.     The file menu is used to clear the current drawing, load
  157. a new  drawing, save the current drawing, print the drawing,
  158. or exit the program.
  159.  
  160.     New. . .
  161.  
  162.     Selecting  New   clears  the  current  drawing  and  all
  163. associated fractal or L-system definitions.
  164.  
  165.     Open. . .
  166.  
  167.     Selecting Open,  brings up  a dialog  box with a list of
  168. files to  choose from,  and space  to enter a different file
  169. spec or  file name.   You  can use  this dialog  box to move
  170. around directories  as well.  To choose a file select it and
  171. then press  return or  click on  OK, or  alternately  double
  172. click on the file you wish to select.
  173.  
  174.     By default  this dialog  box lists files with the ".FPL"
  175. (for Fractal Programming Language) extension.  If you want a
  176. different extension enter "*.ext" where ext is the extension
  177. you wish in the file name field and press return or click on
  178. OK.   To  traverse  directories  select  [..]  to  go  up  a
  179. directory.   Directories are  listed in  bold;  to  enter  a
  180. directory, select  it.   If you  decide you  don't  want  to
  181. choose a file click on Cancel or press the escape key.
  182.  
  183.     Save. . .
  184.  
  185.     Selecting Save  will save  your  file  with  no  further
  186. prompting if  you already  have a  file name associated with
  187. the drawing  (through Open  or Save  As).   If there  is not
  188. already a  file name  (indicated in  the title  bar  of  the
  189. program), then the Save As dialog box will be presented.
  190.  
  191.                                Fractal Paint User's Manual/5
  192.  
  193.  
  194.     Save As. . .
  195.  
  196.     Selecting Save As will bring up a dialog box that allows
  197. you to  type in  the desired  file name.  Type in the entire
  198. file name including any path information, using the standard
  199. DOS syntax  for files  and paths.   If you do not provide an
  200. extension then  a default  of ".FPL" will be used.  Click OK
  201. or press  return to  carry out  the save, or click Cancel or
  202. press escape to return to the drawing without saving.
  203.  
  204.     Print. . .
  205.  
  206.     Selecting Print  will print  the drawing to the printer.
  207. Printing can take a long time, so while the drawing is being
  208. composed for printing a dialog box is presented allowing you
  209. to cancel  the printing  process.   If you  have the spooler
  210. installed then the spooler will be given a temporary file to
  211. print.
  212.  
  213.     Exit. . .
  214.  
  215.     Selecting Exit,  terminates the  program and returns you
  216. to the MS-DOS Executive.
  217.  
  218.     If you select Open, New or Exit and the drawing has been
  219. altered without  being saved  then a  dialog box  asking you
  220. whether you  want to  save the changes or not before exiting
  221. the program will be displayed.  To Save the drawing click OK
  222. or press  return.   To exit  without saving  click on  No to
  223. return to  the drawing  without saving  or exiting  click on
  224. Cancel.
  225.  
  226.  
  227. :2.2 The Edit Menu
  228.  
  229. +-----+
  230. |Edit |
  231. +-----+------------------+
  232. |Undo         Alt+BkSp   |
  233. +------------------------+
  234. |Cut          Shift+Del  |
  235. |Copy         Ctrl+Ins   |
  236. |Paste        Shift+Ins  |
  237. |Clear        Del        |
  238. +------------------------+
  239. |Select next  F2         |
  240. |Select last  F3         |
  241. +------------------------+
  242.  
  243.     Undo. . .
  244.  
  245.     Selecting  Undo   undoes  the   last  editing  operation
  246. performed (if it can).  The Undo selection will be grayed in
  247. the menu if there is nothing to undo.
  248.  
  249.                                Fractal Paint User's Manual/6
  250.  
  251.  
  252.     Cut. . .
  253.  
  254.     Cut will  copy a  selected object  to the  clipboard and
  255. delete the  object from  the  drawing.    If  no  object  is
  256. selected then Cut will be grayed in the menu.  A object that
  257. has been cut can be pasted back into Fractal Paint or pasted
  258. into another Windows application.
  259.  
  260.     Copy. . .
  261.  
  262.     Copy will  copy  a  selected  object  to  the  clipboard
  263. without deleting  it.   If no  object has been selected then
  264. Copy will  be grayed  in the  menu.   A copied object can be
  265. pasted into  Fractal Paint  or another  Windows  application
  266. (such as Windows Paint).
  267.  
  268.     Paste. . .
  269.  
  270.     Paste will  add the  object  in  the  clipboard  to  the
  271. drawing.   If there  is nothing  in the clipboard then paste
  272. will be  grayed in  the menu.   The  data in  the  clipboard
  273. should be  a  FPL  (Fractal  Programming  Language)  program
  274. segment, such as something cut or copied from Fractal Paint
  275. however, you  can edit your own FPL code in Notepad and copy
  276. it into Fractal Paint in this manner.
  277.  
  278.     Clear. . .
  279.  
  280.     Clear deletes  the selected object without first copying
  281. it to the clipboard (Clear in no way affects the clipboard).
  282. If no  object is  selected then  Clear will be grayed in the
  283. menu.
  284.  
  285.  
  286. :2.3 The View Menu
  287.  
  288. +-----+
  289. |View |
  290. +-----+--------+
  291. |Fit in window |
  292. |Actual size   |
  293. |2 X           |
  294. |3 X           |
  295. |4 X           |
  296. +--------------+
  297. |Page...       |
  298. +--------------+
  299.  
  300.     The View menu is used to change the magnification of the
  301. drawing on the screen and adjust the page size and margins.
  302.  
  303.     Fit in Window. . .
  304.  
  305.                                Fractal Paint User's Manual/7
  306.  
  307.  
  308.     Fit in Window will cause the entire drawing to be fitted
  309. exactly into the drawing window.
  310.  
  311.                                Fractal Paint User's Manual/8
  312.  
  313.  
  314.     Actual Size. . .
  315.  
  316.     Actual size  will cause  a  display  pixel  to  equal  a
  317. logical pixel for a maximal blowup.
  318.  
  319.     2 X, 3 X and 4 X. . .
  320.  
  321.     2 X,  3 X and 4 X will magnify the drawing two, three or
  322. four times  original size  in the  drawing window.  When the
  323. drawing is  magnified, scroll  bars are added to the drawing
  324. window, so that you can scroll around the drawing.
  325.  
  326.     Page. . .
  327.  
  328.     Page brings  up a dialog box to adjust the page size and
  329. margins.
  330.  
  331.  
  332. :2.4 The Program Menu
  333.  
  334. +--------+
  335. |Program |
  336. +--------++
  337. |Edit...  |
  338. |Print... |
  339. |Run      |
  340. +---------+
  341.  
  342.     The program  dropdown menu is used to edit, print or run
  343. the FPL program that represents the drawing.
  344.  
  345.     Edit. . .
  346.  
  347.     Edit  brings  up  an  edit  window  containing  the  FPL
  348. program.   You can  move or  size the  edit window  like any
  349. other window.   When  you are  done with the edit window you
  350. can close  it from  its system  box.  Use the scroll bars to
  351. move around  the program,  type new text, or delete old text
  352. with  backspace  (remember  Del  will  clear  the  currently
  353. selected object).
  354.  
  355.     Print. . .
  356.  
  357.     Print will  print out  the FPL program in text format on
  358. the attached  printer.   If the  Windows  print  spooler  is
  359. installed, then a temporary file will be spooled.
  360.  
  361.     Run. . .
  362.  
  363.     Run runs  the FPL program.  Use this selection to redraw
  364. the screen.   If you edit the program in the edit menu, then
  365. you must  use this  to show  the changes  you  made  in  the
  366. drawing window.
  367.  
  368.                                Fractal Paint User's Manual/9
  369.  
  370.  
  371.  
  372. :2.5 The Draw Menu
  373.  
  374. +------+
  375. |Draw  |
  376. +------+-----------------------------+
  377. |Define base shape...                |
  378. |Define L-systems...                 |
  379. +------------------------------------+
  380. |Edit text and text type...   Ctrl+T |
  381. |Line style...                Ctrl+L |
  382. |Patterns...                  Ctrl+P |
  383. +------------------------------------+
  384.  
  385.     This dropdown menu allows you to define and edit fractal
  386. definitions as  well as alter or edit text, fill patterns or
  387. line styles.
  388.  
  389.     Define Base Shape. . .
  390.  
  391.     The Define Base Shape item allows you to define the base
  392. shape of your fractal:
  393.  
  394.     The Base  Shape is what starts the fractal.  It is shown
  395. in the tool box for you to select when you draw the fractal.
  396. The Base  Shape is  what you  get if you draw the fractal at
  397. level 1  (set by  the Options  menu fractal dialog box).  At
  398. level 2 each line segment of the Base Shape is replaced with
  399. a copy  of the Base Shape.  At level 3, each line segment of
  400. the level  2 drawing is replaced by the Base Shape.  This is
  401. the fractal process.
  402.  
  403.     To define a fractal Base Shape with this dialog box, you
  404. draw the  base shape  by moving  a little  turtle around  (a
  405. pointing icon).   You move this turtle forward and backwards
  406. with the  Forward: +  and -  buttons.   You turn  the turtle
  407. using the  Turn +  and - buttons.  The turn increment can be
  408. altered from  the Options  menu in  the fractal  dialog box.
  409. Normally you draw with the pen down, however you can put the
  410. pen up  to draw  discontinuous fractals like a mainland with
  411. islands.   As you  draw the Base Shape it will appear in the
  412. drawing area on the right-hand side of the dialog box.
  413.  
  414.     When you  click on  OK (or press return) the new fractal
  415. Base Shape  will appear in the tool box allowing you to draw
  416. this fractal  at any  level in the drawing area.  A computer
  417. generated name  for this  fractal also  appears in  the tool
  418. menu.   Clicking on  Cancel or  pressing the escape key will
  419. exit the  dialog box  discarding any  drawing you  may  have
  420. done.
  421.  
  422.     Define L-systems. . .
  423.  
  424.                               Fractal Paint User's Manual/10
  425.  
  426.  
  427.     L-systems  are   a  generalization  of  the  Base  Shape
  428. definitions.   They define a fractal by a number of symbolic
  429. equations (called  production rules)  and an  axiom to  draw
  430. them.  This dialog box allows you to edit existing L-systems
  431. and create  new ones.   You  can also  evolve  L-systems  by
  432. creating a  number of child systems obtained from the parent
  433. system by random perturbation.
  434.  
  435.     To edit  an existing  L-system select it in the list box
  436. of current  L-systems and  click on  the Load button to load
  437. its production  rules, axiom, name and angle into the dialog
  438. box.   To save  an L-system make sure the Name field is what
  439. you want  (a new  name for  a new  L-system, an  old name to
  440. replace an old L-system) and click on the OK button or press
  441. Enter.   To disregard  any changes  and exit with a click on
  442. the Cancel button or press escape.
  443.  
  444.     L-systems, or  string rewriting  systems, are algorithms
  445. that produce  character strings  which  are  interpreted  as
  446. curves and  pictures.   L-systems provide  an elegant way to
  447. generate the  classic fractal  curves such  as the  von Koch
  448. snowflake, von Koch islands, Hilbert and Peano space-filling
  449. curves and branching patterns such as trees and bushes.
  450.  
  451.     Fractal Paint Turtle
  452.  
  453.     In the  course  of  the  algorithm,  a  long  string  of
  454. characters is  generated.   Fractal Paint  has a more direct
  455. and efficient  way of  rendering these curves; however, this
  456. is more  instructive.   The characters  are letters  of  the
  457. alphabet or  special characters  such as '+', '-', '[', ']',
  458. '/', etc.   Such  a string  corresponds to  a picture.   The
  459. correspondence is  established via a turtle which interprets
  460. the characters  sequentially as basic commands such as "move
  461. forward", "turn left", "turn right", etc.
  462.  
  463.     The main  ingredient of  the method is the algorithm for
  464. string generation.   A first string of only a few characters
  465. must be given.  It is called the axiom.  Then each character
  466. in the  axiom is  replaced by a string taken from a table of
  467. production rules.  This substitution procedure is repeated a
  468. prescribed number of times according to the fractal level to
  469. produce the end result.
  470.  
  471.     In order  to specify a complex curve or tree, only a few
  472. production rules  will suffice.   The  axiom along  with the
  473. production rules  may be regarded as the genes which control
  474. the "growth"  of the object.  This information is very small
  475. as compared to the complexity of the resulting picture.  The
  476. challenge  is   to  find  the  axiom  and  production  rules
  477. necessary to  produce a given object or an object with given
  478. properties.   This is  a  topic  of  current  research,  but
  479. methods do exist, such as evolution.
  480.  
  481.                               Fractal Paint User's Manual/11
  482.  
  483.  
  484.     As an  introductory example, let's consider the von Koch
  485. snowflake curve.  Consider a turtle that obeys the following
  486. commands: 'F' draw a line forward, '+' turn right by 60° and
  487. '-' turn  left by  60°.   We start  out with a straight line
  488. denoted by "F".  This is the axiom of the von Koch snowflake
  489. curve.
  490.  
  491.     In stage  1, the  line is  replaced by a line forward, a
  492. left turn,  a line, two right turns (for a total of 120°), a
  493. line, a  left turn  and  another  line.    In  the  turtle's
  494. language this  can be  written  as  the  string  "F-F++F-F".
  495. Subsequently, each  line symbolized  by the  character 'F',
  496. again has to be replaced by the string "F-F++F-F".  Thus, in
  497. stage 2  we have  the string "F-F++F-F-F-F++F-F++F-F++F-F-F-
  498. F++F-F" and so forth.
  499.  
  500.     In summary,  we have that when proceeding from one stage
  501. to the  next we  must replace  a character 'F' by the string
  502. "F-F++F-F", while  the characters '+' and '-' are preserved.
  503. Thus, the L-system consists of the axiom "F", the production
  504. rules:   "F ->  F-F++F-F", "+  -> +", "- -> -" and angle 60.
  505. Generally if  a production  rule is not listed it is assumed
  506. to be the identity mapping such as "+ -> +".
  507.  
  508.     The turtle commands that Fractal Paint uses are:
  509.  
  510.     'F': move  forward in  the present  direction and draw a
  511. line.
  512.     'G': move  forward  in  the  present  direction  without
  513. drawing a line.
  514.     '+': turn left by the given angle.
  515.     '-': turn right by the given angle.
  516.     '|': turn back (turn by 180°).
  517.     '[': save the state of the turtle on the stack.
  518.     ']': restore the state of the turtle from the top of the
  519. stack.
  520.     '/': divide the drawing line length by 2.
  521.     '!': reverse the meaning of + and -.
  522.     '@nnn': multiply  line length  by nnn  where  nnn  is  a
  523.         decimal number  such  as  2.323,  'I'  and  'Q'  can
  524.         precede the number, 'I' meaning take its inverse and
  525.         'Q' meaning take its square root.
  526.     'Cnnn': set  color to  nnn where nnn is a 24 bit windows
  527.         RGB color. (i.e. the low order byte is how much red,
  528.         the next byte is how much green and the next byte is
  529.         how much blue.
  530.     '>nnn': increase the color by nnn.
  531.     '<nnn': decrease the color by nnn.
  532.  
  533.     Any other symbols are ignored by the turtle in the final
  534. rendering, but  are still  important  for  constructing  the
  535. drawing path.
  536.  
  537.                               Fractal Paint User's Manual/12
  538.  
  539.  
  540.     Note for  the color's used 0 is black, FFFFFFH is white,
  541. FFH is red, FF00H is green FF0000H is blue.  You can use the
  542. Windows  Calculator  accessory  to  convert  hex  values  to
  543. decimal to  use in  your fractal definition.  (The L-systems
  544. interpreter does not under stand hex values.)
  545.  
  546.     Evolve
  547.  
  548.     When you  click on  the Evolve button, then a dialog box
  549. pops up which draws the current L-system, at a fractal level
  550. set by  the Evolve  Level field,  and seven child L-systems.
  551. The child  systems are derived from the parent (original) L-
  552. system by  randomly altering  its axiom, production rules or
  553. angle.
  554.  
  555.     From this  dialog box you can choose one of the child L-
  556. systems to  replace the parent, or choose the parent to stay
  557. the same.   By  choosing the  L-system that looks  most like
  558. the way  you want it and iterating this process, you can use
  559. evolution or  controlled selection  to construct an L-system
  560. that has  the properties  that you desire.  You can also use
  561. this feature  to generate  variations on  a theme,  such  as
  562. drawing a forest of similar but not identical trees.
  563.  
  564.     Edit Text & Text Style. . .
  565.  
  566.     Selecting edit  text and  text style  brings up the text
  567. dialog box.   With  this dialog box you can Edit Text in the
  568. drawing window  as well as the Text Style.  You can also set
  569. the Text  Style for  future text  and enter new text for the
  570. drawing window.   If  some text  is selected when you invoke
  571. this dialog  box, then  that text  will be  displayed in the
  572. Enter text  field and  can be  edited there.   Also the Text
  573. Style characteristics  will be  displayed and  can  also  be
  574. edited.
  575.  
  576.     Text height  is the  height of  the text  in points, the
  577. text width  is the  width of  each character  in points,  if
  578. width is  0 then  the character  width will  be whatever  is
  579. appropriate for this character height.  In Character Format,
  580. weight is a number between 0 and 1000 and refers to how bold
  581. the character should be, 900 is bold and 0 is normal.
  582.  
  583.     The Font Name list box lists all available printer fonts
  584. and screen  fonts.  For the printer fonts to be correct, the
  585. correct printer  must  be  installed  by  Windows  (see  the
  586. Windows manual on how to do this).
  587.  
  588.     The Background  field determines  if each character will
  589. erase a  little square  around it, or if the background will
  590. be visible through the character.
  591.  
  592.     Color sets  the Text Color and Background Color sets the
  593. color of  the little rectangle drawn around the character in
  594.  
  595.                               Fractal Paint User's Manual/13
  596.  
  597.  
  598. White Out  background mode.   Note that not all combinations
  599. of Color  and Background Color produce visible text.  If you
  600. have a  color monitor  then the  color will be displayed, if
  601. you have  a monochrome display then you are limited to black
  602. or white, and the same goes for the printer depending on its
  603. color capability.
  604.  
  605.     A sample  of how  the text  will look  on the  screen is
  606. presented on  the bottom of the dialog box.  Windows can not
  607. accurately display  printer fonts on the screen, but will do
  608. the best it can.
  609.  
  610.     Line Style. . .
  611.  
  612.     The line style selection brings up the line style dialog
  613. box.   This dialog  box allows you to change the line width,
  614. color and style for the selected object and for future drawn
  615. objects.   You select  the color by using the scroll bars to
  616. select the composition out of red, blue and green.  A sample
  617. of the  line is  provided to  help you  choose.  Click OK or
  618. press Return  to make  the change,  or click Cancel or press
  619. escape to quit without making any changes.
  620.  
  621.     Patterns. . .
  622.  
  623.     The Patterns  item brings  up the  patterns  dialog  box
  624. This dialog  box allows  you to  change  the  pattern  of  a
  625. selected rectangle,  rounded rectangle or ellipse as well as
  626. set it  for all  future rectangles,  rounded rectangles  and
  627. ellipses.   Click OK  or press Return to make the change, or
  628. click Cancel  or press  Escape to  return without making any
  629. changes.
  630.  
  631.                               Fractal Paint User's Manual/14
  632.  
  633.  
  634.  
  635. :2.6 The Tools Menu
  636.  
  637. +-------+
  638. | Tools |
  639. +-------+-----------+
  640. | Selection         |
  641. | Text              |
  642. | Line              |
  643. | Rectangle         |
  644. | Rounded Rectangle |
  645. | Ellipse           |
  646. | F1                |
  647. | F2                |
  648. | LSYS1             |
  649. | LSYS2             |
  650. +-------------------+
  651.  
  652.     This menu  provides an  alternative to  using the  Tools
  653. box.   If you  maximize the drawing window, then the toolbox
  654. becomes inaccessible and this provides an alternative method
  655. of selecting  tools.   A check  mark  appears  next  to  the
  656. selected tool.
  657.  
  658.  
  659. :2.7 The Options Menu
  660.           
  661. +--------+
  662. |Options |
  663. +--------+----+
  664. |Show toolbox |
  665. |Rulers       |
  666. +-------------+
  667. |Fractal...   |
  668. +-------------+
  669.  
  670.     This dropdown  menu  lets  you  set  some  miscellaneous
  671. options.
  672.  
  673.     Show toolbox. . .
  674.  
  675.     Show toolbox  will recreate  the toolbox  window if  you
  676. previously closed  it from  its system menu.  If the toolbox
  677. is displayed then this menu item is grayed.
  678.  
  679.     Rulers. . .
  680.  
  681.     Rulers will  display rulers  along the top and left side
  682. of the  drawing window.   This  is  to  aid  in  positioning
  683. objects on  the page.  To remove the rulers then select this
  684. item again.
  685.  
  686.     Fractal. . .
  687.  
  688.                               Fractal Paint User's Manual/15
  689.  
  690.  
  691.     When you  select the  Fractal item from the Options drop
  692. down menu,  you can  select a  number of options that affect
  693. drawing in other parts of the program.
  694.  
  695.     The first  set of  buttons let  you select  the  fractal
  696. level that will be used when drawing any future fractals.
  697.  
  698.     The turn increment box lets you enter the turn increment
  699. that will be used when you press the '+' or '-' turn buttons
  700. in the Define Base Shape dialog box.
  701.  
  702.     The next  check box  select whether  Fractal Paint  will
  703. automatically redraw  the screen  whenever  required.    You
  704. might want  to turn off this automatic redrawing if you have
  705. a drawing  that requires  a long  time to redraw and you are
  706. doing a lot of switching between windows.
  707.  
  708.  
  709. :2.8 Help
  710.  
  711.     To get  Help click on the Help menu item or press the F1
  712. key.  Help is a separate program to Fractal Paint that comes
  713. with Microsoft  Windows.  It can be moved and sized like any
  714. other Windows  application.   To move  through the Help text
  715. use  the  scroll  bars  in  Help's  text  area.    For  more
  716. information on  the Help  program refer  to  the  MS-Windows
  717. manual.
  718.  
  719.  
  720. 3. Fractal Programming Language
  721.  
  722.  
  723.     The  image   in  the   drawing  window   is  represented
  724. internally to  Fractal Paint  as a  program in  FPL (Fractal
  725. Programming Language).   You can write your own FPL programs
  726. or  edit   existing  FPL  programs  using  the  Edit  window
  727. (obtained from  the Program  dropdown  menu),  or  by  using
  728. another text editor (and transferring the program to Fractal
  729. Paint through  the Clipboard  or as  ASCII text file usually
  730. with an ".FPL" extension).
  731.  
  732.     FPL is  a very  simple assembly-like  language with  one
  733. statement per  line  and  each  statement  consisting  of  a
  734. command (like MOVETO) and a number of arguments separated by
  735. white space (spaces and tabs).
  736.  
  737.     When you  edit drawings  using  the  Tool  Box  and  the
  738. various dialog  boxes,  you  are  in  fact  editing  an  FPL
  739. program, however  Fractal Paint  is handling all the details
  740. for you.
  741.  
  742.     If you write or edit FPL programs you should try to make
  743. them look like programs that are generated using the toolbox
  744. commands.   Each object  should have a label and coordinates
  745.  
  746.                               Fractal Paint User's Manual/16
  747.  
  748.  
  749. should be  zero extended  to five  digits.   If you don't do
  750. this then  some of the toolbox command such as move and some
  751. of  the  dialog  boxes  may  have  difficulty  editing  your
  752. program.
  753.  
  754.     Fractal Paint  uses a  logical coordinate  system, where
  755. (0,0) is  at the  lower left,  the X  axis extends  right to
  756. (10000, 0),  and the  Y axis extends up to (0, 10000).  This
  757. coordinate system is then mapped onto whatever page size you
  758. have specified with the Page Size dialog box.
  759.  
  760.     Following is  a list of all the FPL commands and a quick
  761. description of their arguments:
  762.  
  763.     
  764. FRACDEF NAME CUTFAC NUMPTS T1 P1 T2 P2 ... TNUMPTS
  765.     PNUMPTS
  766. - Define fractal NAME, with cut factor CUTFAC, number of
  767.     defining points NUMPTS, Tn turn after point n, Pn pen
  768.     pos while drawing to point n.
  769.  
  770. LSYSDEF NAME TURN_INC AXIOM NUM_PROD_RULES
  771.     INP_PROD_RULE1 OUT_PRODRULE1 ... INP_PROD_RULEn
  772.     OUT_PROD_RULEn
  773. - Defines a L0-system fractal with the given production
  774.     rules and axiom.
  775.  
  776. FRAC NAME SIZE LEVEL
  777. - Draw fractal NAME, SIZE units across, of level LEVEL.
  778.  
  779. LSYS NAME LEVEL SEG_LENGTH
  780. - Draw L0-system NAME, at level LEVEL with line segments
  781.     SEG_LENGTH long.
  782.  
  783. LINE DIST
  784. - Draw a line DIST units in the current direction.
  785.  
  786. LINETO X Y
  787. - Draw a line from the current position to (X,Y).
  788.  
  789. RECT X Y
  790. - Draw a rectangle with one corner at (X,Y) and the other at
  791.     the current position.
  792.  
  793. RNDR X Y XE YE
  794. - Draw a rounded rectangle with one corner at (X,Y) and the
  795.     other at the current position.  The width and length of
  796.     the ellipses used to round the corners are XE and YE.
  797.  
  798. ELLI X Y
  799. - Draw an ellipse enclose in the rectangle with one corner
  800.     at the current position and the opposite corner at (X,Y)
  801.  
  802.  
  803.                               Fractal Paint User's Manual/17
  804.  
  805.  
  806. MOVE DIST
  807. - Move forward DIST units in the current direction (without
  808.     drawing).
  809.  
  810. MOVETO X Y
  811. - Move the current position to coordinates (X,Y) (without
  812.     drawing).
  813.  
  814. TURN ANG
  815. - Turn ANG degrees.
  816.  
  817. TURNTO ANG
  818. - Turn to ANG degrees direction.
  819.  
  820. TEXT "String of text"
  821. - Write the text contained between the quotes starting at
  822.     the current position.
  823.  
  824. TSTYLE HEIGHT WIDTH WEIGHT ITALIC
  825.            UNDERLINE STRIKEOUT CHARSET PITCHANDFAMILY BKMODE
  826.     RED BLUE GREEN BKRED BKBLUE BKGREEN "FACENAME"
  827. - Set text style, gives all parameters that Windows can
  828.     accept when rendering text.
  829.  
  830. LSTYLE WIDTH STYLE RED BLUE GREEN
  831. - Sets the line style.
  832.  
  833. PATTERN STYLE COLOR HATCH BACK_MODE
  834. - Sets the pattern to use for filling regions.
  835.  
  836. CLEAR
  837. - Pauses and then clears the screen.
  838.  
  839.  
  840. 4. A Tutorial
  841.  
  842.  
  843.     The  following   is  a   step  by   step  guide  through
  844. constructing a  number of  fractals, and  through drawing  a
  845. number of objects.
  846.  
  847. 4.1 Basic Drawing
  848.  
  849.     To draw  a line;  click the mouse on the line tool in
  850. the Toolbox  Window.   Position the  mouse  in  the  drawing
  851. window over  where you  want the  line to  start.  Press the
  852. left mouse  button down  and hold  it down.   Drag the mouse
  853. around,  notice   that  a  line  follows  the  mouse  around
  854. connected to the starting point.  When the line is where you
  855. want it,  release the  mouse button.   To  draw  most  other
  856. objects you follow the same procedure, you select the object
  857. you wish  to draw,  from the  Toolbox Window (or Tools menu)
  858. and then  press the  mouse button  down over the start point
  859. and release  the mouse  button over  the  end  point.    The
  860.  
  861.                               Fractal Paint User's Manual/18
  862.  
  863.  
  864. exception  to   this  rule  is  drawing  text;  which  is
  865. explained further down.
  866.  
  867.     To alter  the way  the line looks choose Line style from
  868. the Draw  Menu.   Try altering  some of the controls in this
  869. box and  then drawing  lines to  see what  effect they have.
  870. Notice that  there is  a sample  line to  show what  you are
  871. selecting in the Line style dialog box.
  872.  
  873.     To alter  the way  rectangles and  circles look  you can
  874. alter the  line that  forms their  boundary using  the  Line
  875. style dialog  box.   Plus you  can choose  Patterns from the
  876. Draw menu  and alter the way their interiors are drawn.  Try
  877. playing with  these controls  and drawing some rectangles to
  878. get the feel for how it works.
  879.  
  880.     To draw text, choose the text tool in the Toolbox Window
  881. (a big  T).  The click the mouse in the Drawing window where
  882. you want  the text  to start.   A  vertical bar  will  start
  883. flashing at  this point.   This  is a  cursor that indicates
  884. where typed  text will  be placed  in the drawing.  Now type
  885. some text.   The  text will  probably be very small, this is
  886. because the  default view  in the  drawing window  is of  an
  887. entire page.  You can make the text bigger by selecting Edit
  888. text and text style in the Draw Menu.  You can make the text
  889. bigger by  making the  height bigger, perhaps 40.  You could
  890. also "blow up" your view of the drawing using the View menu.
  891. Try experimenting  with this.   Try  altering different text
  892. styles as  well, such  as different  fonts, colors, italics,
  893. etc.
  894.  
  895.     To delete  draw objects,  choose the selection tool from
  896. the Toolbox Window (an arrow in the upper left).  Then click
  897. on the object you wish to delete.  A dashed rectangle should
  898. appear around  the selected  object.  Then choose Clear from
  899. the Edit  menu (or  press Del).   If  you wanted  the object
  900. copied to  the Windows  clipboard so  that you  can paste it
  901. back into  Fractal Paint or into another Windows application
  902. choose Cut  instead.   (Copy  copies  it  to  the  clipboard
  903. without deleting the object.)
  904.  
  905.     To move an object, choose the move tool from the Toolbox
  906. Window (a  four headed  arrow second  from the  top  on  the
  907. left).   Then push  down the  left  mouse  button  over  the
  908. desired object,  a dashed rectangle should appear around the
  909. object, then  while holding  down the mouse button, move the
  910. mouse until  the dashed  rectangle is where you want to move
  911. the object.   Then  release the  mouse button and the object
  912. will be moved for you.
  913.  
  914.     If you  have a  number of objects stacked on top of each
  915. other and  you wish to select one that is under another one,
  916. use the  Select next and Select previous menu items from the
  917.  
  918.                               Fractal Paint User's Manual/19
  919.  
  920.  
  921. edit menu  to bring  the desired  object to  the top  of the
  922. stack so that you can select it.
  923.  
  924.  
  925. 4.2 Defining and Drawing Fractals
  926.  
  927.  
  928.     There are two basic ways to define Fractals with Fractal
  929. Paint.   The first  we'll try  is the  simplest.  We use the
  930. Define Base  Shape Dialog Box.  These Fractals are made from
  931. a base  shape, the  first level  of these fractals is simply
  932. the base  shape itself.    The  next  level  is  reached  by
  933. replacing each  line in  the current  level  with  the  base
  934. shape.   To illustrate,  first set  the  turn  increment  in
  935. Options -  Fractal from  the main  menu to 60 (degrees), and
  936. start with  a new  drawing (File  - New).   Then go into the
  937. Define Base  Shape Dialog Box from the Draw menu.  Press the
  938. + button after Forward.  The turtle should move to the right
  939. leaving a  trail.   Press Turn +, and the turtle should turn
  940. 60 degrees left, now press forward + to move the turtle, now
  941. press turn  - twice  and press  forward +  again.  Now press
  942. turn +  and finally  press forward  + again.   Now press OK.
  943. The Fractal  you  just  define  should  now  appear  in  the
  944. toolbox.  Try drawing this Fractal first at level 1 and then
  945. at level  2 and then at level 3 (set by the Fractal Level in
  946. Options -  Fractal).   You should  be able  to see  how this
  947. Fractal is  generated  from  the  level  1  base  shape  you
  948. created.   Play with the Define Base Shape Dialog Box to see
  949. what wonderful Fractals you can come up with.  One good rule
  950. of thumb  is to  always  have  the  turtle  end  up  in  the
  951. direction it  started from (i.e. all the turns sum to zero),
  952. also a turn increment of 90 degrees will often generate nice
  953. looking Fractals easily.
  954.  
  955.  
  956. 5. A Guide to the Enclosed Samples;
  957.  
  958.  
  959.     The following  table outlines  what is  in each  of  the
  960. sample files  contained on  the distribution disk.  Load the
  961. file using File - Open from the main menu.
  962.  
  963.     SAMPLSYS.FPL    - Some sample L-System definitions.  Try
  964. drawing these  at different  fractal  levels  and  different
  965. sizes.
  966.  
  967. SAMPFRAC.FPL   - Some  sample Fractals  made with the Define
  968.     Base Shape  Dialog Box.   Try drawing these at different
  969.     fractal levels and different sizes.
  970.  
  971. TREE1.FPL - A Fractal Tree.
  972.  
  973. TREE2.FPL - Another Fractal Tree.
  974.  
  975.                               Fractal Paint User's Manual/20
  976.  
  977.  
  978. KOCH1.FPL - A Koch Island.
  979.  
  980. KOCH2.FPL - Some Koch Snowflakes.
  981.  
  982. LSYS1.FPL,  LSYS2.FPL,   LSYS3.FPL,  LSYS4.FPL,   LSYS5.FPL,
  983.     LSYS6.FPL: Some  more predefined L-Systems to play with.
  984.     When you load them, they appear as tools in the toolbox.
  985.     You can  then draw  with them  or play with them through
  986.     the Define L-Systems dialog box.
  987.  
  988. DEMO.FPL  - A  demo of  many Fractals  and many  of  Fractal
  989.     Paints capabilities.  If you plan to load this, it might
  990.     be a good idea to turn off automatic redraw in Options -
  991.     Fractal from  the menu  and then  draw the program using
  992.     Program - Run from the main menu.  Notice that this demo
  993.     is entirely written in FPL itself.
  994.  
  995.  
  996. 6. Support for Fractal Paint;
  997.  
  998.  
  999.     Support for  Fractal Paint  is available  for registered
  1000. users.  Have your registration number handy for verification
  1001. when you call.  We can be reached at ComputerSmiths, between
  1002. 8:30 a.m.  to 5:00 p.m. Pacific Time at 604-224-5242, or you
  1003. can download our 24 hour BBS line at 604-224-5247.
  1004.  
  1005.     We would  love to  hear your  comments and find out what
  1006. our users  are doing with this new drawing program.  Call or
  1007. write please.
  1008.  
  1009.                               Fractal Paint User's Manual/21
  1010.  
  1011.  
  1012. 7. References
  1013.  
  1014.  
  1015.     To  learn   more  about   fractals  see   the  following
  1016. references:
  1017.  
  1018. Abelson, H.,  DiSessa, A.A.  "Turtle Geometry:  The Computer
  1019.     as a  Medium for  Exploring  Mathematics."    Cambridge,
  1020.     Massachusetts:  The MIT Press, 1980.
  1021.  
  1022. Art Matrix,  "Mandelbrot Sets  and Julia Sets", A Video tape
  1023.     of evolving  Mandelbrot and  Julia sets, available from:
  1024.     Art Matrix, PO 880MJ Ithaca, NY, 14851-0880 USA.
  1025.  
  1026. Mandelbrot, B.B.   "The  Fractal Geometry  of Nature."   New
  1027.     York:  W.H. Freeman and Co., 1982.
  1028.  
  1029. Peitgen, H.-O.,  Saupe, D.  (eds.).  "The Science of Fractal
  1030.     Images."  New York:  Springer-Verlag, 1988.
  1031.  
  1032.     
  1033.  
  1034.     To learn  more about  C and  Windows programming see the
  1035. following references:
  1036.  
  1037. Petzold, C.   "Programming  Windows."   Redmond, Washington:
  1038.     Microsoft Press, 1988.
  1039.  
  1040. Stevens, R.T.   "Fractal  Programming in  C."  Redwood City,
  1041.     California:  M & T Books, Inc., 1989.
  1042.  
  1043.                               Fractal Paint User's Manual/22
  1044.  
  1045.  
  1046. Appendix A: Updating WIN.INI;
  1047.  
  1048.  
  1049.     You can  add a line to "WIN.INI" so that when you double
  1050. click on  a file  with the  extension ".FPL",  Fractal Paint
  1051. will automatically  be run by Windows and Fractal Paint will
  1052. automatically open this file when it starts up.
  1053.  
  1054.     To do  this you must edit the file "WIN.INI" which is in
  1055. the directory  in which  you installed Windows.  First, save
  1056. the current  copy of  "WIN.INI", so  that if  something goes
  1057. wrong you  can recover.   To edit the file use some standard
  1058. text editor  such as  Notepad which comes with Windows.  All
  1059. you have  to do  is add one line to the [extensions] section
  1060. of  "WIN.INI".     Look   for   a   line   containing   only
  1061. "[extensions]" in "WIN.INI", it is then followed by a number
  1062. of lines  that look like "cal=calendar.exe ^.cal".  To these
  1063. lines add  the line  "fpl=c:\fp\fp.exe ^.fpl",  assuming you
  1064. installed Fractal  Paint on  the C:  drive in \fp, otherwise
  1065. substitute the drive and path of where you installed Fractal
  1066. Paint.
  1067.  
  1068.     Then save "WIN.INI", exit Windows and restart Windows so
  1069. that the change in "WIN.INI" can take effect.
  1070.  
  1071.                               Fractal Paint User's Manual/23
  1072.  
  1073.  
  1074.       Fractal Paint Registration; CardFractal Paint
  1075.                      Registration Card;
  1076.  
  1077.     Fractal Paint  is shareware,  so if you use this program
  1078. please send  $25.00.  Without some sort of financial support
  1079. from users,  work on  this program will not be possible.  If
  1080. you send  in the  $25.00 you  will receive a registered next
  1081. version of  the program  absolutely free.   Also,  we have a
  1082. forum on  the ComputerSmiths BBS only for registered Fractal
  1083. Paint users.
  1084.  
  1085.     Please fill  out this  card, enclose a cheque for $25.00
  1086. and mail it immediately to:
  1087.  
  1088.                 Fractal Paint Registration
  1089.                 International ComputerSmiths
  1090.                 3726 West Broadway
  1091.                 Vancouver, B.C.
  1092.                 V6R 2C1
  1093.                   Canada
  1094.  
  1095.     
  1096.  
  1097. Product: Fractal Paint  Version: 1.0  Registration Number:
  1098.  
  1099. Name:    ___________________________________________________
  1100.  
  1101. Company: ___________________________________________________
  1102.  
  1103. Title:   ___________________________________________________
  1104.  
  1105. Address: ___________________________________________________
  1106.  
  1107.          ___________________________________________________
  1108.  
  1109. City: _______________  Province/State: _____________________
  1110.  
  1111. Country: ____________  Postal/Zip Code: ____________________
  1112.  
  1113. Telephone:(    )  __________
  1114.  
  1115. Computer Type: AT Comp 286 [  ]  AT Comp 386 [  ]  PS/2 [  ]
  1116.  
  1117. Diskette Size:  5 1/4"  [  ]  3 1/2"  [  ]
  1118.  
  1119.             Other: _________________________________________
  1120.  
  1121. 1. Introduction to Fractal
  1122.         Paint                                              1
  1123.     1.1 Installation                                       1
  1124.     1.2 Introduction to
  1125.             Fractals                                       2
  1126. 2. The Menus                                               3
  1127.     2.1 The File Menu                                      3
  1128.     2.2 The Edit Menu                                      4
  1129.     2.3 The View                                           5
  1130.     2.4 The Program Menu                                   6
  1131.     2.5 The Draw                                           7
  1132.     2.6 The Tools                                         11
  1133.     2.7 The Options                                       11
  1134.     2.8 Help                                              12
  1135. 3. Fractal Programming
  1136.         Language                                          12
  1137. 4. A Tutorial                                             14
  1138. 4.1 Basic Drawing                                         14
  1139. 4.2 Defining and Drawing
  1140.         Fractals                                          15
  1141. 5. A Guide to the Enclosed
  1142.         Samples                                           16
  1143. 6. Support for Fractal Paint                              16
  1144. 7. References                                             17
  1145. Appendix A
  1146.     Updating WIN.INI                                      18
  1147. Fractal Paint Registration
  1148.         Card                                              19
  1149.  
  1150.  
  1151.                                                   TURN                                                      13
  1152. 2 X                                                        6                                   TURNTO                                                    13
  1153. 3 X                                                        6                                   Turtle                                                     8
  1154. 4 X                                                        6                                   Tutorial                                                  14
  1155. Actual Size                                                6                                   Undo                                                       4
  1156. Basic Drawing                                             14                                   View                                                       5
  1157. Clear                                                  5, 14                                   WIN.INI                                                   18
  1158. Copy                                                       5
  1159. Cut                                                        5
  1160. Define Base Shape                                          7
  1161. Define L-systems                                           7
  1162. Draw                                                       7
  1163. Edit                                                       6
  1164. Edit Text & Text Style                                     9
  1165. ELLI                                                      13
  1166. Evolve                                                     9
  1167. Exit                                                       4
  1168. Fit in Window                                              5
  1169. FRAC                                                      13
  1170. FRACDEF                                                   13
  1171. Fractal                                                   11
  1172. Fractal Programming Language                              12
  1173. Help                                                      12
  1174. Installation                                               1
  1175. LINE                                                  13, 14
  1176. Line Style                                                10
  1177. LINETO                                                    13
  1178. LSTYLE                                                    14
  1179. LSYS                                                      13
  1180. LSYSDEF                                                   13
  1181. MOVE                                                      13
  1182. MOVETO                                                    13
  1183. New                                                        3
  1184. Open                                                       3
  1185. Options                                                   11
  1186. Page                                                       6
  1187. Paste                                                      5
  1188. PATTERN                                                   14
  1189. Patterns                                                  10
  1190. Print                                                   4, 6
  1191. Program Menu                                               6
  1192. RECT                                                      13
  1193. Registration                                              19
  1194. RNDR                                                      13
  1195. Rulers                                                    11
  1196. Run                                                        6
  1197. Samples                                                   16
  1198. Save                                                       3
  1199. Save As                                                    4
  1200. Show toolbox                                              11
  1201. Support for Fractal Paint                                 16
  1202. TEXT                                                  13, 14
  1203. Tools                                                     11
  1204. TSTYLE                                                    14
  1205.  
  1206.