PowerFrax
=========
PowerFrax is a benchmarking application that generates fractals from the classic Mandelbrot set. The fractal patterns that are shown on the screen are the result of intense floating point calculations performed for each pixel in the image. The length of time required to perform these calculations is a good measure of the capabilities of the processor or processors performing them. PowerFrax has a built-in timer that allows comparisons to be easily made.
Using PowerFrax
===============
PowerFrax has a number of features that make exploring fractals easy and fun.
When you first launch PowerFrax it will open a new window and display the Mandelbrot set. To explore the fractal select the Crop tool in the Info window.
Now click and drag out a selection within the fractal to create a new fractal zoomed in on the area selected. This is the principle way to explore the fractal. To make a square selection hold down the shift key. The area selected is magnified into a new window. Clicking and dragging will work in any fractal window.
The PowerFrax Tools
===================
This section describes the function of the PowerFrax tools.
Drag And Drop
-------------
This tool will let you drag a copy of the current window to any application that will accept a dropped picture, e.g. the Scrapbook or the Finder.
Crop
----
As described above, this tool will let you magnify a selection from an existing fractal into a new window.
Magnify
-------
This tool will let you magnify a fractal. Holding the option key down will let you reduce the fractal.
Shift
-----
This tool will let you shift the fractal. Only the exposed areas will be recalculated. The generation time is not applicable and will not be displayed for a shifted fractal.
Sample
------
This tool is only available for Julia Set fractals. It is described below.
The PowerFrax Menus
===================
This section describes the options available in the PowerFrax menus.
The File Menu
-------------
New - Creates a new Mandelbrot set or one of a number of different types of documents if plug-ins are installed.
Open - Opens a previously saved fractal.
Cycle - All previously saved fractals in the selected folder will be played back repeatedly until 'Stop Cycling' is selected from the File menu.
Close - Closes the current fractal. Hold down the option key to close all the fractals.
Save - Saves the current fractal. Note that PowerFrax does not prompt the user to save changed fractals so be sure to save fractals that you like before closing them or quitting PowerFrax.
Save As - Same as save except that the user will be prompted to name the fractal.
Page Setup - Sets up printing parameters using the standard Page Setup dialog.
Print - Prints the current fractal.
Quit - Quits PowerFrax.
The Edit Menu
-------------
Copy - Copies the current fractal to the clipboard.
Default Fractal - Changes the fractal that will be generated when 'New' is selected. This option can also be used to restore the original default fractal.
The Control Menu
----------------
Restart - Restarts the current fractal from the beginning.
Repeat - Restarts the current fractal from the beginning. Each time it finishes it will be restarted again after a one second delay.
Exact Colors - Uses the precise color set associated with the fractal. This option is not needed and is not available when the monitor is in millions of color mode. When this option is used, colors in windows other than the current fractal window may not appear correctly. Monitors with at least 256 colors capability are required for this option to work well.
Animate Colors - Centers the current fractal on the monitor, grays out the rest of the screen then cycles through all the available colors in the color set associated with the fractal. Use the command key to reverse the direction of the animation. The option key freezes the animation temporarily. The shift key will slow the animation down. Click the mouse or push any other key to end the animation. Note that on multiple monitor systems the fractal will not be centered.
The Window Menu
---------------
Hide Info - Hides the Info window.
Window Name - Selects the named window.
The Multiprocessing Menu
------------------------
Use 'n' Processors - Selects the number of processors to be used to regenerate all open fractals and to generate all subsequent fractals. This menu is only available on multiprocessing systems.
If you type command-'d', the contents of the multiprocessing menu will change. It will provide an option to specify the number of tasks to generate fractals with. The number of tasks that can be created is restricted to 100. Typing command-'d' again will restore the menu to its original state.
PowerFrax Plug-ins
==================
PowerFrax supports plug-ins that can generate documents with content other than the Mandelbrot set. The available plug-ins are Julia Sets and 3D Projection. They are described after the Mandelbrot section below. Plug-ins appear in a hierchical New menu when they are installed.
Mandelbrot
==========
The Mandelbrot set is named after Benoit Mandelbrot, a mathematician who did considerable research into fractal systems. It is based on the iterative application of the function f(z) = z*z + c, where z is the result of the previous application and c is a constant point in the complex plane.
To generate a fractal the function f(z) is applied iteratively for each pixel in the image. For each pixel the initial value of z is set to 0 and the value of c is set to the pixel's corresponding point in the complex plane. The function f(z) is applied repeatedly until the magnitude of f(z) exceeds the escape radius or until the number of iterations equals 255. The number of iterations performed determines the color of the pixel.
When a Mandelbrot window is active the Info window appears. The Info window's fields are described below:
* The PowerFrax Info window describes the current fractal. White text fields in the Info window can be edited.
* The Center fields are the center of the current fractal in the complex plane.
* The Step field is the degree of separation of each pixel from its immediate neighbors in the complex plane.
* The Escape Radius field is used to determine when to stop performing iterations.
* The Size fields are the pixel dimensions of the fractal. Editing these two fields is the only way to make the fractal bigger or smaller.
* The Colors menu allows the user to recolor the fractal with any one of a variety of different color sets.
* The Generation Time display shows how long it took to calculate the current fractal. Only the time required to perform the calculations is measured -nothing else.
* The Cursor display shows the position in the complex plane of the pixel under the cursor. If the cursor is not over a fractal then this display will be blank.
Julia Sets
==========
There is one Julia set for every point in the Mandelbrot set. The Info window content for a Julia Set is very similar to that for a Mandelbrot set.
There are two additional fields defining the point lambda in the Mandelbrot set to which the Julia set corresponds.
There is also a sample tool which will allow lambda to be set quickly by clicking on a point in any open Mandelbrot window. The sample tool may be activated at any time by holding down the option key. Try holding the mouse button down and moving the sample tool around inside a Mandelbrot window. The results can be very impressive on a fast machine.
3D Projection
=============
This plug-in does not generate a fractal. Instead, it creates a three-dimensional projection of an existing fractal. This plug-in will not be available unless QuickDraw 3D is installed.
The Info window for 3D projections is significantly different from the other two types of plug-ins:
* The Projection field states which fractal the projection was derived from. Note that the fractal from which the projection was derived does not have to be left open.
* The Tessalation field defines how many pixels in the corresponding base fractal are traversed before a new vertex in the projection is defined. The smaller this number the more polygons there will be in the projection.
* Maximum Height defines how 'tall' the projection will be. Making this number negative will turn the projection into valleys instead of mountains.
* Rotation Speed defines the angle in degrees between each subsequent frame displayed in a 3D projection window. Setting this number to 0 will make the projection stationary.
* Polygon Count states how many polygons are in the 3D projection.
* Frame Rate states how many frames per second are being displayed.
* The Size fields are the pixel dimensions of the projection document.
* The Drag And Drop tool is the only tool available for 3D projections.
The 3D Projection plug-in also installs the 3D Projection Menu which contains the following options:
Wire Frame - Renders the projection as a wire frame.
Vertex Shading - Renders the projection using vertex interpolation.