home *** CD-ROM | disk | FTP | other *** search
/ Share Gallery 1 / share_gal_1.zip / share_gal_1 / GR / GR044.ZIP / ASET26.DOC < prev    next >
Text File  |  1990-05-01  |  26KB  |  421 lines

  1.                        MANUAL FOR ASET VERSION 1.6 and 2.6 
  2.                         MANDELBROT and JULIA SET GRAPHICS 
  3.                    Copyright (c) 1989 - 1990 Image Laboratories 
  4.              
  5.              
  6.              
  7.       INTRODUCTION: 
  8.              
  9.       This disk contains three executable files, FRACTAL.EXE, ASET16I.EXE (or 
  10.       ASET26I.EXE), and ASET16A.EXE (or ASET26A.EXE), along with 
  11.       documentation in ASET26.DOC and several palette files which end in 
  12.       .DAT.  Versions 1.6 and 2.6 of the program are identical except that 
  13.       Version 2.6 has an image record/playback feature.  Version 2.6 has been 
  14.       distributed only to those users who have registered their copies of the 
  15.       ASET software.  Those parts of this manual which refer to the recording 
  16.       or replaying of images are only applicable to users of Version 2.6.  
  17.       The executable files are known collectively as ASET.  These programs 
  18.       allow you to draw graphic representations of the well known Mandlebrot 
  19.       Set and the lesser known Julia Set.  Both of these sets are 
  20.       representations of a function of a complex variable which were first 
  21.       popularized through computer graphics by Benoit Mandelbrot.  The Julia 
  22.       Set is named after Gaston Julia, one of the pioneers in the field of 
  23.       mathematical functions which exhibit chaotic behavior.  In fact, 
  24.       Mandelbrot was studying Julia Sets when he discovered the Mandelbrot 
  25.       Set.  It is not necessary to know the details of complex variables or 
  26.       their algebra to use or enjoy the fascinating behavior of these sets.  
  27.       It is helpful, however, to understand what is being plotted to navigate 
  28.       and explore the nearly limitless variety of designs to be found in this 
  29.       'four dimensional universe' of the function. 
  30.              
  31.       If you are familiar with earlier versions of this program, you will 
  32.       notice that the Mandelbrot and Julia Sets were generated by separate 
  33.       programs.  These programs have been combined into the single ASET 
  34.       program in this release for the convenience of the user.  You will also 
  35.       notice that images can be recorded, replayed, palettes defined, and 
  36.       that a 'microscope' function has been added to allow you to magnify 
  37.       interesting parts of the image. 
  38.              
  39.              
  40.       A Short Mathematics Lesson: 
  41.              
  42.       This is not mandatory reading, but only for those interested in the 
  43.       details of the calculations the computer is making.  Think of your 
  44.       computer screen as an X Y plane.  To make it a complex plane, we assign 
  45.       a vector Z to any point on the plane with the equation 
  46.                     Z = Zr + i Zi = X + iY 
  47.       where Zr and Zi are the 'real' and 'imaginary' parts of Z and i is the 
  48.       square root (sqrt) of -1.  Of course, there is no sqrt -1 so by 
  49.       convention i is called 'imaginary'.  Using ordinary algebra 
  50.                  2        2    2   2 
  51.                 Z = (X+iY)  = X - Y +2iXY. 
  52.       All the algebra of complex numbers follows the algebra of ordinary 
  53.       numbers where the 'real' terms are collected together and treated as 
  54.       one group and the 'imaginary' terms are collected and treated as 
  55.       another group.  This makes the 'real' and 'imaginary' axes independent 
  56.       or orthogonal.  Note i * i = -1. 
  57.       
  58.       The magnitude of Z is defined as the length of the X Y vector 
  59.                                     2   2 
  60.                magnitude(Z) = sqrt(X + Y ).        
  61.       The points in the Mandelbrot and Julia Sets are calculated in the 
  62.       following way.  Define the recursive formula 
  63.                        2 
  64.                Z    = Z  + C 
  65.                 n+1    n 
  66.       where Z is defined as 0 on the first pass and C is a point in the 
  67.       complex plane.  Since C is complex, both C and Z have real and 
  68.       imaginary components, i.e. Cr, Ci, Zr, and Zi.  This formula is 
  69.       calculated over and over again until its magnitude exceeds 2.  This 
  70.       formula has the curious property that as long as the magnitude of the 
  71.       complex vector remains less than 2 the magnitude of the next value of Z 
  72.       may also be less than 2. However, once the magnitude exceeds 2 it will 
  73.       never again be less than 2 and can reach very large magnitudes over the 
  74.       next few iterations.  The fascinating thing about this function is that 
  75.       adjacent points which have almost identical coordinates have greatly 
  76.       different degrees of stability, i.e. one point may quickly 'blow up' 
  77.       and the other not. 
  78.              
  79.              
  80.       Plotting The Points: 
  81.              
  82.       Each point on your computer screen represents a point which has a 
  83.       stability associated with it as defined above.  Each point on your 
  84.       computer screen in the graphics mode has a pixel associated with it.  
  85.       The program calculates the stability of each point on the screen and 
  86.       assigns a pixel color and brightness as a function of the stability of 
  87.       the point.  Some points are infinitely stable, e.g. X = Y = 0.  Others 
  88.       blow up immediately, e.g. (X*X+Y*Y) > 4.  Between these extremes there 
  89.       are relatively sharp boundaries, and it is at these boundaries that the 
  90.       beauty of the Mandelbrot Set lies.  The program allows the user to set 
  91.       the location of the central pixel on the screen, the range of values of 
  92.       the pixels calculated over the screen's surface, and the palette of 
  93.       pixel colors and brightness assigned to the pixels as a function of the 
  94.       point's stability. 
  95.              
  96.       To generate the Mandelbrot Set, we set Z = 0 on the initial pass 
  97.       through the equation                    0 
  98.                     2 
  99.              Z   = Z   + C 
  100.               n+1   n 
  101.       and mapped the equation in the complex plane of C.  Notice that this 
  102.       equation has two complex terms; C and Z.  Each of these terms 
  103.       represents a two dimensional plane, and the planes are not in the same 
  104.       space.  In fact, it is not possible for these planes to have more than 
  105.       one point (not intersecting line) in common.  The Julia Set is 
  106.       generated by setting the value of C as a constant for a whole set and 
  107.       incrementing the real and imaginary parts of Z to define the pixel 
  108.                                                     0 
  109.       
  110.       values across the computer screen.  The Mandelbrot Set maps the 
  111.       equation in the C plane and the Julia Set maps the same equation in
  112.       the Z plane.  The characteristics of the Julia Set are important 
  113.            0 
  114.       to understand if you are to control the images produced.  If C values 
  115.       are picked which are in a stable region of the Mandelbrot Set, Then the 
  116.       Julia Set will appear as a connected figure with a boundary which may 
  117.       appear simple.  As the value of C is moved near the edge of a stable 
  118.       region in the Mandelbrot Set, the boundary of the Julia Set exhibits a 
  119.       more complicated structure.  Once the value of C crosses the Mandelbrot 
  120.       boundary into an unstable region, the Julia Set explodes into a set of 
  121.       of small regions which quickly evaporate as the value of C moves 
  122.       further into the unstable region.  Because the appearance of the Julia 
  123.       Set depends on the value of C chosen, there are as many Julia Sets as 
  124.       there are values of C.  There are many Julia Sets; there is only one 
  125.       Mandelbrot Set. 
  126.        
  127.              
  128.              
  129.       RUNNING ASET16 OR ASET26: 
  130.              
  131.       There are six parameter sets which are used to control the ASET 
  132.       program: 
  133.       - whether the computer has a math coprocessor,
  134.       - the type of graphic display (hardware), 
  135.       - the palette used to determine the pixel values (colors), including 
  136.            a user defined palette, 
  137.       - whether the image is to be recorded, replayed or neither, 
  138.       - the number of iterations of the recursion executed before the 
  139.            program deems the point 'stable' and moves to the next pixel, 
  140.       - which plane (Set) to plot, the location of the center pixel on 
  141.            the screen, and the range of pixel values covered by the X and 
  142.            Y axes, 
  143.              
  144.       The program is started by typing FRACTAL and a carriage return.  First 
  145.       you will be asked if the system has a math coprocessor 
  146.       (8087/80287/80387) installed.  The program then loads one of the two 
  147.       other executable files on the disk and runs it.  If you press 'Y' for 
  148.       'yes'or 'N' for 'no', you will be asked to choose between the fast 
  149.       version or the high resolution version of the program.  If you have no 
  150.       coprocessor and are using a range greater than 0.02, pick the fast 
  151.       version of the program.  This runs  a special version of ASET16A.EXE 
  152.       (ASET26A.EXE), which is 5 to 10 times faster than the high resolution 
  153.       version of ASET16A.EXE (ASET26A.EXE) and produces a satisfactory image 
  154.       in these ranges.  More about range later.  If you select the high 
  155.       resolution mode with a math coprocessor, ASET16I.EXE (ASET26I.EXE) is 
  156.       run and the coprocessor is used if present.  Since FRACTAL.EXE must 
  157.       call either ASET16I.EXE (ASET26I.EXE) or ASET16A.EXE (ASET26A.EXE), all 
  158.       three of these files must be in the default directory.  
  159.       
  160.       You will then be asked to indicate which graphics card is installed in 
  161.       your computer by using the function keys.  Then you select the palette 
  162.       desired.  The palettes available vary with the graphics card you have 
  163.       picked.  
  164.       
  165.       
  166.       - The CGA card will show four available palettes, F1 through F4. The F1 
  167.       and F2 palettes are the same, execpt for color, as the F3 and F4 
  168.       palettes respectively.  F9 allows the user to subistute a palette which 
  169.       has the F1/F2 colors and F10 a user palette with the F3/F4 colors.
  170.       
  171.       - The EGA card has three palettes available as well as a user 
  172.       subistituted one.
  173.       
  174.       - The VGA card provides six palettes and opportunity for the user to 
  175.       substitute their own palette with one of two color spectrums.  F1, F3, 
  176.       and F5 use colors from the blue side of the spectrum while F2, F4, and 
  177.       F6 use colors from the red side of the spectrum.  F9 uses the blue 
  178.       spectrum and F10 the red spectrum for user provided palettes.
  179.       
  180.       - The Hercules card has two palettes with the opportunity for the user 
  181.       to substitute his/her own.
  182.       
  183.       How the points appear on the screen depends on the palette chosen.  As 
  184.       a rule, low palette numbers are better for the larger ranges.  And then 
  185.       there is the matter of aesthetics.  
  186.              
  187.       The range over which you can experiment has been greatly expanded with 
  188.       the F9 or F10 keys which allow you to load your own palette through a 
  189.       file you have written before running ASET.  You can use a DOS path in 
  190.       the file specification if the total keystrokes in the specification do 
  191.       not exceed 17.  If you do not specify the path, it is assumed that the 
  192.       file is in the default directory.  The file can be written with any 
  193.       editor (such as EDLIN) or word processor which allows text to be stored 
  194.       as an ASCII file.  The file consists of 32 numbers ranging between 0 
  195.       and 15 for VGA and EGA, 0 and 3 for CGA, and 0 and 1 for Hercules. 
  196.       These numbers are separated by spaces or carriage returns.  Examples of 
  197.       these palettes in the files VGA-EGA.DAT, CGA.DAT, AND HERCULES.DAT are 
  198.       found on the disk.  Each number represents a color which is the color 
  199.       displayed when the function for that point reaches its stability 
  200.       limit.  The numbers appearing near the front of the file are the colors 
  201.       displayed for unstable points.  Those later in the file for relatively 
  202.       more stable regions.  The specific colors displayed depend on the 
  203.       graphics adapter mounted in your computer.  These colors are: 
  204.              
  205.       
  206.              
  207.         #     Hercules                        CGA               CGA  
  208.                                              F9 key            F10 key
  209.       
  210.         0     black                          black             black 
  211.         1     bright                         cyan              green
  212.         2     no use                         magenta           red
  213.         3     no use                         white             yellow
  214.        
  215.       
  216.                  EGA                           VGA                VGA
  217.                                               F9 key            F10 key
  218.       
  219.         0     black                          black             black
  220.         1     blue                           dark dark blue    dark wine
  221.         2     green                          dark blue         deep wine
  222.         3     cyan                           deep blue          dark dark red
  223.         4     red                            medium blue       dark red
  224.         5     magenta                        blue              deep red
  225.         6     brown                          bright blue       med. deep red
  226.         7     white                          light blue        medium red
  227.         8     gray                           cyan              bright red
  228.         9     bright blue                    light cyan        orange red
  229.         10    bright green                   blue green        red orange
  230.         11    bright cyan                    bright green      light orange
  231.         12    bright red                     light green       orange yellow
  232.         13    bright magenta                 yellow green      med. yellow
  233.         14    bright yellow                  bright yellow     bright yellow
  234.         15    bright white                   pale yellow       pale yellow
  235.       
  236.       
  237.       There are no simple rules for picking the most pleasing set of 
  238.       colors for an image.  It is left to the user to experiment. 
  239.       Experiments are most easily performed on recorded image files 
  240.       because the underlying images are always the same and it only takes 
  241.       a few seconds to display the image with its new palette.  The 
  242.       palette is not recorded with the image.  The palette is just an 
  243.       interpreter between the image and the display.  If this explanation 
  244.       is confusing, try a few of your own palettes and you will quickly 
  245.       get the hang of it.        
  246.              
  247.       If you are using Version 2.6, you are next asked if you wish to record 
  248.       the image, play back a previously recorded image, or ignore the 
  249.       recording/playback feature.  You can use a DOS path in the file 
  250.       specification if the total keystrokes in the specification do not 
  251.       exceed 17.  If you do not specify the path, it is assumed that the file 
  252.       is in the default directory.  There must be enough room on the disk 
  253.       where you record the image.  Full Hercules requires 250k bytes, coarse 
  254.       Hercules 63k, CGA 64k, EGA 128k, extended EGA 224k, and VGA 307k.  
  255.       Images should be played back in the same mode in which they were 
  256.       recorded.  Otherwise, strange but not dangerous things happen.  You can 
  257.       guess what mode an image was recorded in by the file size.  If you 
  258.       choose to replay an image, the following steps are skipped. 
  259.       
  260.       Next, you can choose the number of iterations desired.  This is how 
  261.       many iterations the computer makes on a stable point before it gives 
  262.       up.  A low number speeds up the painting of an image in an area which 
  263.       has many stable points, but detail is lost and the colors displayed are 
  264.       affected.  The effects, however, may be pleasing.  As a rule images 
  265.       which have large ranges can do with fewer iterations.  An image with a 
  266.       range of 1.0 will be fine and be quickly produced with 32 iterations 
  267.       while an image with a range of .01 will be significantly improved with 
  268.       the greater detail found with 128 iterations.  It also will be noticed 
  269.       as you select larger numbers of iteration, palettes with lower numbers 
  270.       produce more pleasing results, e.g. if an image with a range of .1 
  271.       using palette F2 and 64 iterations is pleasing, then the same location 
  272.       and range using 128 iterations will probably be best using palette F1.  
  273.       Experimenting is required.
  274.              
  275.       ASET next asks you whether you want to display the Mandelbrot or Julia 
  276.       Set.  Then you must enter the values for real and imaginary values for 
  277.       the C and Z parameters.  These will be the values of the X and Y axes
  278.                  0
  279.       for the pixel in the center of the screen.  As explained in the math 
  280.       lesson above, all four parameters are needed to define the Julia Set, 
  281.       but a true Mandelbrot Set assumes the values of Z are both zero.  If 
  282.       you wish a true Mandelbrot image, enter zero for both Z parameters.  
  283.       Adventurous users, however, may be interested in the effects of numbers 
  284.       which are not zero in the Z parameters.  The range value is the range 
  285.       spanned by the X axis. For example, if the X value entered (for the 
  286.       center pixel) is 0 and the range value entered is 1, the range of the X 
  287.       axis will be from -0.5 to +0.5.  The range of the Y axis will be 
  288.       automatically set so that the image is not distorted.  The smaller the 
  289.       range, the greater the magnification.  In this respect, the range is 
  290.       like the altimeter on an airplane.  The smaller the number, the lower 
  291.       the altitude and the larger everything appears. 
  292.              
  293.       ASET now has all the parameters needed to calculate the stability of a 
  294.       large array of points on the computer screen.  It takes a long time to 
  295.       complete a Mandelbrot or Julia Set.  Just how long depends on the 
  296.       display selected, the computer clock rate, the microprocessor (8088 or 
  297.       80286), whether there is a coprocessor present, and the nature of the 
  298.       area selected (stable areas take longer to calculate than unstable 
  299.       areas).  As indicated above, the CGA display requires 64,000 points, 
  300.       EGA requires 128,000 points, extended EGA requires 243,200 points,  the 
  301.       Hercules requires 250,560 points, and VGA requires 307,200 points.  The 
  302.       coarse Hercules mode plots only 62,000 large pixels and is four times 
  303.       faster than the normal Hercules mode.  Rough approximations are that a 
  304.       10mHz AT with an 80287 coprocessor in the CGA mode and in an unstable 
  305.       area can complete an image in 5 minutes where a Hercules monochrome 
  306.       graphics equipped 4.7mHz XT in the Hercules mode in a stable area can 
  307.       take over 10 hours using the high resolution mode.  This same 4.7mHz XT 
  308.       will complete the same image in 2 hours using the fast mode.  Patience 
  309.       is required, but the results are often worth it.  Extreme patience is 
  310.       required if you do not have a coprocessor and run in the high 
  311.       resolution mode.  It is now obvious why the recording feature is so 
  312.       valuable.  If you run out of patience, you can stop the process at any 
  313.       time by typing 'S' for stop. 
  314.              
  315.       When the image has stopped by either normal completion or pressing the 
  316.       'S' key, you have two choices.  You can either leave the program by 
  317.       pressing the 'End' key or you call up a set of 'microscope' cross hairs 
  318.       on the image by pressing any of the arrow keys.  The arrow keys can 
  319.       move the cross hairs anywhere on the image.  The cross hairs allow you 
  320.       to select any location in the existing image to be the center of the 
  321.       next image.  The purpose is as follows.  It is common that when an 
  322.       image is complete that there is a feature of the image that interests 
  323.       you, or maybe you wish the image to be positioned differently on the 
  324.       screen.  Place the cross hairs on the object you wish to be centered 
  325.       and press the 'End' key.  The location of the cross hairs will 
  326.       automatically be entered for the C and Z parameters and a new range is 
  327.       requested.  If you wish to view the object which was under the cross 
  328.       hairs more closely, put in a range which is smaller (lower altitude) 
  329.       than was used the last time.  You can also use the same or a larger 
  330.       range than the previous time depending on what the purpose is.  Most of 
  331.       the time you will use this feature to examine the selected object more 
  332.       closely so this feature is referred to as the microscope.  You will not 
  333.       be able to change the other parameters such as the palette, recording, 
  334.       iterations, Mandelbrot or Julia.  If you were recording the image, the 
  335.       new image will be recorded over the old one and the old image will be 
  336.       lost.  The cross hairs work perfectly well on partially completed 
  337.       images which were stopped with the 'S' key.  The microscope also works 
  338.       on replayed images.  
  339.              
  340.              
  341.       Tips 
  342.              
  343.       A good way to begin is to view the entire region of interest in the 
  344.       Mandelbrot Set.  Enter the location Zr = 0, Zi = 0, Cr = -.5, Ci = 0, 
  345.       and a Range = 3.  The dark areas near the center of the screen are very 
  346.       stable areas.  They are sometimes called 'lagoons'.  The borders to the 
  347.       lagoons have the most intricate patterns and are the most interesting 
  348.       to investigate.  The dark areas near the edges of the screen are very 
  349.       unstable and of no interest.  This is a slow image to complete because 
  350.       there are many stable points in the image.  Images with many stable 
  351.       points proceed much faster if a low number of iterations are 
  352.       selected.   Next, it is instructional to locate an interesting area and 
  353.       to zoom in on it with successively smaller ranges (larger 
  354.       magnifications) using the microscope.  One of the most fascinating 
  355.       characteristics of the Mandelbrot Set is that no matter how high the 
  356.       magnification of the Set, the detail is never lost.  Note also that the 
  357.       patterns repeat over and over again.  The characteristic of repetitive 
  358.       patterns at finer and finer detail is called 'fractal', a word coined 
  359.       by Benoit Mandelbrot.  The ASET program uses single precision floating 
  360.       point in its calculations for speed.  This is the only limit to the 
  361.       detail in the patterns and is not a problem to even the serious user.  
  362.       This is not true for the fast version of the program used with 
  363.       computers without a math coprocessor.  This program loses detail below 
  364.       the range of 0.02.
  365.        
  366.       It is very useful to keep a notebook or log of the points you have 
  367.       tried or are trying.  Believe me, having your computer grinding away 
  368.       for hours on a Set which proves to be beautiful and not remembering the 
  369.       location and range is very frustrating!  The location of a set can be 
  370.       recalled by using the microscope and not moving the crosshair.  When 
  371.       the 'End' key is pressed, the coordinates of the previous set are 
  372.       displayed.
  373.        
  374.       Let's go through one example before you take off on your own.  Start 
  375.       ASET with FRACTAL and go through the menus selecting appropriate values 
  376.       and select the Mandelbrot Set (F1).  Enter 0 for Zr and Zi, -.75 for 
  377.       Cr, .11 for Ci and 1 for the range.  This shows an enlarged view  of 
  378.       the lower left edge of the major lagoon in the Mandelbrot Set.  The 
  379.       image takes a long time because there are many stable points in the 
  380.       image.  When the image is complete, press an arrow key and the cross 
  381.       hairs of the microscope will appear.  You can practice moving the cross 
  382.       hairs if you wish, but try to return them as close to the middle of the 
  383.       image as possible.  Press the 'End' key and enter .2 for the range.  
  384.       This will enlarge the image 5 times over the previous one.  You are 
  385.       right on the edge of a lagoon and much fine detail will be visible.  
  386.       When the image is complete this time exit the program by pressing the 
  387.       'End' key and restart the program.  This time select the Julia Set (F2) 
  388.       at the appropriate place.  Enter 0 for Zr and Zi, -.75 for Cr, .11 for 
  389.       Ci and 2.5 for the range. Notice that except for the range, these are 
  390.       the same values entered for the Mandelbrot Set.  Notice how many of the 
  391.       shapes resemble each other in the true fractal fashion.  They may 
  392.       remind you of elephants if you are using Hercules graphics.  Use the 
  393.       microscope to investigate features in this image.  If you select one of 
  394.       the small bumps on the back of an 'elephant' and enlarge it you will 
  395.       see many more 'elephants'. 
  396.        
  397.       Now you are on your own to explore.  Drop us a line if you have any 
  398.       suggestions. 
  399.        
  400.       
  401.        
  402.       CONCLUSION: 
  403.        
  404.       ASET is copyrighted (c) 1989 & 1990 by Image Laboratories.  It is for 
  405.       private use only and may not be modified or sold commercially without 
  406.       written permission.  Version 1.6 may be freely copied and distributed 
  407.       in its unmodified form.  If you find ASET entertaining, please support 
  408.       the shareware concept by registering your copy.  A copy of Version 2.6, 
  409.       or the most current version which provides for image recording and 
  410.       playback, will be sent to you when you register your copy by sending 
  411.       $35 to: 
  412.        
  413.        
  414.            Image Laboratories 
  415.            67 Old Stage Road 
  416.            Chelmsford, MA  01824 
  417.       
  418.       
  419.       Registered owners can upgrade their older copies of ASET by sending $5 
  420.       to the address above.
  421.