home *** CD-ROM | disk | FTP | other *** search
/ Fractal Creations (Second Edition) / FRACTALS_2E.iso / finstall.exe / FDESIGN.DOC < prev    next >
Text File  |  1991-06-16  |  14KB  |  283 lines

  1.  
  2.    "Fractal Designer v3.30 by Doug Nelson May 5, 1991" (submitted to the 
  3.    public domain) can generate unique fractal designs.  The number of IFS 
  4.    designs is limited only by the amount of time spent using Fdesign.  The 
  5.    designs can be saved to .GIF files or printed on an HP Laserjet or Epson 
  6.    compatible printer.  
  7.  
  8.    Hardware Requirements
  9.  
  10.      o  A very-MicroSoft-compatible mouse is required (some clones haven't 
  11.         worked).  Also, an 80x87 coprocessor greatly speeds up the generation 
  12.         of images.  To give you an idea of the coprocessor's speed --- an 8 
  13.         MHz XT with coprocessor is faster than a 20 MHz 386 without 
  14.         coprocessor.  EGA or VGA graphics are required, but VGA is much better 
  15.         because the pixel size is square.  You'll also need 350k bytes of free 
  16.         memory when invoking Fdesign (less if you don't use the Virtual Screen 
  17.         plot).  
  18.  
  19.      o  Your printer must be able to receive commands for one of these:
  20.         HP Laser Jet II P --- the best pictures
  21.         Epson 24 pin compatible --- I used an LQ-1000 for testing
  22.         Epson 9 pin compatible --- I used an early FX series model
  23.  
  24.    Running the program
  25.  
  26.      o  To view a fractal (no mouse required) from the command line:
  27.         C> fdesign sierpink
  28.         or
  29.         C> for %1 in (*.trn) do fdesign %1
  30.         to view all .TRN files in the directory
  31.  
  32.      o  The mouse is the main input device.  Hit the mouse button for the top 
  33.         menu (without a coprocessor you may have to hold the mouse button down 
  34.         until the menu appears).  For interactive design, type "fdesign" 
  35.         return and you'll get the Top Menu screen:
  36.  
  37.           -  Normal Plot - plots (to the screen) the current fractal in EGA 
  38.              or VGA 16 colors.
  39.  
  40.           -  Edit Transformations screen - allows you to change the 
  41.              description of the fractal (edit triangle transformations).  If 
  42.              there are at least two transformation triangles, a small fractal 
  43.              image is displayed in the upper right corner and will change 
  44.              concurrently with your edits.
  45.  
  46.                *  Scratch Everything - cleans the workspace.  Then you 
  47.                   specify a reference triangle and input transformation 
  48.                   triangles until your right mouse button ends the input.
  49.  
  50.                *  Add a Triangle - you input three points defining an 
  51.                   additional triangle.
  52.  
  53.                *  Delete a Triangle - you select a triangle to delete.
  54.  
  55.                *  Adjust a Triangle - allows you to move a single vertex of a 
  56.                   triangle.  First select a triangle by finding an unambiguous 
  57.                   edge of the triangle and click left.  Then click on the 
  58.                   corner you wish to move.  Now you may move the cursor to the 
  59.                   new position and click left.  The fractal image in the upper 
  60.                   right updates with your edits.  You may continue to click 
  61.                   left and watch the fractal change in the upper right corner. 
  62.                    When you're satisfied, click the right mouse button.
  63.  
  64.                *  Grat is on/off - clicking on this will toggle the "on/off". 
  65.                    If grat is off, you may place triangle vertices between 
  66.                   dots.  If grat is on, the closest graticule will be used to 
  67.                   place the vertex.
  68.  
  69.                *  Main Menu - return to plot fractal on the big screen.
  70.  
  71.           -  Load file screen - loads a transformation (.TRN) file.  You may 
  72.              click left on a filename to preview the fractal in that file.  
  73.              When you see the one you want, click right.  You will be thrown 
  74.              into the Edit Transformations Screen.  If you want a big screen 
  75.              image, click on "Main Menu" immediately.  I have included several 
  76.              .TRN files which you may load, display and modify.  
  77.  
  78.           -  Save file - save the current transformations to a file.  Type in 
  79.              the filename (without extension) that you wish to save the 
  80.              transformations to.  If the filename already exists, you will be 
  81.              prompted for an ok.  Saving to another subdirectory or disk is 
  82.              not supported.
  83.  
  84.           -  Alternate display - plots in 16 colors, but starts with color 1 
  85.              and increments the color every time a pixel is re-plotted.
  86.  
  87.           -  Print - Prints the filename, the current screen, the Edit 
  88.              Transformations and IFS codes.  This is intended as a way to 
  89.              document your fractals.
  90.  
  91.           -  Virtual Screen Print - Use this to create high-res pictures on a 
  92.              printer.
  93.  
  94.                *  Plot 1000000 points - Plots to a virtual screen (1504x1200) 
  95.                   a million points.  I've found a million to be adequate for 
  96.                   most images.  This number will increase if you have already 
  97.                   zoomed on the image.  This number is only a recommendation 
  98.                   by a very dumb algorithm.
  99.  
  100.                *  Plot N points - Again, this plots to the virtual screen as 
  101.                   many points as you specify.  It occasionally happens that 
  102.                   you may need to plot 20 million points to get a full 
  103.                   picture.  You specify the number of points in thousands 
  104.                   (5000 means 5 million).
  105.  
  106.                *  Print - prints the virtual screen to your printer on LPT1.
  107.  
  108.                *  Return - gets you back to the top menu.
  109.  
  110.           -  IFS codes (FRACTINT) - This allows transfering files to/from 
  111.              Fractint.  
  112.  
  113.                *  Write a FRACTINT file --- computes IFS codes for FRACTINT's 
  114.                   screen size and writes an ascii file with an extension of 
  115.                   .IFS.
  116.  
  117.                     #  FRACTINT viewing is accomplished with the following 
  118.                        command line:
  119.  
  120.                           FRACTINT type=ifs ifs=myfile.ifs video=F4
  121.  
  122.                           You would, of course, replace 'F4' with your own 
  123.                             video mode preference from the help screens.
  124.  
  125.                *  Read a FRACTINT file --- computes triangle transformations 
  126.                   from the IFS codes.  You may then edit the transformations 
  127.                   as with any Fdesign file.  You may then opt to save the 
  128.                   result as a .IFS file (for FRACTINT viewing).
  129.  
  130.                *  IFS codes for this screen --- these are a,b,c,d,e,f,p used 
  131.                   to generate the main display.  Note that no scaling to the 
  132.                   display is required --- the IFS codes are already scaled for 
  133.                   it.
  134.  
  135.           -  Zoom in - Brings up a zoom box.  The box may be moved by moving 
  136.              the mouse.  The size of the box may be changed by holding the 
  137.              left mouse button and moving the mouse up or down.  To accept the 
  138.              zoom box, press both mouse buttons, or type any key.  Multiple 
  139.              zooms are allowed, but the computation time required increases 
  140.              with every zoom.
  141.  
  142.           -  Zoom reset - reset to the original full-sized image.  
  143.  
  144.           -  Save to .GIF - copies the screen to a .GIF formatted file.  
  145.  
  146.           -  Quit - returns you to DOS.  
  147.  
  148.    Basic Fractal Education
  149.  
  150.      o  Not all fractals can be generated by this program.  IFS stands for 
  151.         Iterative Function System, just one method of generating fractals.  
  152.         The IFS codes define a space which has a "fractional" dimension.  This 
  153.         space has a "shape", the images that this program generates.  At least 
  154.         two IFS codes are required to generate a fractal.  Each IFS code is 
  155.         derived from an affine transformation, which can be described as 
  156.         mapping one triangle into another (in the same 2D space).  
  157.  
  158.      o  The triangle transformations:  In the edit screen, a reference 
  159.         triangle is shown, and any number (up to 32) of transformation 
  160.         triangles are shown.  A transformation triangle maps "from" the 
  161.         reference triangle "to" the transformation triangle itself.  These 
  162.         mappings are called affine transformations, which means they move 
  163.         points closer together.  To enforce the affinity requirement, the A-B 
  164.         side of the transformation triangle must be shorter than or equal to 
  165.         the A-B side of the reference triangle (the same is true of the B-C 
  166.         and A-C sides).  However, a transformation triangle may not have all 
  167.         three sides equal to the reference triangle. The program will display 
  168.         an error message if you attempt to input a non-Affine transformation 
  169.         triangle (you can re-define the reference triangle with the "Scratch 
  170.         Everything" command).
  171.  
  172.      o  Random IFS Algorithm
  173.  
  174.           -  A beginning point is selected which is on the fractal.
  175.  
  176.           -  A transformation triangle (IFS code) is randomly selected.
  177.  
  178.           -  The selected transformation is applied to the current point and 
  179.              the new point is plotted.
  180.  
  181.           -  One point out of millions has been plotted.  
  182.  
  183.           -  Now go back to randomly select a transformation triangle (may or 
  184.              may not be the same as the transformation just applied).
  185.  
  186.           -  That's all there is to it.  Amazingly simple isn't it?  The 
  187.              problems are in the user interface.  
  188.  
  189.           -  A point on the attractor (the fractal) may be thought of as 
  190.              having a coordinate consisting of the history of IFS code numbers 
  191.              required to get there.  
  192.  
  193.           -  Even though the transformations are randomly selected, the 
  194.              resultant image is the same (by mathematical proof). Given 
  195.              infinite time, the resultant image has infinite detail, so the 
  196.              algorithm repeats until you interrupt with a mouse click.
  197.  
  198.      o  The references will give you everything you ever wanted to know on 
  199.         the theoretical basis for these images.
  200.  
  201.    Tips on Building Fractals
  202.  
  203.      o  Experiment with only two transformation triangles.  There is a lot a 
  204.         of creativity in some of those two triangle transformations.  Then add 
  205.         a triangle and experiment with various rotations and scalings.
  206.  
  207.      o  Start with one of the example files and adjust a corner and watch the 
  208.         progress.
  209.  
  210.      o  When adding a triangle, start with a small triangle and adjust its 
  211.         corners while watching the fractal in the upper right corner.
  212.  
  213.      o  Make the colored regions "just touching" in the small edit plot to 
  214.         create interesting connections.
  215.  
  216.      o  To me, creating fractals seems like a very intuitive process.  I've 
  217.         designed the user interface to facilitate a quick design cycle.
  218.  
  219.    Revisions
  220.  
  221.      o  v3.30 - .IFS file format change to be compatibility with Fractint 
  222.         after rev 15:  Some minor user interface changes were made.  In-line 
  223.         assembler if 80287 or better coprocessor is present.  The R250 
  224.         algorithm (see Doctor Dobb's Journal, May 1991) becomes the random 
  225.         number generator.  
  226.  
  227.      o  v3.08 - more enhancements:  GIF file saving was added.  IFS codes 
  228.         display and FRACTINT interface were added.  Zooming support on main 
  229.         screen and "virtual screen print" was added.  Up to 32 triangle 
  230.         transformations are allowed.  A command line option to view .TRN files 
  231.         was added.  Color codes now exclude WHITE, DARKGREY, and BLACK.  Two 
  232.         video "modes" available:  1) normal plot --- this color codes the 
  233.         triangle transformations (or IFS codes), and 2) alternate display --- 
  234.         increments the color code every time a pixel is re-plotted (shows 
  235.         density).
  236.  
  237.      o  v2.05 - lots of enhancements:  A bug that caused a floating point 
  238.         domain error has been removed.  Three printer types are supported.  A 
  239.         "virtual screen" has been added with 1504x1200 resolution (used only 
  240.         for printing).  File menu now shows a little plot from the filename 
  241.         you click on.  256 color plotting was added (and subsequently 
  242.         removed).  You may turn off the graticule spacing when adjusting 
  243.         triangle transformations.  Menus have been "cleaned up".
  244.  
  245.      o  v1.00 - added the 'small plot' to the Modify screen and the 'adjust 
  246.         triangle' command.
  247.  
  248.      o  v0.01 - the first distributed copy of FDESIGN.
  249.  
  250.    Known Problems
  251.  
  252.      o  Sometimes the probabilities are not computed correctly when adding an 
  253.         Fdesign design to a Fractint .IFS file.  Some adjustment of the last 
  254.         parameter on each line may be necessary for Fractint (this is the 
  255.         probability setting).  However, the total of the last parameters must 
  256.         add up to 1.0.  
  257.  
  258.      o  Sometimes an .IFS file design will read in correctly --- however, it 
  259.         may not display perfectly in the "small plot" mode (as when editing 
  260.         the triangle transformation).  I currently have no fix for this.  
  261.  
  262.      o  An extremely rare floating point error occurs which I've been unable 
  263.         to track down.  
  264.  
  265.    References
  266.  
  267.      o  An excellent reference is "Fractals Everywhere" by Michael Barnsley.  
  268.  
  269.      o  BYTE magazine, January 1988.  
  270.  
  271.      o  A good reference is "The Science of Fractal Images" by M.F. Barnsley, 
  272.         R.L. Devaney, B.B. Mandlebrot, H.-O. Peitgen, D. Saupe, and R.F. Voss 
  273.         with contributions by Y. Fisher and M. McGuire.  
  274.  
  275.      o  Thanks to Bert Tyler [73477,433] (CIS) and Lee Daniel Crocker 
  276.         [73407,2030] (CIS) for their .GIF encoder.  
  277.  
  278.    Send comments or suggestions to:
  279.    Doug Nelson
  280.    3640 Old Denton Rd #2405
  281.    Carrollton, TX 75007
  282.    Compuserve ID 70431,3374 (my address may change, but not my compuserve ID)
  283.