home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 334.lha / ifsdemo_v1.3 / ifsout.doc < prev    next >
Text File  |  1990-01-10  |  9KB  |  196 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.                             AMIGA IFSOUT Version 1.1
  8.  
  9.                        An Iterated Function System Viewer
  10.  
  11.                        Copyright © 1989 Software Glen Co.
  12.                      Permission is hereby given to only copy
  13.                   this unedited documentation for inclusion with
  14.                         the demo-version of the program.
  15.                                    
  16.  
  17. INTRODUCTION
  18. ------------
  19.  
  20. IFSOUT graphically displays iterated function systems and allows the 
  21. user to interactively create the affine functions that define such
  22. systems.  An IFS can represent complex pictures very compactly.  Simple
  23. IFSs can describe an infinite number of different and interesting fractal
  24. displays.  Some of these pictures are remenisent of plants, ferns,
  25. bushes, trees, snails, shells, sunsets and other natural objects, plus
  26. a number of other interesting patterns. Included with the program are a 
  27. number of displays that the author and others have discovered.  These are in
  28. a directory named coors.
  29.  
  30. What is an iterated function system (IFS)?  An IFS is a set of functions 
  31. that define transformations on a Cartesian space.  Each of these functions 
  32. is a rule of affine transformation.  An affine function has the form of:
  33.  
  34.                   W(x,y) = (Ax + By + E, Cx + Dy + F) 
  35.  
  36. where:
  37.  
  38.     A,B,C,D,E,F are real number transformation coefficients.
  39.  
  40. So an affine function maps each point in the Cartesian Space to another 
  41. point in the Cartesian Space.  To compute an IFS image each affine
  42. function is randomly applied to the last computed point.  This process
  43. is repeated over and over, resulting in a picture of the IFS as those 
  44. points are displayed.  
  45.  
  46.  
  47. THE PROGRAM - TUTORIAL
  48. --- -------   --------
  49.  
  50. Ifsout is simple to use.  To run ifsout or ifsdemo for the demo version, 
  51. just double click on the ifsout (ifsdemo) icon, or type ifsout (ifsdemo)
  52. in a CLI shell (stack should be > 30000).  Ifsout takes no arguements.  
  53. Ifsout creates its own screen and begins to display a default function, 
  54. a small flower.  Before starting, you should know how to get back to 
  55. the previous screen (usually the Workbench).  To do so, use the Project 
  56. Menu and click on the "Back to WB" box There are no Front/Back gadgets, 
  57. but there is a hidden Close gadget in the normal left-hand corner.  It 
  58. almost goes without saying, to quit, click on the "quit" box in the 
  59. Project menu.  
  60.  
  61. Try some different functions.  Use the Project Menu and click on the 
  62. "Get IFS" menu.  This will bring up a file requester like window to allow
  63. selection of a number of "coors" (IFS coordinate files) files.  No, it 
  64. has no relationship to the beer!  Thanks goes to C. Heath for the
  65. file browser requester.  It expects to find a coors directory (democoors
  66. for the demo version) on the current default device. (i.e. if you started 
  67. ifsout from RAD: it would expect to find a coors directory in RAD:)  
  68. If there is no directory there you will get a "Wrong Diskett?" message.  
  69. If this happens, just click on OK and type in the path of your "coors" 
  70. directory in the Get File Requester string gadget. Included with this 
  71. distribution is a coors directory with all the IFSs in separate files.  
  72.  
  73. The displaying of the transformation numbers (those are the coefficients 
  74. of the functions) can be toggled by clicking on the "Numbers" box 
  75. in the "Control" Menu.  The eight numbers displayed for each affine 
  76. function are:
  77.  
  78.             function number, A, B, C, D, E, F coefficients, percentage
  79.  
  80. The coefficients are the ones in the above defined affine function.  The 
  81. percentage is the probability that the function will be randomly chosen.
  82. The sum of all the probabilities should total 1.00 or some functions
  83. will not get exercised as they should.
  84.             
  85. Try to change the function using the transformation boxes.  Click on the 
  86. "Boxes" box in the "Control" Menu.  This will bring up a number 
  87. of boxes.  Each box represents a transformation function.  One can change 
  88. the function by grabbing a corner of any box.  Note:  If two boxes' 
  89. corners are in the same position as the "selected" function (highlighted 
  90. in white) will be moved.  One can change the "selected" function by 
  91. clicking the left-mouse button away from the boxes when the boxes are 
  92. showing.  
  93.  
  94. Notice that the corner with the small box control the E and F coefficients 
  95. of the function, the opposite corner controls a combination of the A and D
  96. cofficients, the near corner (the one with the small box) controls 
  97. a combination of A and C coefficients, and the other corner (the one 
  98. opposite of the small triangle) controls a combination of the B and D 
  99. cofficients.  The small box is used to determine the orientation of 
  100. the transformation.  The program can display a IFS with 25 or less 
  101. affine transformations.
  102.  
  103. Take a look at Sierpinski's Triangle by selecting the "Get IFS" menu 
  104. function and selecting sier.coors file.  This function takes three
  105. transforms.  As you can see the images look as if they are "developing".
  106. Some images look better if they "cook" longer and other look best when
  107. they have only "cooked" for a short time.
  108.  
  109. Sometimes the function might disappear from your view as you are 
  110. manipulating them.  This is because the coefficients can also change
  111. the location of display.  To get the image back into a viewing position
  112. select the "Zoom To Fit" box in the Functions menu.  This not only centers
  113. the image but sizes it to about 85% of screen size.  This function
  114. can also be used to make a very small/large image larger/smaller.  Also
  115. in the "Functions" menu there is another to contol the scale of the
  116. display.  It is called "Zoom Out X 2" and should be self-explainatory.
  117.  
  118. Try some of the miscellanous functions.  If you have received the "paid-for"
  119. version you can save the functions that you create.  To save your function
  120. click on the "Save IFS" box in the Projects menu.  Your function will
  121. be saved with the name you specify.  Another toggle allows you to create
  122. a white background.  You can also get a new function.  The coeffiecents 
  123. of the new function are set to A, D, = 1 and the rest = 0.  This does not 
  124. effect the outcome of the current IFS except to add a new color and to change
  125. the percentage of the functions fo the IFS display.  Notice that each 
  126. affine function has its own color.  You can change the color of the 
  127. functions displayed by clicking the left mouse button when the boxes are 
  128. NOT displayed.  The colors are selected at random. 
  129.  
  130. There is also a pause toggle.  IFSOUT program is rather compute intensive.  
  131. The pause toggle allows the program to go to sleep until it is toggled again.
  132. This allows the processor to do other things quicker (like capturing the 
  133. screen with any of the screensaving programs).  NOTE:  BE CAREFUL WITH THIS 
  134. SWITCH as it makes the program look dead and unresponsive to any requests 
  135. except some menu selections (like the toggle itself and the QUIT funciton).
  136.  
  137. Another way to change the coeficients is by the use of the "Adjust
  138. Functions" requester which can be found in the Functions menu.  The Adjust
  139. Functions requester consists of four areas of control.  
  140.  
  141. The first method of control is the current function's coeficients.  These 
  142. are changeable.  You can request additional functions by typing in a 
  143. function number (WN) lager than the current number of functions.  If you 
  144. type in a function less than the current number of functions, it will give 
  145. you that function.
  146.  
  147. The second area of control is the horizonal slider gadgets next to the
  148. function number, coeficients and percent text input areas.  They also 
  149. control the same functions as the text input areas.  To change a function
  150. number just click on either side of the slider.  This slider does not
  151. allow you to add additional functions but is very useful in tracking down
  152. a function (by number) quickly.
  153.  
  154. The third area of control is the Zoom Slider.  It allows you to Zoom in
  155. (down) or out (up) a particular IFS.
  156.  
  157. The fourth area of control is the Positioner Gadget.  This allows you to
  158. position the current IFS on the screen.  Sometimes when you are Zooming
  159. into the function it changes the center.  This allows you to center it
  160. to your preverance.
  161.  
  162. A tip:  If you have the version that allows saving IFSs you can create
  163. a directory named coors in your RAD or RAM disk for rapid saving of IFS
  164. functions.
  165.  
  166. Last NOTE:  Be careful not to use the democoors files with the production
  167. system or the coors files with the demo version or "bad" things happen 
  168. (guru).
  169.  
  170. THE CHALLENGE
  171. --- ---------
  172.  
  173. Get the file glen.coors.  Notice that I have defined my name as an IFS.
  174. Not a real easy task, but as you can see it can be done.  Can you create
  175. an IFS for your name?
  176.  
  177. ADVERTISEMENT
  178. -------------
  179.  
  180. The demo-version does not have the ability to save functions, it also 
  181. stores its transforms in binary form.  The production version writes its
  182. transforms in ASCII (so you can edit them) and comes with many more 
  183. IFS defined.  Other than that the demo-version and the 
  184. "paid-for" version are the same.  To get the production copy, send $10 to:
  185.  
  186.         Glen Fullmer
  187.         9605 South 48th St. #1059
  188.     Phoenix, AZ 85044
  189.  
  190. I would also like to hear from you if you find any new and interesting
  191. IFSs.
  192.     
  193. I hope you have as much fun with this as I have.  There would probably 
  194. be many more program features if searching for new IFSs wasn't so 
  195. distracting!  Enjoy.
  196.