home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
- AMIGA IFSOUT Version 1.1
-
- An Iterated Function System Viewer
-
- Copyright © 1989 Software Glen Co.
- Permission is hereby given to only copy
- this unedited documentation for inclusion with
- the demo-version of the program.
-
-
- INTRODUCTION
- ------------
-
- IFSOUT graphically displays iterated function systems and allows the
- user to interactively create the affine functions that define such
- systems. An IFS can represent complex pictures very compactly. Simple
- IFSs can describe an infinite number of different and interesting fractal
- displays. Some of these pictures are remenisent of plants, ferns,
- bushes, trees, snails, shells, sunsets and other natural objects, plus
- a number of other interesting patterns. Included with the program are a
- number of displays that the author and others have discovered. These are in
- a directory named coors.
-
- What is an iterated function system (IFS)? An IFS is a set of functions
- that define transformations on a Cartesian space. Each of these functions
- is a rule of affine transformation. An affine function has the form of:
-
- W(x,y) = (Ax + By + E, Cx + Dy + F)
-
- where:
-
- A,B,C,D,E,F are real number transformation coefficients.
-
- So an affine function maps each point in the Cartesian Space to another
- point in the Cartesian Space. To compute an IFS image each affine
- function is randomly applied to the last computed point. This process
- is repeated over and over, resulting in a picture of the IFS as those
- points are displayed.
-
-
- THE PROGRAM - TUTORIAL
- --- ------- --------
-
- Ifsout is simple to use. To run ifsout or ifsdemo for the demo version,
- just double click on the ifsout (ifsdemo) icon, or type ifsout (ifsdemo)
- in a CLI shell (stack should be > 30000). Ifsout takes no arguements.
- Ifsout creates its own screen and begins to display a default function,
- a small flower. Before starting, you should know how to get back to
- the previous screen (usually the Workbench). To do so, use the Project
- Menu and click on the "Back to WB" box There are no Front/Back gadgets,
- but there is a hidden Close gadget in the normal left-hand corner. It
- almost goes without saying, to quit, click on the "quit" box in the
- Project menu.
-
- Try some different functions. Use the Project Menu and click on the
- "Get IFS" menu. This will bring up a file requester like window to allow
- selection of a number of "coors" (IFS coordinate files) files. No, it
- has no relationship to the beer! Thanks goes to C. Heath for the
- file browser requester. It expects to find a coors directory (democoors
- for the demo version) on the current default device. (i.e. if you started
- ifsout from RAD: it would expect to find a coors directory in RAD:)
- If there is no directory there you will get a "Wrong Diskett?" message.
- If this happens, just click on OK and type in the path of your "coors"
- directory in the Get File Requester string gadget. Included with this
- distribution is a coors directory with all the IFSs in separate files.
-
- The displaying of the transformation numbers (those are the coefficients
- of the functions) can be toggled by clicking on the "Numbers" box
- in the "Control" Menu. The eight numbers displayed for each affine
- function are:
-
- function number, A, B, C, D, E, F coefficients, percentage
-
- The coefficients are the ones in the above defined affine function. The
- percentage is the probability that the function will be randomly chosen.
- The sum of all the probabilities should total 1.00 or some functions
- will not get exercised as they should.
-
- Try to change the function using the transformation boxes. Click on the
- "Boxes" box in the "Control" Menu. This will bring up a number
- of boxes. Each box represents a transformation function. One can change
- the function by grabbing a corner of any box. Note: If two boxes'
- corners are in the same position as the "selected" function (highlighted
- in white) will be moved. One can change the "selected" function by
- clicking the left-mouse button away from the boxes when the boxes are
- showing.
-
- Notice that the corner with the small box control the E and F coefficients
- of the function, the opposite corner controls a combination of the A and D
- cofficients, the near corner (the one with the small box) controls
- a combination of A and C coefficients, and the other corner (the one
- opposite of the small triangle) controls a combination of the B and D
- cofficients. The small box is used to determine the orientation of
- the transformation. The program can display a IFS with 25 or less
- affine transformations.
-
- Take a look at Sierpinski's Triangle by selecting the "Get IFS" menu
- function and selecting sier.coors file. This function takes three
- transforms. As you can see the images look as if they are "developing".
- Some images look better if they "cook" longer and other look best when
- they have only "cooked" for a short time.
-
- Sometimes the function might disappear from your view as you are
- manipulating them. This is because the coefficients can also change
- the location of display. To get the image back into a viewing position
- select the "Zoom To Fit" box in the Functions menu. This not only centers
- the image but sizes it to about 85% of screen size. This function
- can also be used to make a very small/large image larger/smaller. Also
- in the "Functions" menu there is another to contol the scale of the
- display. It is called "Zoom Out X 2" and should be self-explainatory.
-
- Try some of the miscellanous functions. If you have received the "paid-for"
- version you can save the functions that you create. To save your function
- click on the "Save IFS" box in the Projects menu. Your function will
- be saved with the name you specify. Another toggle allows you to create
- a white background. You can also get a new function. The coeffiecents
- of the new function are set to A, D, = 1 and the rest = 0. This does not
- effect the outcome of the current IFS except to add a new color and to change
- the percentage of the functions fo the IFS display. Notice that each
- affine function has its own color. You can change the color of the
- functions displayed by clicking the left mouse button when the boxes are
- NOT displayed. The colors are selected at random.
-
- There is also a pause toggle. IFSOUT program is rather compute intensive.
- The pause toggle allows the program to go to sleep until it is toggled again.
- This allows the processor to do other things quicker (like capturing the
- screen with any of the screensaving programs). NOTE: BE CAREFUL WITH THIS
- SWITCH as it makes the program look dead and unresponsive to any requests
- except some menu selections (like the toggle itself and the QUIT funciton).
-
- Another way to change the coeficients is by the use of the "Adjust
- Functions" requester which can be found in the Functions menu. The Adjust
- Functions requester consists of four areas of control.
-
- The first method of control is the current function's coeficients. These
- are changeable. You can request additional functions by typing in a
- function number (WN) lager than the current number of functions. If you
- type in a function less than the current number of functions, it will give
- you that function.
-
- The second area of control is the horizonal slider gadgets next to the
- function number, coeficients and percent text input areas. They also
- control the same functions as the text input areas. To change a function
- number just click on either side of the slider. This slider does not
- allow you to add additional functions but is very useful in tracking down
- a function (by number) quickly.
-
- The third area of control is the Zoom Slider. It allows you to Zoom in
- (down) or out (up) a particular IFS.
-
- The fourth area of control is the Positioner Gadget. This allows you to
- position the current IFS on the screen. Sometimes when you are Zooming
- into the function it changes the center. This allows you to center it
- to your preverance.
-
- A tip: If you have the version that allows saving IFSs you can create
- a directory named coors in your RAD or RAM disk for rapid saving of IFS
- functions.
-
- Last NOTE: Be careful not to use the democoors files with the production
- system or the coors files with the demo version or "bad" things happen
- (guru).
-
- THE CHALLENGE
- --- ---------
-
- Get the file glen.coors. Notice that I have defined my name as an IFS.
- Not a real easy task, but as you can see it can be done. Can you create
- an IFS for your name?
-
- ADVERTISEMENT
- -------------
-
- The demo-version does not have the ability to save functions, it also
- stores its transforms in binary form. The production version writes its
- transforms in ASCII (so you can edit them) and comes with many more
- IFS defined. Other than that the demo-version and the
- "paid-for" version are the same. To get the production copy, send $10 to:
-
- Glen Fullmer
- 9605 South 48th St. #1059
- Phoenix, AZ 85044
-
- I would also like to hear from you if you find any new and interesting
- IFSs.
-
- I hope you have as much fun with this as I have. There would probably
- be many more program features if searching for new IFSs wasn't so
- distracting! Enjoy.
-