Fractal Science Kit Examples
A set of example fractal properties files can be downloaded to get you started. The download contains the fractal properties files that I used to generate the images in the Fractal Image Gallery. You can use these files as a starting point for your own explorations.
To view a short video of several of the Fractal Science Kit examples set to music, click Fractal Beat.
Important: These examples require version 1.23 (or later) of the Fractal Science Kit fractal generator. Please visit Download the Fractal Science Kit to download the latest version.
The Fractal Science Kit examples have been tested on Microsoft Windows XP Service Pack 2, Windows Vista, Windows 7, Windows 8, and Windows 10. Earlier versions of the Windows operating system may work, but I cannot attest to that at this time.
Use the link below to download the Fractal Science Kit examples to your computer:
Windows Vista, Windows 7, or Windows 8
To install the Fractal Science Kit examples, do the following:
Windows Vista, Windows 7, or Windows 8
Step 3 above is important because several of the examples reference texture files found in the folder Examples\Textures under the My Files folder and they will not display properly if the textures are not found in that location. In truth, you can place the example files anywhere you wish as long as you copy the textures found in the distribution into a folder named Examples\Textures under the My Files folder (i.e., Fractal Science Kit 1.0\My Files\Examples\Textures). See Texture Support below.
The descriptions in the following sections are not as detailed as those in the Tutorials and I recommend that you work through the Tutorials first so that you have a basic understanding of the application windows and the properties page hierarchy. At a minimum, you should read the 1st page of the Tutorials which contains a few concepts necessary to work with the examples which I do not cover here.
Commercial use of the images found here requires a license. I would be happy to work with you to license any of the images, and can provide you with large, high quality image files to your specifications. Contact me at firstname.lastname@example.org for details.
If you would like to purchase a print of any of these images, I have a RedBubble gallery where large, high quality renders of many of these images can be found. If the image you are interested in is not found there, contact me at email@example.com and I will add it to the RedBubble gallery.
Fractal Science Kit Example Index
The set of images below are a sampling of the examples found in the download. Each image represents a set of examples that you can view by clicking on the image. This will take you to a page that describes the set of examples and gives you a few pointers specific to the set. Make sure to read the sections following this one, beginning with the Fractal Science Kit Examples Overview, for tips on how to best use the examples.
The following sections provide instructions on how to use the fractal examples as a starting point for your own explorations.
The fractal examples consist of over 650 of the best fractals that I have found during my recent explorations divided into several groups.
The examples are distributed as a set of Fractal Science Kit properties files and a set of small fractal images. Each example consists of the fractal properties file used to generate the example, and a small image of the fractal, so you can see what the fractal looks like. Also included is a Readme file that lists the fractal properties files, along with the name of the image given in the Fractal Image Gallery.
The Fractal Science Kit properties files hold all the fractal properties that define a fractal, and are saved as XML files.
When the Open File dialog is displayed, open the folder containing the example files, select one of the examples, and click Open to load the file. A message box is displayed to ask if you want to replace the properties in the existing window or open a new window. Click Yes to replace the properties in the existing window. To generate the fractal image, execute the Display Fractal command on the Tools menu.
I recommend the following steps when working with the Fractal Science Kit examples:
Step 1: Choose a file to work with.
The first thing you need to do, is to choose a properties file to work with. Included in the download are a set of small images, one image for each of the properties files. The image files have the same name as the corresponding properties file, but have a different extension; i.e., the properties files end in .xml and the image files have the .jpg extension. You can look through the images to find one that you like, and then open the corresponding properties file to work with the fractal.
Step 2: Reduce the image size and/or quality settings.
Each of the properties files is configured to produce a large, high-quality image, and it may take several minutes to generate the fractal. Before experimenting with different property settings (see Step 3 below), I recommend that you reduce the size of the fractal image and/or reduce the quality settings, so that the fractal generation is fast, and you can try out different property settings and quickly see your results.
Reducing the image size
The processing time and memory allocation associated with a fractal, is proportional to the size of the resulting fractal image, so you can both increase the speed, and decrease the required memory, by resizing the image to a smaller size.
The example images are one of 3 sizes:
If you reduce the size, it is best to keep the ratio of Image Width to Image Height the same as in the original example. An example sized 1050 x 700, can be resized 900 x 600, 750 x 500, or 600 x 400, for example, to maintain the proper ratio. You can check Check to constrain aspect ratio to enforce this.
Reducing the image quality settings
The processing time and memory allocation associated with a fractal, also depends on 1 or more properties that control the quality of the resulting fractal image, and reducing these quality settings can dramatically decrease the time required to generate the fractal image. The way you reduce the quality settings depends, in large part, on the type of fractal you are working with, so you must first determine the fractal type, and then reduce the quality settings as appropriate for that type.
The 3 choices for Fractal Type are:
If you have not done so already, you should read the high-level summary of each of these types on the following pages:
After you identify the type of fractal you are working with, you can follow the steps in the appropriate section below to reduce the quality settings.
Mandelbrot / Julia / Newton Fractals
If the fractal is a Mandelbrot / Julia / Newton fractal, you should turn off Anti-Aliasing. The Anti-Aliasing properties are found on the General page of the Properties Window, and in most of the examples, Oversampling is set to 3x3 Oversampling.
To turn off Anti-Aliasing, set the Oversampling to <None>.
In most cases, this change alone will dramatically improve performance by a factor of 10 or more.
Orbital / IFS / Strange Attractor Fractals
If the fractal is an Orbital / IFS / Strange Attractor fractal, Anti-Aliasing should NOT be turned off. Since Orbital Fractals do not generate an orbit per sample as do Mandelbrot fractals, anti-aliasing does not result in as severe a time penalty as with Mandelbrot fractals, and it is recommended that you set Oversampling to one of the higher settings when exploring Orbital fractals since the increased quality outweighs the cost. For Orbital / IFS / Strange Attractor fractals, I recommend that you reduce the Oversampling to 2x2 Oversampling. Changing the Oversampling from 3x3 Oversampling to 2x2 Oversampling, for example, would cut both the time and memory required to generate the fractal by about 50%.
The most effective way to improve performance when working with Orbital / IFS / Strange Attractor fractals, is to reduce the Max Count property found in the Orbital / IFS / Strange Attractor section on the Orbital / IFS / Strange Attractor page.
For example, changing the Max Count from 10 to 1 will reduce the time required to generate the fractal by a factor of 10. Of course, the resulting image will not be as well defined and some parts may be hard to see. Try to set Max Count to the smallest value that still allows you to see the basic structure of the fractal. Later, when you want to generate your final image, you can increase Max Count to improve the image quality. As you explore (see Step 3 below), you may need to increase Max Count if the image becomes too light to see clearly.
Finally, some of the examples use Adaptive Smoothing to improve grainy or speckled images that can result when generating many Orbital Fractals. Adaptive Smoothing attempts to improve the results by blurring the image using a low-pass filter. This processing takes time and you should turn off Adaptive Smoothing until you are ready to generate your final image.
Step 3: Explore.
Now you are ready to explore. This step can take several different forms:
Step 4: Increase the quality settings.
Once you find an image you wish to save, you should undo the changes you made in Step 2; i.e., you can increase the image size and change the fractal properties to generate a high-quality image. High-quality images take longer to generate than do lower quality images, so it is best to wait until you find an image you wish to save, and then change the properties that affect the quality just before generating your final image, so that you only incur the additional cost when necessary.
See Generating High-Quality Images for details.
Step 5: Play with coloring.
At this point, I like to play with the image coloring. The Fractal Science Kit only regenerates the fractal data if you change a property that affects the fractal data, and the properties on the Color Controllers do not. Consequently, you can make changes on the Color Controllers, and you will only need to remap the data to the image, which takes a reasonably short amount of time compared to the actual fractal data generation. So you can change any of the controller's properties and/or gradients, or use a different controller/gradient altogether, and incur only the cost of remapping the data to the image. Other properties that do not affect the fractal data generation, include data normalization, background color settings, embossing, image smoothing/sharpening, border coloring, and adaptive smoothing.
Many of the Color Controllers supply a list of gradients that you can use. Remember that you can change any of the gradients in the list or add additional gradients to the list, to take complete control over the colors applied to the fractal image. Your changes will not affect the built-in Color Controllers, so freely experiment. And if you have any gradients produced by other fractal programs, you may be able to load them into the Fractal Science Kit to use with your Fractal Science Kit based fractals. See Gradients for details.
Step 6: Save your fractal.
Here are a few additional things to remember as you explore:
The Properties Window is used to access the Properties Pages associated with a fractal. There is a separate Properties Window for each Fractal Window. To view the Properties Pages for the fractal, open the Properties Window by executing the Properties Window command on the View menu.
Typically, you will open the Properties Window, make changes to 1 or more Properties Pages, and generate a new fractal image by executing the Display Fractal command on the Tools menu of the Fractal Window. Then you can make additional changes to the Properties Pages, generate a new fractal image, and so on. If you see something interesting along the way, you can Zoom In to see more detail, or enable high-quality image processing to generate an image to save.
Note that you can save some time by executing the Preview Fractal command on the Tools menu of the Fractal Window (or by clicking the Preview Fractal button on the Properties Window toolbar) prior to executing the Display Fractal command. The Preview Fractal command generates a small preview of the fractal (in the Preview Window). If you like the preview, you can click on the image in the Preview Window and a new Fractal Window will open with a full-sized version of the preview. If you don't like the preview, you can move on without incurring the cost of displaying the full-sized image.
If the fractal you are working with is a Julia Fractal, or an Orbit Trap based on a Julia Fractal, you can generate lots of different Julia fractals using a Mandelbrot fractal based on the same equation. In fact, this is how I discovered almost all of the Julia fractals found in these examples.
To generate a Julia Fractal you need to define an arbitrary point on the complex plane called the Julia Constant. The choice of the Julia Constant, in large part, controls the character of the resulting Julia fractal. Surprisingly, the Mandelbrot fractal for the same fractal formula provides the best interface for choosing the Julia Constant. It turns out that the best choice for a Julia Constant is a point on the complex plane near the Mandelbrot set boundary. The resulting Julia fractal will have many of the characteristics of the Mandelbrot fractal in the neighborhood of the Julia Constant. The Mandelbrot fractal can be used as a map for choosing the Julia Constant. To this end, the Fractal Science Kit allows you to click on any Mandelbrot fractal to produce a Julia fractal in a small window called the Preview Window. Clicking on the image displayed in the Preview Window causes the Julia fractal to be displayed in a full size window for further exploration.
Follow the steps below when the fractal you are working with is a Julia Fractal.
Open the Fractal Equation page:
Uncheck the Julia checkbox in the Properties section:
This changes the Julia fractal to a Mandelbrot fractal based on the same equation as the Julia fractal.
Next, execute the Home command on the View menu of the Fractal Window to reset the Mandelbrot fractal to the default position/magnification, and then follow the instructions given in the next section (Preview Julia Support) for details on how to use the Preview Julia command to explore the Mandelbrot's many different Julia Fractals.
This is a common technique that can be used to generate lots of different Julia fractals from a single Mandelbrot image and is, in all likelihood, the method I used to find the original Julia fractal in the first place!
If the fractal you are working with is a Mandelbrot Fractal, or an Orbit Trap based on a Mandelbrot Fractal, you can use the Preview Julia command to explore the Mandelbrot's associated Julia Fractals. This is accomplished by selecting the Preview Julia item on the Tools menu of the Fractal Window.
When you select this item (or press the Preview Julia toolbar button), the Fractal Science Kit changes the cursor to a cross and places the Fractal Window into a state where clicking on the Mandelbrot fractal generates a Julia Fractal preview in the Preview Window. The point on the Mandelbrot fractal where you click is used as the Julia Constant for the preview. There is a single Preview Window shared by all windows and each click on the Mandelbrot image generates a new Julia fractal preview, replacing any image currently in the Preview Window. If you wish to cancel the operation, simply select the menu item or toolbar button again. While you are in this state, the Preview Julia menu item has a check next to it and the Preview Julia toolbar button is depressed. The Preview Julia menu item is disabled if the fractal is not a Mandelbrot fractal.
Try clicking at various points on the Mandelbrot fractal and view the resulting Julia fractals. The Julia fractal will be quite different depending on the characteristics of the point you click on. If you like the Julia preview, you can click on the image in the Preview Window and a new Fractal Window will open with a full-sized version of the preview.
If the example fractal you are working with is a Julia Fractal, you can open the Fractal Equation page, uncheck the Julia checkbox, execute the Home command on the View menu of the Fractal Window to reset the Mandelbrot fractal to the default position/magnification, and then use the Preview Julia command to explore the Mandelbrot's many different Julia Fractals. This is a common technique that can be used to generate lots of different Julia fractals from a single Mandelbrot image and is, in all likelihood, the method I used to find the fractal in the first place! See Working with Julia Fractals for details.
A common way to change the appearance of a fractal is to apply a transformation to the fractal. Transformations are programs that map every point on the complex plane to a different point on the complex plane. This usually results in a dramatically different image.
There are several pages in the properties page hierarchy where transformations are defined. These pages are usually named Transformation, Transformation 1, or Transformation 2. This organization allows you to control where the transformation is applied; e.g., prior to the orbit, within the orbit just before processing each orbit point, or after processing the symmetry transformation (if any).
Many of the fractal examples use the Composite Function transformation since it is flexible, efficient, and easy to use. This transformation allows you to define a transformation based on a composite of 2 complex functions. It is always a good transformation to try first.
There are lots of other transformations that you can use as well. Most transformations are based on a mathematical function or process and may have strange/unfamiliar names (unless you are a mathematician!), but they are all easy to use; just select the transformation, open the transformation's properties page (found under the transformation in the page hierarchy), and play with the transformation's properties. Generate a new fractal image by executing the Display Fractal command on the Tools menu of the Fractal Window, or click the Preview Fractal toolbar button on the Properties Window to generate a preview of the fractal (in the Preview Window).
It may be necessary to execute the Home command on the View menu of the Fractal Window to reset the fractal to the default position/magnification before you adjust the transformation. Then change the transformation and Zoom In to interesting areas of the transformed image.
You can apply multiple transformations to a fractal by adding additional transformations into the Transformation Array. The transformations are applied in series; i.e., the input point is transformed by the 1st transformation in the list and the resulting point is passed to the 2nd transformation, and so on. You can add/delete transformations in the list, and order the transformations, using the Transformation List Control. See Transformation Array for details.
There is no right or wrong way to use a transformation. Experimentation is the key to good results. It is true that some of the transformations are specialized programs useful only in certain situations. This is discussed in the comment section in the program's instructions. You can read the program comments or simply try to use the transformation and if it doesn't produce good results, try another one!
Note that the default setting for many of the built-in transformations, results in the identity transformation (which does nothing) so you will need to select the properties page found under the transformation and change the properties found there for the best results.
Several of the examples use textures to enhance the quality of the resulting fractal image. The textures included in these examples were generated using Genetica Viewer by Spiral Graphics. Genetica Viewer is a free application for rendering seamless textures that were created in Genetica. I highly recommend that you download Genetica Viewer. The download includes hundreds of seamless textures plus editing functionality to generate countless different variations of each texture.
Genetica Viewer is not required to view/execute the examples since I include the small set of textures required by the example programs in the distribution. However, if you want to use additional textures in your explorations, you will need to get them from somewhere, and I feel that Genetica Viewer is one of the best sources for seamless textures available.
There is also a nice set of public domain textures found at Public Domain Textures.
It is important that the textures included in the examples distribution be located in a folder named Examples under the My Files folder. The reason this is required is that several of the examples reference textures found in the folder Examples\Textures under the My Files folder and they will not display properly if the textures are not found in that location.
The fractal examples are configured for generating large, high-quality images. High-quality images take longer to generate than do lower quality images, so it is best to experiment with lower quality property settings until you find an image you wish to save, and then change the properties that affect the quality just before generating your final image so that you only incur the additional cost when necessary.
The most important property with respect to quality is Anti-Aliasing. Anti-Aliasing is a method used to improve the quality of the fractal image by oversampling the fractal and then averaging the results.
When working with a Mandelbrot / Julia / Newton fractal, you will normally have Oversampling set to <None> and you should increase Oversampling to 2x2 Oversampling or 3x3 Oversampling when you produce the final image.
This improves the quality of the resulting image but dramatically increases the space required for sample data and the time required to compute it. Note that 3x3 Oversampling is over twice as costly as 2x2 Oversampling so plan accordingly.
When working with an Orbital / IFS / Strange Attractor fractal, Anti-Aliasing should NOT be turned off. Since Orbital Fractals do not generate an orbit per sample as do Mandelbrot fractals, anti-aliasing does not result in as severe a time penalty as with Mandelbrot fractals, and it is recommended that you set Oversampling to one of the higher settings when exploring Orbital fractals since the increased quality outweighs the cost. When you are ready to produce the final image, I recommend you set Oversampling to 3x3 Oversampling.
Another way to improve the quality of the fractal is to modify the properties that control the orbit generation. For Mandelbrot / Julia / Newton fractals, the Orbit Generation properties (and Orbit Trap Orbit Generation properties for orbit trap based fractals) control the orbit generation process. Normally, the property settings in the examples are fine unless you zoom way into the fractal. In that case, you may need to increase Max Dwell to improve the quality near the Mandelbrot set boundary. If the area near the boundary of a Mandelbrot / Julia / Newton fractal seems imprecise, try increasing the value of the Max Dwell property.
For Orbital / IFS / Strange Attractor, the Orbital / IFS / Strange Attractor properties control the orbit generation process. Typically, you will need to increase Max Count to increase the density of the samples if the Orbital Fractal image appears too sparse, too dark, or too grainy. It is best to explore with Max Count set to 1 or 2 (sometimes larger values are required) and then increase Max Count to 20 or 30 or more for the final image.
Copyright © 2004-2019 Ross Hilbert