Fracture User Manual
Last modified November 1, 2003.
By Ben Haller. Copyright © 2003 Stick Software.
[ A PDF version of this manual may be downloaded by clicking here. This manual is only available in English at present. ]
Fracture is a beautiful fractal screensaver for Mac OS X. This manual assumes that you have already downloaded a copy of Fracture; if not, click here for Fracture's main page at www.sticksoftware.com. It also assumes that you know all the basics of using the Macintosh in Mac OS X, including using the mouse, menus, and windows, and opening and saving files.
Right now this "manual" is really an FAQ (frequently asked questions) list, because Fracture is simple enough that it doesn't seem to merit a full manual — that would just be a lot of work and would probably be less effective at answering actual user questions. Let us know if you disagree, however; if a full manual is needed for Fracture, it can be made.
Please send comments on this manual to us at our support email address. Thanks!
Fracture is a beautiful fractal screensaver for Mac OS X. It's not really important for understanding Fracture, but a fractal is a mathematical entity that exhibits characteristics of self-similarity and complexity at arbitrary levels of magnification. Or something along those lines; I don't know whether a strict definition of what is and is not a fractal has really been arrived at. You know one when you see one :->. The point, here, is that fractals are beautiful. Fracture can create images like this:
Lots of images created by Fracture can be found at our gallery; making your own is as simple as installing Fracture and letting it run for a little while! For more basic information on Fracture, please see its home page.
Screensavers can live in a few standard locations in OS X. The screensaver engine expects to find them in those locations, and so only those locations will work. For our purposes here, there are two that matter: /Library/Screen Savers/, and ~/Library/Screen Savers/ ("~" being short for the location of your home directory). To install Fracture, you copy it to one of these folders. And that's it.
Which folder should you use? That depends upon whether or not you have Administrator privileges on your machine, and on whether you want Fracture to be visible only to your own user account, or to all users on the machine. The /Library/Screen Savers/ directory will require Administrator privileges for you to install Fracture there; once installed, Fracture will be visible to all users on the machine. Your ~/Library/Screen Savers/ directory, on the other hand, does not require Administrator privileges, but Fracture will be visible only for your own user account. If this discussion does not make sense to you, and you don't know what Administrator privileges or user accounts are, then you want to use ~/Library/Screen Savers/; this is always a safe choice.
If the directory you want to put Fracture in does not exist, you can create it (but be sure to include the space between "Screen" and "Savers" in the folder name, and be sure the read/write permissions on the new folder are set the way you want them to be).
Drag Fracture from the disk image it is distributed on, into the folder where you wish to install it. After it has been copied, you may 'eject' and throw away the distribution disk image. If you are unfamiliar with the use of disk images (.dmg files), you can read more about disk images on Stick Software's web site.
To uninstall Fracture, simply drag Fracture from your hard drive to the trash.
Once you've installed Fracture, just use System Preferences to choose it as your preferred screen saver. To do this, launch the System Preferences application (located in your /Applications folder). Once it is running, select "Screen Effects" from the "View" menu, or from the window of icons System Preferences should present to you. In the Screen Effects window, select Fracture from the scrolling list on the left.
Having done this, Fracture is now your screensaver. You may need to configure the Screen Effects preferences to make the screensaver turn on when you want it to, with idle time delays, activation corners, and such things; since this is Apple's preferences module, we will let you consult Apple's documentation for help doing this.
You can configure Fracture from within System Preferences, as usual for screen savers. To do this, run System Preferences and select Fracture in the Screen Effects module, as described in the previous section. Then click on the "Configure" button that is underneath the Preview area on the right of the Screen Effects window. Fracture's configuration panel will appear, and you can select different tabs of preferences, make whatever changes you wish, and click "OK" to make your changes take effect.
For help on the individual settings available to you in Fracture's configuration panel, see the sections below.
The "Fractals" tab of the configuration panel allows you to set which types of fractals you would like to generate, and which variations and calculation methods you would like Fracture to use. The tab looks like this:
The first set of checkboxes controls which types of fractals you would like Fracture to explore. Each type has a different appearance, and is based upon different underlying math. We'll present a very brief gallery of them here:
More information on them can be found at the Fracture Gallery, along with example images.
Normally, Fracture changes which type of fracture it is displaying from time to time, for variety. It may do several zooms in on a Mandelbrot Set image, and then switch to a Julia Set for the next image. By checking "don't change fractals until the next sleep session", you request that Fracture stick with one type of fractal each time it runs. It may make different instances of that type of fractal, but it will not switch to a completely different type.
The next set of checkboxes controls the variations on the basic fractal types that you would like to allow. Each of these variations can generate many different appearances, so they are a bit difficult to describe. But here, for your edification, are a few images that illustrate what the variations might look like:
Parameterizations are remappings of the plane; geometric transformations. In other words, the information shown in figures 9 and 10 is identical; it is simply arranged differently, geometrically. Binary decomposition (figure 11) divides up the parts of the image in a "checkerboard" sort of fashion, using a mathematical formula. Orbit traps (figure 12) are objects (in this case, long spiky slivers) that are mathematically related to the underlying fractal and are added to the display.
The observant will notice that we skipped the "attractor period analysis" checkbox in the discussion above. That is because Fracture does not perform that type of analysis on the Mandelbrot set. To illustrate its effects, here are images using the Julia set instead:
These two images are not of the same Julia set (there are infinitely many different Julia sets), but they are similar enough to bear comparison. Figure 13 shows the interior of the set in a simple black; all of the colors belong to points exterior to the set. In figure 14, period analysis has divided the interior of the set up into different categories, which receive different colors; different shade of a green-yellow, or different shades of an orange hue, depending upon the "species" and "genera" of the particular segment. The exterior of the set in figure 14 is mostly black, except for a yellowish halo near the set, in order to better convey the nuances of the interior coloration.
The radio control at the bottom of this tab controls the calculation method used by Fracture for disconnected sets. Exactly what this means is somewhat technical, but pictures will certainly help to explain it. If the technical explanation below sounds like gobbledygook to you, then you probably want to leave this setting set to "subdivision"; your images will appear more quickly, and there are no likely negative side effects.
A disconnected set is a set which may have isolated islands floating away from the main body of the set (indeed, there may be no "main body"). In extreme cases, it can be said of some disconnected sets that despite containing an infinite number of points, and possessing a finite volume, no two points in the set are connected to each other; such sets are like dust floating in a void.
Normally, Fracture computes the values it displays using the subdivision method. This method allows it to compute values very quickly in some cases, because it draws out a rectangle, and if every point around the edge of the rectangle has a particular value, then Fracture assumes that the whole rectangle contains that value, and fills the rectangle in without spending time computing the values inside it. This is (almost) completely safe to do when computing connected sets, since you are guaranteed that there will not be an isolated island of different-valued points sitting within that rectangle. For disconnected sets, however, it is not safe, and can result in a whole island of points, or a whole cloud of dust, being summarily wiped off and set to some incorrect value.
Fracture actually does some extra work to try to ensure that this sort of error does not occur when using subdivision, but it is possible that it nevertheless would. So for guaranteed correctness of the images you generate, you can switch to the dissolve method. Using this method, Fracture computes the value of every single point it displays, taking no shortcuts. This can be a great deal slower than the subdivision method, but is presented as an option for completeness.
The "Display" tab of the configuration panel controls how the images generated by Fracture appear, what quality they are generated at, how secondary monitors are used, and other display and appearance-related issues. This tab looks like this:
The "show identifying labels" checkbox turns on or off the display of a label identifying the fractal being displayed. That label is shown upon completion of calculations, and typically identifies the type of fractal, the formula used, any parameterizations or variations in effect for it, the number of iterations used (a rough measure of the amount of computation needed to generate the image), and the amount of time that elapsed during its calculation.
The "color schemes" set of checkboxes controls which types of color schemes you would like Fracture to generate. Here is an example of the possible effects of each checkbox:
It should be understood that checking one of these checkboxes merely turns on the possibility of that type of color scheme being used; it may still not be used very often. It is also worth noting that these checkboxes can combine; it is possible to get an image that uses white as a primary color, uses stripes, and is grayscale, for example.
The "image quality" set of checkboxes controls options that affect the final quality of the images Fracture generates. Checking all three options will result in the highest-quality images possible being displayed; it will also result in Fracture being some slower to fall asleep, wake up, and calculate.
The "switch to 32-bit color on sleep" option tells Fracture to switch all of your attached monitors to 32-bit color depth ("millions of colors") whenever it is running. This results in finer color detail being displayed, particularly during the computation of images. It may slow down the process of falling asleep and waking up, however, since switching the color depth of your monitors takes a little time. It may also have some negative effects on programs running when your machine falls asleep (although it shouldn't, and that would be considered a bug in any program so affected; nevertheless, it is possible). If your monitors are already in "millions of colors" mode, then the setting of this checkbox has no effect.
The "interpolate display" checkbox changes how partially calculated images appear. If it is not checked, then you see the actual values of each pixel in the image being computed. If it is checked, Fracture will attempt to use the values of pixels that have been computed to guess the values of pixels that have not yet been computed. Here are some example images:
Finally, the "calculate at 2x and antialias" checkbox controls the level of detail present in the images Fracture generates. If it is not checked, one pixel value will be calculated for every pixel actually displayed. This can result in a blocky, chunky appearance. When it is checked, on the other hand, four values are computed for every pixel actually displayed, allowing Fracture to "smooth out" the display for a more detailed and less blocky appearance. Examples of both methods:
The "multimonitor behavior" radio control is used to set Fracture's behavior when running on a machine that has more than one monitor attached. Fracture has a variety of modes that use your secondary monitors; they can be black, show their own calculations, or show mirrors of the calculations performed on the main monitor. This setting has no effect on machines with only one attached monitor, but it is still settable, since there may be a secondary monitor attached to that machine the next time Fracture is run.
The "use primary monitor only" setting will make any secondary monitors simply be black. Some find this aesthetic, and it was the only multimonitor behavior available in Fracture 1.0, so it is provided for completeness as much as anything else.
The "use all simultaneously" setting runs each monitor as an independent calculation engine. Each monitor will choose its own fractal, zoom in and switch sets with its own timing, and generally do its own thing. This option is probably best for those with multiprocessor machines and such; the rest of the world will probably find the calculation speed to be too slow. Those with really fast machines will find it useful for showing off, however.
The "round robin" setting rotates calculation between the attached monitors, one at a time. When it is not a given monitor's turn, it will just sit and wait, showing its last calculated image. This produces a wide variety of images, without slowing down the speed of calculation for any given image. Since it occupies this "sweet spot" between variety and speed, it is the default setting.
The "mirror to secondaries" setting, finally, calculates only on the main display, and copies the results of that calculation over to the secondary monitors each time it finishes an image. This can be nice because the images on all of the monitors are of the same set using the same color scheme, lending a visual consistency that may be lacking with the other settings.
Finally, the display parameter sliders at the bottom of the Display tab control basic aspects of the timing and quality of the images displayed.
The "speed vs. accuracy" slider lets you control the level of complexity of the calculations performed; the faster you go, the less detail and refinement will be present in your images. For those somewhat conversant with the mathematics of fractals, this slider is somewhat indirectly affecting the maximum number of iterations that Fracture will calculate.
The "display time" slider controls the minimum amount of time that any given image will be held on the screen in completed form before Fracture zooms in or switches to a new image. This is only a minimum, and in some cases (such as the "round robin" display mode), Fracture may wait longer before moving on.
The "maximum zooms" slider controls the maximum number of times Fracture will zoom in on any given image before switching to a new image. If it is set high enough, Fracture may reach the resolution limits of the mathematics being used, resulting in strangely blocky or fuzzy images (which you may or may not find aesthetic).
The "Saving" tab of the configuration panel controls when Fracture saves files, and what types of files it saves. This tab looks like this:
The "save every completed image" checkbox tells Fracture to save every single image it finishes calculating to disk. Images are saved at the point in time when they are completed, so color scheme changes made after calculation has finished will not result in another image being saved. Images are saved, with unique names, to the ~/Documents/Fracture folder, just as if they had been manually saved by the user. Use of this option can rapidly fill up a hard drive, which can have very negative consequences on OS X's stability (if the drive filled up is the boot or swap drive), and can make it difficult to save open files to disk and such. For these reasons, this feature will stop functioning if the drive being saved to has less than 500 MB free. If this threshold is passed, Fracture will beep instead of saving the image. Simply free up some disk space to allow Fracture to resume saving.
The "when Fracture wakes up" checkboxes control what gets saved when Fracture wakes up. Taking the second checkbox first, if the "Save the current fractal" checkbox is checked, Fracture will save the currently displayed image (or images, if you have multiple monitors) to files in the folder ~/Documents/Fracture, with names like "lastFracture.tiff" or "lastFracture2.fracture". These files will be overwritten the next time that Fracture runs; they are a purely temporary record of the last thing Fracture was doing. Checking the "only when completed" checkbox makes Fracture skip this saving step for monitors that are displaying an incomplete image (one that is still being calculated); if you are not interested in partially completed images, this may allow Fracture to wake up more quickly in those cases (since saving these images files can take a few seconds).
The "whenever Fracture saves an image" checkboxes control what additional information is saved by Fracture whenever an image file is generated (both on wake, if that is turned on, and whenever the user explicitly causes a save by pressing the <option> key). If the "save a .fracture file" checkbox is checked, a .fracture file with a summary of the mathematical basis of the image will be saved alongside each image saved (see below for information about these .fracture files). If the "add a thumbnail" checkbox is checked, a custom "thumbnail" icon will be set on every file saved, providing a quick and easy preview of the image represented by the file. This increases the file size slightly, and makes saving slightly slower, but the drawbacks are considered to be outweighed by the advantages by most users.
The "image file format" controls tell Fracture what type of image files to generate. TIFF files use a lossless compression scheme for maximum image quality, but can be quite large, and are not displayed by all web browsers. JPEG files use a lossy compression scheme (the quality of which can be controlled using the "compression quality" slider) that degrades image quality somewhat, but JPEG files are usually much smaller than TIFF files, and are compatible with all of the popular web browsers. Finally, whether you are using TIFF or JPEG files, you can choose whether you would like Fracture to use the short, three-letter extensions ("tif" and "jpg") demanded by some programs, or whether to use the more Mac-standard four-letter extensions ("tiff" and "jpeg"). If you don't understand all of these distinctions, using JPEG with a fairly high quality (the upper quarter of the slider's range), with three-letter extensions, will probably keep you happy.
The "Registration & Support" tab of the configuration panel controls user registration and version checking for Fracture, as well as allowing access to Fracture's Read Me file. This tab looks like this:
The "Register" button brings up Fracture's registration panel. (See the What is shareware? How do I pay? section below for more about registration.) The registration panel contains links and other useful information related to paying for your copy of Fracture. Once you have paid and have received your registration codes, just click the "Enter Codes" button in the registration panel to enter your registration codes into Fracture.
The "version check" controls allow you to control how Fracture checks online for new versions of itself. You can click the "Check Version" button to do an immediate check online; Fracture will report back to you whether you are up to date or not. If you want Fracture to do this check every time it starts up, check the "Check at startup" checkbox. This check will take a few seconds every time that Fracture starts up, during which the screen will be black, because it takes a moment for Fracture to fetch the latest version information from the web. If your version is up to date, Fracture will then proceed to run as usual; if it is not, you will be presented with a splash screen alerting you that a newer version is available. Note that checking your version at startup only works if you have registered Fracture (because when you have not yet registered, the registration splash screen takes priority over the version check splash screen).
The "Read Me" icon button allows you to open Fracture's "Read Me" file, a copy of which is kept inside Fracture itself so that it is always available to you.
Fracture can be controlled while it is running, to a limited extent, using your keyboard. A summary of the keyboard controls can be found on the "Controls" tab of Fracture's configuration panel, for easy reference. Here we will try to explain in a little more detail how those controls work.
First of all, please keep in mind that normally, pressing keys wakes up a screensaver. For this reason, Fracture will wake up if you press any key other than the ones listed below. So if you don't want to lose the image you're viewing, be careful which keys you hit.
Now, without further ado, let's get down to the details.
It is worth mentioning that setups with multiple monitors will respond to these keyboard commands in a somewhat more complex way than described here. We have tried to choose sensible behaviors for the key commands on multiple-monitor setups, but since the behavior will vary depending upon how many monitors you have, and which multimonitor mode you have chosen for Fracture, it doesn't seem worth the complexity that would be necessary to explain it all here. Experiment, and if you are not clear on some particular keyboard control issue, feel free to email us.
Fracture can be configured to save .fracture files that represent the fractal images generated. Unlike the image files saved by Fracture, these files do not contain the image data for the fractal; rather, they contain the more fundamental mathematical information that the image is generated from. The intention is that you would then be able to open these .fracture files, and recreate the fractal images (perhaps with variations, or at higher resolution, or whatever else you wanted to do).
Before you send us email: there is currently (as of November 2003) no application that can read these files. We plan on releasing a desktop application version of Fracture in the future, and if all goes as planned, it will be able to open these .fracture files and recreate the fractals you have saved with Fracture. You can check for the release of this application by checking our website at http://www.sticksoftware.com, or by subscribing to our newsletter, or you can always just ask us what the state of affairs is by sending us an email at our support email address.
Writing this desktop app version of Fracture is a long-standing dream for us; the obstacle is, of course, that we expect it to make virtually no money, and we are currently engaged in keeping our heads above water (or not too far underwater), financially speaking. So if you want to see a desktop app version of Fracture, the best thing you can do to help make it happen is to pay your shareware fees, for Fracture and for our other products.
Fracture has an option that allows the desktop background image to be set from the current fractal. This option works only with the main monitor at this time; it cannot set the desktop background for secondary monitors. This is a limitation of the way Apple recommends that third-party software set the desktop background at this time. When Apple provides better support for this functionality, Fracture will be modified to follow.
Fracture does some things that make it a less than good citizen when run under "screensaver runner" apps like SaverLab. I use SaverLab as my testbed for development, but you may be surprised by some things that it does. Caveat emptor. None of these behaviors should be an issue when it is running as a screensaver, it just has some difficulty living inside a window the way it does in SaverLab. These problems may also crop up if you try to run Fracture as a desktop background, using one of the hacks that try to accomplish this trick. Fracture is really only happy running as a proper screensaver; there are some fairly good reasons for this, although I hope to find a way to remove this limitation in the future.
If you have the "switch to 32-bit mode" preference set, and you are running in 16-bit mode such that Fracture will switch to 32-bit mode on sleep, it is possible that your machine will get into a cycle of falling asleep and waking up repeatedly. This is believed to be due to a bug on Apple's side; a mouse-moved event is being sent after the bit depth change, which is waking up the screensaver, even though the mouse did not in fact move. Apple is aware of the bug. A workaround is to uncheck the "switch to 32-bit mode" checkbox if you see the problem, and just run in either 16-bit or 32-bit mode all of the time. The problem does seem to be rare, however, and may require additional preconditions such as using automatic login, and in any case it is relatively harmless.
As a closing note, we'd like to remind our readers that Fracture is a shareware product. It is required that you pay the shareware fee if you use Fracture beyond a trial usage. Fracture costs $10.
Information on how to pay and other registration details can be found at http://www.sticksoftware.com/software.html, or you can simply pay with a credit card (or other methods) with no further ado at either www.paypal.com or www.kagi.com.
Once you have paid for Fracture and have received your registration codes, just enter them into Fracture's registration panel, accessible through the "Registration & Support" tab of Fracture's configuration panel. See the section above on the Registration tab for more information on entering your codes into Fracture.
Comments on Fracture, suggestions for future products, and other feedback are welcomed at our support email address. Thanks for your support!