home *** CD-ROM | disk | FTP | other *** search
/ Graphics 16,000 / graphics-16000.iso / msdos / fractal / fract30 / fract.doc < prev    next >
Text File  |  1989-09-29  |  14KB  |  274 lines

  1. ===============================================================================
  2.               Mandelbrot/Julia set 2D/3D EGA/VGA Fractal Generator
  3.                      Written by Tom Collins and Dan Rowley
  4.                    (C) 1989 by Innovative Computer Solutions
  5.                           Documentation for FRACT v3.0
  6. ===============================================================================
  7.                                Shareware Notice
  8. -------------------------------------------------------------------------------
  9.  
  10. This program is shareware.  Please play with it for a few days.  If you grow
  11. attached to it, register it.  If you sell computers/monitors/VGA cards, and
  12. you use my program to show off the capabilities of such devices, I'd like you
  13. to register FRACT.  (Think about it this way, you're using my program to make
  14. money.  If it impresses someone enough to buy a VGA monitor/card, I think it's
  15. worth it to you to send me a few bucks.)
  16.  
  17.      [See the 'Registration' section at the end of this file for more info]
  18.  
  19. -------------------------------------------------------------------------------
  20.  
  21. You should have the following files on your disk:
  22.  
  23.        FRACT.EXE - The actual Fractal Generator.
  24.        FRACT.DOC - This documentation.
  25.        FRACT.NEW - What's been changed from previous versions.
  26.     REGISTER.FRM - Registration form
  27.     ????????.IMG
  28.     ????????.DAT - Sample images and data files for use with FRACT
  29.  
  30. If any of these files are missing, please call one of the boards listed at the
  31. end of this file to get a good copy.  When redistributing this program, be sure
  32. to include all of the above files.
  33.  
  34. -------------------------------------------------------------------------------
  35.                                 How to Use FRACT
  36. -------------------------------------------------------------------------------
  37.  
  38. Any time the computer is drawing a image, hitting the 'S' key or the left
  39. button on the mouse will save the image.  Pressing the escape key or the right
  40. mouse button will abort the image without saving it. If you save an image,
  41. you'll be able to continue drawing it at another time.
  42.  
  43. Menu items and their associated functions:
  44.  
  45. Create a 2-D Mandelbrot image
  46. -----------------------------
  47.      The program will ask you for the x (real) and y (imaginary) coordinates
  48.      corresponding to the center of the image.  You will then be prompted for
  49.      the side length and the filename to save the image under.  Leaving the
  50.      filename field blank will cause the image to be drawn without saving.
  51.  
  52.      [Note:  The Mandelbrot set is contained within the x coordinates (-2.1 and
  53.      +0.7) and the y coordinates (+1.4 and -1.4).  You can create an image of
  54.      the Mandelbrot set by using the following data:  x:-0.7, y:0, side:2.8.]
  55.  
  56.      The image will be drawn with dots separated by progressively smaller
  57.      spaces.  This should give you some idea of what the image will be like so
  58.      you can abort it early if you don't like it.
  59.  
  60.  
  61. Create a 3-D Mandelbrot image
  62. -----------------------------
  63.      The only difference between the 2-D and 3-D versions of the Mandelbrot
  64.      images is the method used to draw the image.  The 3-D image is drawn with
  65.      diagonal lines starting from the upper right-hand corner.
  66.  
  67.  
  68. Create a 2-D Julia image
  69. ------------------------
  70.      The program will ask you for the x and y coordinates corresponding to a
  71.      point on the Mandelbrot Set.  This is the point from which the Julia set
  72.      will be drawn.
  73.  
  74.      The Julia image will be drawn from both sides, as it is symmetric about
  75.      the origin.
  76.  
  77.  
  78. Create a 3-D Julia image [registered version only]
  79. --------------------------------------------------
  80.      Once again, the only difference between the 2-D and 3-D versions of the
  81.      Julia sets is the method used to draw the image.  Like the 3-D Mandelbrot,
  82.      the 3-D Julia will be drawn with diagonal lines starting from the upper
  83.      right-hand corner.
  84.  
  85.  
  86. Continue drawing an old image
  87. -----------------------------
  88.      A list of available files will be displayed.  After choosing a file, the
  89.      image will be loaded and the program will pick up from where it left off.
  90.      Hitting escape from the list of files will return you to the main menu.
  91.  
  92.  
  93. Remove registration notices [registered version only]
  94. -----------------------------------------------------
  95.      This option will remove the 'Register Your Software' message from a file
  96.      chosen from the file list.
  97.  
  98.  
  99. Add extra sets of iterations
  100. ----------------------------
  101.      This feature is used to improve the quality of some images.  Adding extra
  102.      iterations redraws black areas of the image, possibly adding more color.
  103.      Each set of iterations adds approximately 200 actual iterations to the
  104.      computations for each dot [the image starts out with 200 iterations].
  105.      Adding iterations will slow down the generation of the image, and it is
  106.      advised that you add at most 5 sets.  [Note:  Adding is cumulative.]
  107.  
  108.  
  109. Load and view image
  110. -------------------
  111.      You will once again go through the file selection menu.  After choosing an
  112.      image it will be loaded and displayed on the screen [EGA images take
  113.      longer than VGA.  VGA images will be faded onto the screen].
  114.  
  115.      While the image is still on the screen the following options are
  116.      available:
  117.           Pressing 'X' will change to and from an 'X-ray' palette.  This
  118.           occasionally produces some interesting effects.
  119.  
  120.           Pressing the space bar will cause the palette to rotate giving the
  121.           illusion of movement.  Pressing the space bar again will stop the
  122.           rotation.  If you are using a mouse, pressing the left button will
  123.           start the palette changing and pressing the right button will stop
  124.           it.  While holding the left button down, the speed of rotation can be
  125.           adjusted by moving the mouse horizontally.
  126.  
  127.           Pressing escape or the 'Q' key will bring you back to the main menu.
  128.  
  129.  
  130. Get info on an image
  131. --------------------
  132.      This option will display pertinent information on any image you choose.
  133.  
  134.  
  135. Zoom in to create a new image
  136. -----------------------------
  137.      This option allows you to choose any point on an existing image and
  138.      magnify it to create a new image.  Choose the point by using the arrow
  139.      keys/numeric keypad on the keyboard or the mouse.  Clicking the left
  140.      mouse button, or pressing 'M' or Enter on the keyboard will create a
  141.      Mandelbrot image.  Clicking the right mouse button, or pressing 'J' will
  142.      create the corresponding Julia Set for that point.  When creating a new
  143.      Mandelbrot image you will be asked for a magnification factor [Note:  25
  144.      is a good factor].  When creating any image, you will also be asked for a
  145.      filename to save the image under.
  146.  
  147.  
  148. Slide Show of all images [registered version only]
  149. --------------------------------------------------
  150.      This option will cycle through all of the images in the current directory,
  151.      displaying and rotating the palette for a short period of time before
  152.      loading the next image.  VGA images will fade in from black, and then fade
  153.      back to black after cycling.  Press escape to abort the slide show.
  154.  
  155.  
  156. Quit
  157. ----
  158.      Clears the screen and drops to DOS.
  159.  
  160.  
  161. -------------------------------------------------------------------------------
  162.                                      History
  163. -------------------------------------------------------------------------------
  164. I've been interested in Fractal Geometry, especially the Mandelbrot Set, ever
  165. since my father tried to write a program from algorithms appearing in the
  166. August 1985 Scientific American Computer Recreations column.  When I first saw
  167. the program, it was on my Apple IIe.  Written in BASIC, it plotted black and
  168. white dots on the hi-res screen in a square of 100 pixels per side.  I
  169. modified the program to use the full screen (280x192) and the 5 colors that
  170. Apple hi-res is limited to.  I got bored fast, so I rewrote the program using
  171. some double hi-res routines that reduced the size of the image to 140x140, but
  172. expanded the colors to include 10 of the 16 double hi-res colors available.
  173. Since I had brought my Apple to the limit with color and resolution, I tried a
  174. 3D version. It didn't work out very well, and I put the program on hold.
  175.  
  176. A little while after I had failed at the 3D version, Dan Rowley offered to let
  177. me write some programs using super hi-res on his Apple II GS.  I turned out a
  178. program that used the 320x200 mode with a 16 color blue scale.  It turned out
  179. great images, but took forever to draw.  (The entire Mandelbrot set took over
  180. 8 hours, partially because of slow plotting routines.)  At about the same
  181. time, my father offered to let me use the new IBM PS/2 at his office.  I wrote
  182. the original IBM version on that computer, using Turbo Pascal (probably 3.0).
  183. The program was limited to 4 colors, so I dropped that project.
  184.  
  185. The programming stopped for the summer, until I arrived at Penn State.  I
  186. decided to make another attempt at the 3D program, using Turbo Pascal on a
  187. Macintosh.  The outcome wasn't all that bad, considering the fact that it was
  188. drawn in black and white.  It did however, establish a system of plotting in
  189. 3D.
  190.  
  191. With renewed interest in the program, I rewrote the double hi-res Apple version
  192. over my Thanksgiving vacation.  I had it automatically draw 196 images that,
  193. when put together, formed the entire Mandelbrot set (and took up over 6 and 1/2
  194. megs of hard drive space).  I set the program working when I left for school,
  195. and it was just finishing up when I returned 3 weeks later.
  196.  
  197. During Christmas vacation, I had my friend, Dan Rowley, write some new machine
  198. language routines, for the GS version, to plot the data to the screen.  By
  199. that time, I had also refined the program, and it was running much faster than
  200. before.  With the new program and the routines, the program drew the entire
  201. Mandelbrot Set in only 3 hours.  The only problem was that images couldn't be
  202. saved.  Since then Dan has been working on a version written in TML Pascal.
  203. All GSFract related queries should be directed to him.  Look for an official
  204. release later this year.
  205.  
  206. When I returned from my Christmas break, I had the source code to an excellent
  207. program (PLASMA by Bret Mulvey) that included the routines I needed to use VGA
  208. graphics in my program.  I rewrote my program in Turbo Pascal (v5.0), to
  209. include the VGA routines.  Since then, most of the routines have been changed,
  210. and the code was rewritten twice.  I consider this version to be the best so
  211. far.  It can compute the entire Mandelbrot Set in approximately 20 minutes (on
  212. a PS/2 model 30-286), uses 320x200 pixels, and a total of 192 different colors.
  213. The image can be saved and reloaded, and the palette can be rotated to produce
  214. interesting effects.
  215.  
  216. As summer vacation approached, I realized that I would no longer be able to
  217. develop the program on my roommate's PS/2.  I quickly added EGA support to the
  218. program, but it was very sloppy.  Since then most of the changes to Fract have
  219. been either cosmetic or structural.  Attempts were also made to make the
  220. program more user friendly.
  221.  
  222. -------------------------------------------------------------------------------
  223.                               About the Authors...
  224. -------------------------------------------------------------------------------
  225. I'm a sophmore majoring in Computer Engineering and Computer Science at Penn
  226. State University's Main campus.  I've programmed in BASIC ever since I got my
  227. Apple IIe in 1983, and in Pascal since 1986.  I'm currently trying to learn
  228. 'C' and taking a class in assembly.
  229.  
  230. Dan Rowley is a sophmore majoring in Computer Science at Arizona State
  231. University.  He's programmed in BASIC ever since he got his Apple ][ back in
  232. 1979.  He now programs in Pascal, C, and assembly language on his Apple II GS
  233. and IBM AT.  Dan has taken over development of the GS version.
  234.  
  235. -------------------------------------------------------------------------------
  236.                      About Innovative Computer Solutions...
  237. -------------------------------------------------------------------------------
  238. ICS came about after an internal conflict resulted in Olympic Technologies
  239. being dissolved.  ICS currently consists of the two authors of Fract, and we
  240. are committed to making computers more useful.  Our services include
  241. consulting, computer installations, custom programming, tutoring, and computer
  242. maintenance.
  243.  
  244. -------------------------------------------------------------------------------
  245.                           Registration/Shareware notice
  246. -------------------------------------------------------------------------------
  247. To register the program, send me five dollars and a formated disk (either
  248. 5.25" or 3.5") along with your name, address, phone number, and where you can
  249. be reached by computer. The registered version will add all gray menu options.
  250. For an extra twenty dollars, I'll put your company name (limit 25 characters)
  251. in place of the 'Register Your Software' message.  If you'd like a version
  252. done for another computer, please tell me, and I'll try to get you a copy of
  253. one.  I hope to have a version available for the Apple IIGS, and possibly the
  254. Mac II [as soon as I can find a language that supports the graphics].
  255.  
  256. The ICS Headquarters is located at:  Innovative Computer Solutions
  257.                                      2975 Macungie Road
  258.                                      Emmaus, Pa  18049
  259.                                      ATTN:  Tom Collins, Jr.
  260.  
  261.            Tom's school address is:  Tom Collins
  262.                                      618 Stuart Hall
  263.                                      University Park, Pa  16802
  264.  
  265.            Dan's school address is:  Dan Rowley
  266.                                      950 S. Terrace Rd
  267.                                      Apt. D268
  268.                                      Tempe, AZ  85281
  269.  
  270.                  [Note:  School addresses good until May 1990]
  271.  
  272. Bitnet/Internet addresses:  Tom - tbc101@psuvm.asu.edu  or tbc101@psuvm.bitnet
  273.                             Dan - audsr@asuacad.asu.edu or audsr@asuacad.bitnet
  274.