home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 2 / DATAFILE_PDCD2.iso / fractals / fractal107 / fractal_10 / _fractal / help / overview < prev    next >
Encoding:
Text File  |  1994-01-25  |  19.6 KB  |  401 lines

  1.   ________________________________________________________________________
  2.  /                                                                        \
  3. |                !Fractal v1.07: General Fractal Plotter                   |
  4. |                            January 1994                                  |
  5. |                           by Mike Curnow                                 |
  6.  \________________________________________________________________________/ 
  7.  
  8.  
  9. Introduction
  10. ============
  11. Fractal is designed to be a universal fractal generator. Fractal has two
  12. purposes. Firstly to provide you with a comprehensive application to examine
  13. fractal functions and images. Secondly it is designed as a platform for
  14. fractal programmers to add their own routines. This enables these routines
  15. to get immediate Wimp access and support of the 3d functions etc.
  16.  
  17. Help - Fractal fully supports the !Help application, including help on
  18. menus. Try !Help before looking here - it will save you a lot of time!
  19.  
  20. A brief guide to usage.
  21. ----------------------
  22. Double click on the !Fractal filer icon to load, and then click one the
  23. Mandelbrot tool icon to display the initial fractal (a Mandelbrot). Select a
  24. 256 colour mode from the Palette application to see the image correctly.
  25. Alternatively you can click with Adjust over the iconbar icon to open a full
  26. screen window (though still in desktop mode). Clicking with Select re-opens
  27. the main window if closed.
  28.  
  29. Many of the main functions of Fractal can be performed from the Tools pane
  30. on the left. The main menu provides access to all of these functions and
  31. more.
  32.  
  33. To Zoom in click with Select over the 1st tool icon, or use Adjust to zoom
  34. out. A zoom box will appear - use the left mouse button to shrink the zoom
  35. box, and the right button to enlarge it. Press the middle button to start
  36. the redraw operation. The machine will be locked until the redraw is
  37. complete or until you press Adjust, at which point multi-tasking mode will
  38. be entered. Note that some functions never end until you select Image->Stop.
  39. Also note that when in full screen mode the desktop is still active - its
  40. just that the other windows are hidden. To close the full screen window
  41. select Display->Hide.
  42.  
  43. The screen can be saved by using the Image->Save option. Saved drawings may
  44. be reloaded by simply dragging the saved sprite onto the Fractal icon,
  45. allowing zooming to re-commence.
  46.  
  47. A good way to see the power of Fractal is via the supplied scripts. Click
  48. on Misc->Scripts which will open a Filer window. Drag one of the text files
  49. onto Fractal and a fractal will be drawn.
  50.  
  51. System Requirements
  52. ===================
  53. Fractal 1.xx requires RiscOS 3.1 or higher. Use Fractal 0.30 on previous
  54. releases of RiscOS. Fractal will run in a 1Mb machine, depending on the
  55. options chosen, but Fractal can use as much memory as you have to generate
  56. huge images.
  57.  
  58. Fractal requires a considerable amount of storage : 350k for code, sprite
  59. image size (depends on mode), 1 or 2 banks of screen memory, so be prepared.
  60. Some functions are disabled if there is insufficient memory. To save space,
  61. some functions load their data on first selection so be prepared for further
  62. disk activity. Many functions also dynamically acquire memory, so keep some
  63. free. If you get memory problems try Image Mode=13 and turn off Previous
  64. Image Save in the Options panel.
  65.  
  66. Fractal takes full advantage of the ARM3 processor, FPA processor and
  67. graphics enhancer boards when fitted. An ARM3 will give 4-5 times speed
  68. improvement. The FPA chip will improve floating point calculations by 10-20
  69. times. If you do not have an FPA chip don't worry - Fractal uses integer and
  70. fixed point routines where possible, the major drawback being lack of accuracy.
  71.  
  72. If you have an FPA chip Fractal automatically uses floating point routines
  73. when and if these are faster than its own integer based ones. An FPA chip is
  74. recommended. The following timings illustrate the performance available
  75. compared to a fast PC.
  76.  
  77. Acorn: Fractal 106 running on an A410 25Mhz ARM3+25MHZ FPA, CC colour card.
  78. PC: Fractint running on a 486-33DX (inbuilt fpa) with local bus video.
  79. Function: Mandelbrot, x=-25, y=-1.5, w=4, h=4, iter=150 (Fractint's defaults).
  80. Image size: 800x600 256 colours.
  81.  
  82. Image Size   Maths       Acorn         PC
  83. 800x600      Integer      6.20        6.37 seconds
  84. 800x600      Float        7.31        8.02
  85. 1024x768     Integer      8.68        9.62
  86. 1024x768     Float       10.45        12.25
  87.  
  88. An A5000 (25Mhz) will be about 10-15% faster due to faster memory, whilst
  89. the A5000 33Mhz will be 30-40% faster. So dont sell your Acorn for a PC,
  90. just buy an FPA, a bargain at £100.
  91.  
  92. Full Operation Information
  93. ==========================
  94.  
  95. The fractal plot is displayed either in a full screen window, which may be
  96. hidden at any time by selecting Display->Desktop from the menu, or in a
  97. standard re-sizeable window. When not in a 256 colour mode the colours are
  98. matched as best as possible, but this may lead to loss of image detail.
  99.  
  100. When an image is re-drawn Fractal attempts to enter the image mode to allow
  101. the image generation to be seen. To avoid out of memory problems it may be
  102. best to pre-select this mode from the Palette task or from the
  103. 'Options->Full screen mode' when in full screen mode. If the image size is
  104. different from the screen size, then no attempt is made to show the re-draw
  105. as it proceeds. To avoid annoying screen flicker on mode changes, it is best
  106. to enter full screen mode with the display mode same as the image mode (this
  107. is the default). 
  108.  
  109. Automatic Last Display Save
  110. ---------------------------
  111. Most operations which modify the current image will save it in memory. The
  112. prior image may be recalled by selecting Display->Previous from the menu.
  113. Thus you can zoom in to inspect an area, then quickly back out to the
  114. previous display. To maintain further images use the load and save
  115. facilities.
  116.  
  117. Colours And Palettes
  118. --------------------
  119. Fractal works with graphics enhancer boards by allowing all 256 colours of
  120. the palette to be programmed, rather than the fixed 256 colours usually
  121. provided. Select Misc->Options->256 Colour Palette to turn on graphics
  122. enhancer support. Do not attempt to use the 256 colour palette options if
  123. you do not have a graphic enhancer board. Do take Fractal along to your
  124. dealer to see how wonderful a fully selectable palette can be, especially in
  125. high resolution screen modes such as 800x600.
  126.  
  127. If you do not have a graphics card you can still view Fractal's output in
  128. full 256 colour by saving the image as a GIF file and then using ChangeFSI
  129. or Translator to get a dithered sprite.
  130.  
  131. The palette in 256 colour modes cannot be changed by the !Palette utility
  132. and are in a strange sequence. However !Fractal allows the 256 colours to be
  133. arranged in any sequence or for a subset of the colours to be used. This is
  134. useful to highlight detail or produce more realistic displays in 3d mapping
  135. eg. the landscape palettes. Palettes may be editted via the supplied
  136. !EditPal application and a selection of ready made palettes is in the
  137. directory displayed from the Palette->Files menu option. Palettes can be
  138. loaded by dragging onto a !Fractal window.
  139.  
  140. Without a graphics board you will not see the full range of colours, but you
  141. can still alter the sequence and range of colours used. To get a better view
  142. save the image as a GIF file and then use ChangeFSI or Translator to get a
  143. dithered sprite.
  144.  
  145. Within !Fractal all colours are numbered 0-255 corresponding to the physical
  146. colour numbers. Use !EditPal to see the actual colour for each value, since
  147. this will be dependent on the palette. In the RiscOS default palette the
  148. sequence 0 to 255 results in a strange order of colours. To overcome this
  149. use the RGB palette where the colours cycle through Tint,Red,Green,Blue in
  150. ascending order (values 0-3 each). If you are familiar with the GCOL and
  151. TINT values of BBC BASIC then try the LOGICAL palette. This will give the
  152. colour mapping Red,Green,Blue,Tint in ascending sequence.
  153.  
  154. Alternatively try a single colour palette such as Grey256.
  155.  
  156.       ----------------------------------------------
  157.  
  158. Setting Your Own Defaults
  159. =========================
  160. Besides the settings available from the Options panel, there are two ways
  161. you can set up your own default values for !Fractal :
  162.  
  163. a) Load !Fractal and make your settings (eg. image mode, fractal function),
  164. and then save the image+data with the name Default within the !Fractal
  165. directory. The next time you start the program, the Default sprite will be
  166. loaded and values set from there.
  167.  
  168. b) Within the !Fractal directory is a file called Initial. This is a fractal
  169. script which is executed at start up time. You can place any valid script
  170. commands in here to set your defaults. See the !Scripts help file for full
  171. details.
  172.  
  173. Note that the Initial script is executed after loading the Default sprite.
  174.  
  175.       ----------------------------------------------
  176.  
  177. 3d Plotting
  178. ===========
  179. There are three kinds of 3d plotting in !Fractal - 3d images, 3d mapping and
  180. 3d transformations. 
  181.  
  182. 3d Images
  183. ---------
  184. This refers to functions which create 3d shapes - Lorenz, Pickover, Rossler
  185. - these just all happen to be strange attractors at the moment. You will
  186. find that you need to change the rotation and elevation to get an
  187. appreciation of these shapes. To help in this process, you can change the
  188. viewpoint whilst the plot is underway. Simply press the cursor keys to
  189. change the viewpoint in increments of 5° in each direction. The plot stops
  190. and the most recent part of the image is redrawn to indicate the new
  191. viewpoint. Press the Spacebar to restart the plot.
  192.  
  193. The number of points redrawn is set by the 3d-buffer size - increase it for
  194. more points, but this will slow down the redraw. Try 500 points with an
  195. ARM-2, 1500 with an ARM-3. If possible !Fractal will redraw the image in
  196. shadow memory to avoid flicker. For the Lorenz and Rossler functions
  197. increase the Step Rate variable to around 2.0e-2 to show enough of the
  198. image.
  199.  
  200. Note that when altering the viewpoint, the image is rotated about the origin
  201. of the image, not the screen. This is most notable when changing the
  202. elevation on the Lorenz attractor.
  203.  
  204. 3d Mapping
  205. ----------
  206. With pixel plotting functions the pixel colour can be used as the height
  207. (Julia, Lyapunov, Mandelbrot, Newton, Popcorn-Julia, Unity). The results are
  208. similar to creating an image and then transforming it with 3d_View. The
  209. advantage of the direct plot is that a full screen image is created, and you
  210. can zoom into the image. The disadvantage is that it disables the pixel
  211. guessing mechanism, resulting in a noticeable loss of speed.
  212.  
  213. When zooming the zoom box represents the approximate image area at zero
  214. height - you will find you will need to zoom in lower, anticipating where the
  215. base of the image is. Do not alter the viewpoint and zoom at the same time -
  216. do these seperately, otherwise results will not be as expected. Note that
  217. zooming does not change the height.
  218.  
  219. The height mapping parameters control how the pixel colour is mapped onto a
  220. height. To increase the overall height increase the height scalar. Use the
  221. min & max height parameters to clip the image to get a 'slice' - this is
  222. most useful for smoothing spiky peaks. It can be useful to set the max
  223. height value to the same as the iteration value of the function. Note that
  224. heights above 255 are wrapped around to zero.
  225.  
  226. The centre of rotation and elevation is the centre of the image. Decreasing
  227. the elevation will therefore bring more of the foreground and distance into
  228. view. Note that the integer plot functions (such as Mandelbrots) can't fully
  229. cope with vey low viewpoints, and may produce no image at all. Try zooming
  230. in to overcome this, or switch to full precision maths.
  231.  
  232. 3d Transformations
  233. ------------------
  234. These are functions which take an image and perform a 3d transformation
  235. (3d_Plane, 3d_View, Render, Riemann). All but the Riemann transform the
  236. image by using the pixel colour as the height, using the same mapping
  237. process as described above and controlled by the same height mapping
  238. parameters. The Riemann function projects the image onto a Riemann sphere.
  239. For full details on Riemann see the help file !Functions.
  240.  
  241. ----------------------------------------------------------------------------
  242.  
  243. Adding Your Own Routines
  244. ------------------------
  245. !Fractal allows your own fractal routines written in ARM Assembler or C code
  246. to be added. For full details please send a SAE + disc to me at the address
  247. below, stating whether you want to program in C and/or Assembler.
  248.  
  249. Programming
  250. -----------
  251. !Fractal is written in C and ARM assembler for maximum speed. Contact me if
  252. you would like to contribute your own Fractal function to !Fractal. You will
  253. get full credits and become part of the best Archimedes fractal program ever
  254. (well I am hoping so).
  255.  
  256. Bugs And Errors
  257. ---------------
  258. I am aware that this release still contains bugs. Sorry, but if you
  259. treat it kindly things should be ok. Division by zero or overflow error
  260. messages indicate a problem with the input data for the function. If you get
  261. error messages such as Address Exception then press CANCEL on the error box.
  262. A screen showing more diagnostics will appear. To help me fix the problem
  263. please note the details along with release of !Fractal, info on your machine
  264. and how the problem manifests itself. See if the problem is recreatable. If
  265. you let me know, then I'll endeavour to fix the problem.
  266.  
  267. History
  268. -------
  269. 0.10 03/07/91 : Initial versions sent out to attract developer interest.
  270. 0.11 08/07/91 : Cleaned up palette handling, added Mbrot<->Julia routines.
  271.                 Added palette stepping and timing of non x/y functions.
  272. 0.12 24/07/91 : Cycle with only 1 screen bank for modes 21,24,28 etc.
  273.                 Created Fraclib for assembler functions and documented
  274.                 programming interfaces.
  275. 0.13 04/08/91 : Added IFS 2d plus extra internal !Fractal functions.
  276. 0.14 10/08/91 : Added full desktop operation.
  277. 0.15 05/09/91 : Lots of additions and experiments. Added tools, fast x/y
  278.                 plotting, Render and Riemann functions. Extended Mandelbrot
  279.                 and Julia functions, plus better Assembler support.
  280. 0.16 12/09/91 : Cleaned up some bugs; colouring options for Mandelbrot;
  281.                 provided data variables for 3d plotting control.
  282. 0.17 29/09/91 : Added Options control; Henon and Newton functions; inverse
  283.                 Mandelbrots
  284. 0.18 27/10/91 : Added Popcorn, Lorenz and L-systems. Major enhancements to
  285.                 3d control and Riemann now works properly. Periodicity
  286.                 checking added to Mandelbrots. Unknown sprite import. Also
  287.                 improved error trapping.
  288. 0.19 15/11/91 : Added fast floating point support - Newton & Riemann changed
  289.                 to use it. Added 3d tools icons, 2 more palettes, 2 more
  290.                 Mandelbrots. Added Midpoint function. General tidy up ready
  291.                 for release.
  292. 0.20 25/11/91 : Sent to Archimedes World for public release. Included speeded
  293.                 up version of Popcorn using FPE_Lib.
  294. 0.21 14/12/91 : Added Pickover, Rossler & Unity functions. Lorenz to 3d.
  295.                 Added 3d image generation and realtime 3d control. Sent to
  296.                 Acorn User.
  297. 0.22 26/02/92 : Added palette editing and interactive help. 3d style push buttons.
  298.                 Sent to Micro User.
  299. 0.23 08/03/92 : Added Quaternion.
  300. 0.24 24/03/92 : Added Fault and Bifurcate. Colour cycling now works on all
  301.                 palettes. Sent to Micro User.
  302. 0.25 14/04/92 : More Bifurcations and Linear faults. X/Y Position window.
  303.                 Script programming facility.
  304. 0.26 27/04/92 : Extended script programming. CellFill function. L-System
  305.                 improvements. Numerous bugs fixed as well (about time too!).
  306. 0.27 04/05/92 : A5000 & A540 support. Zoomable display. More bug fixing.
  307. 0.28 10/05/92 : Display colours correctly in 16 colour modes. New method of
  308.                 setting defaults.
  309. 0.29 24/05/92 : Better 3d height scaling. Direct Riemann plot. Plasma func.
  310. 0.30 27/11/92 : L-System enhancements, RiscOS 3.1 fixes.
  311. 1.00 09/03/93 : Support for full 256 colour palettes. RiscOS 3.1 exploitation.
  312. 1.01 27/04/93 : Added Lyapunov function, random palettes, more RiscOS 3.1.
  313. 1.02   /05/93 : New version of flex memory management (faster).
  314. 1.03 20/07/93 : Improved Point plotting options. GIF File support. More
  315.                 RiscOS 3.1 support. Standardised colour number handling.
  316. 1.04 01/08/93 : Quazi Mandelbrot & Julia. Periodicity checking on floating
  317.                 point Mandys & Julias.
  318. 1.05 08/09/93 : FPA enhancements: Bifurcate, IFS, Lorenz, Newton, Pickover
  319.                 & Rossler default to FPA use when available. Much faster Mandy
  320.                 FP routines and automatic switchover when FPA installed.
  321.                 Image Details panel describing hardware and techniques.
  322.                 Speed improvement on 32 bit floating point emulator.
  323. 1.06 21/09/93 : Add all 256 modes to Image->Modes menu. Finer zoom control &
  324.                 turn off cross hairs at high zoom. Mandelbrot DEM & CPM modes.
  325.                 Mandelbrot 96-bit precision. Extension to Script commands.
  326.                 Bug fixes to GIF load. Handle reload of older versions of
  327.                 Fractal sprites.
  328. 1.07 25/01/94 : Support 256 colour modes of CC Gold. !NewLook conformance.
  329.                 Switchable numeric display precision.
  330.  
  331. To obtain the latest version send a blank formatted disk + SAE to Mike
  332. Curnow. Contributions (money or fractal programs) to help run the Archimedes
  333. Fractal Group are welcome - you'll get sent Newsletters on fractals in
  334. return.
  335.  
  336. The Future
  337. ----------
  338. To come (amongst other essential features) :
  339.  
  340. Loads more fractal functions (volunteers please).
  341. More 256 colour palette exploitation.
  342. Many more image manipulation facilities.
  343. Better script handling (full expression handler).
  344.  
  345. Suggestions are always welcome as are algorithms.
  346.  
  347. Contributors (people who have supplied code or algorithms)
  348. ============
  349. Many thanks to Joyce Haslam for the Mandelbrot and Julia equations, Popcorn
  350. and one of the Henon's.
  351.  
  352. Jean Van Mourik for the Fill algorithm. Little did you know it could be so
  353. beautiful!
  354.  
  355. Credits
  356. =======
  357. This program would not exist without the benefit of previous work by many
  358. people. In particular Fractal Report and Fractint have been a major source
  359. of inspiration. More detailed sources are given in the !Functions help file.
  360.  
  361. Thanks to A.Fedonczuk for the original 32 bit integer routines.
  362. Stuart Payne of Acorn for the original Render algorithm.
  363. Michael Attenborough for the fast Lyapunov plotter idea (BAU Feb 92).
  364.  
  365. To Fractal Report for many of the ideas including the X/Y Guessing
  366. algorithm, Riemann plot, IFS affine maths. For a free copy of Fractal Report
  367. write to RTL Ltd, West Towan House, Porthtowan, Truro, Cornwall, TR4 8AX.
  368.  
  369. To the authors of Fractint for initial inspiration and many bits that don't
  370. get credit otherwise. Stone soup forever!
  371.  
  372. John Greening for many of the L-system codes and inspiration.
  373.  
  374. Copywright Notice
  375. =================
  376. The copywright of this material belongs to Mike Curnow. This software is not
  377. "Public Domain". However permission is granted for non-commercial use of
  378. this software and associated material as long as NO CHARGES ARE LEVIED
  379. except to cover costs. Copies of this software may be freely distributed
  380. amongst individuals on a no-charge basis. Public Domain and commercial
  381. organisations are kindly asked to contact the author prior to circulation
  382. and use of this program.
  383.  
  384. Archimedes Fractal Group (AFG)
  385. ==============================
  386. This software is part of the Archimedes Fractal Group collection. If you
  387. have obtained this software outside of the AFG and would like to find out
  388. more about fractal programming on the Archimedes, contact me (the AFG
  389. administrator) at the address below. Send a SAE and a disk to get a copy of
  390. the latest newsletter and programs disk.
  391.  
  392. Mike Curnow,
  393. 30 Bowen Drive,
  394. West Dulwich,
  395. London
  396. SE21 8PN
  397.  
  398. SAE with all correspondance please.
  399.                        
  400.                    <<<< MAY CHAOS BE WITH YOU! >>>>
  401.