Product Overview

Home • Gallery • Tutorials • Download • Purchase • Site Map

Fractal Science Kit Overview

Fractal: Elliptic Splits IFSThe Fractal Science Kit fractal generator is a Windows program that generates a fractal image from a set of properties that you can set to control the fractal generation process. Example properties include the type of fractal, the size of the image, and parameters to control orbit generation, data normalization, oversampling, embossing, smoothing, gamma correction, etc.

Fractal: Steiner Chain Orbit TrapSome of the properties are Fractal Programs that define the fractal equation, the complex transformations applied to the fractal data, and the instructions that map the data to colors for display. You can work with a set of Built-in Programs or develop your own fractal software using the interactive programming environment provided by the Fractal Science Kit fractal generator.

Download the evaluation copy of the Fractal Science Kit fractal generator today!

Check out the Fractal Image Gallery for examples of fractals created using the Built-in Programs.

To view a short video of several fractals generated by the Fractal Science Kit set to music, click Fractal Beat.

The following sections highlight the features that make the Fractal Science Kit fractal generator a great tool for exploring the world of fractals.

Multiple Fractal Types

The Fractal Science Kit fractal generator supports 3 basic Fractal Types:

To support these disparate fractal types, the Fractal Science Kit fractal software is partitioned into 3 major components, each serviced by a different fractal generation framework. While there are many shared concepts/resources (e.g., complex transformations), the basic framework for each fractal type is quite different.

See the Fractal Image Gallery for examples of each of the fractal types.

Mandelbrot Fractals

The Fractal Science Kit fractal generator defines Mandelbrot Fractals via Fractal Equations.

Fractal: PhoenixThere are over 180 built-in Fractal Equations including Mandelbrot, Mandelbar, Cubic, Lambda, Phoenix, Tetrate, Newton, Halley, Nova, Barnsley, Magnet, as well as studies in convergent fractals, polynomial fractals, root-finding method based fractals, Julia maps, fractals based on trigonometric and hyperbolic functions, and fractals based on exponential formulas. See Built-in Fractal Equations for a complete list.

See the Fractal Image Gallery for examples of what you can create using the built-in fractal software.

Orbital Fractals

The Fractal Science Kit fractal generator defines Orbital Fractals via Orbital Equations.

Fractal: Mobius Dragon IFSThere are over 50 built-in Orbital Equations including Sierpinski Triangle, Sierpinski N-gons, Koch Snowflake, Apollonian Gasket, Circle Inversion fractals, Mobius Dragon IFS, Mobius Patterns, Grand Julian IFS, Elliptic Splits IFS, Kleinian Group fractals, Dragons, Dimers, Rep-N Tiles, IFS fractals, Quadratic Attractors, Cubic Attractors, Symmetric Icons, Symmetric Attractors, Frieze Group, Wallpaper Group, Hyperbolic Attractors, and many more. Many of these fractal programs define properties that can be used to produce countless different variations. Some of the programs search for interesting parameter settings based on user defined criteria and produce unique fractals every time they are run! See Built-in Orbital Equations for a complete list.

See the Fractal Image Gallery for examples of what you can create using the built-in fractal software.

L-System Fractals

The Fractal Science Kit fractal generator defines L-System Fractals via L-System Programs.

Fractal: L-System Orbit TrapThere are 12 built-in L-System Programs including KochSnowflake, Hilbert, SierpinskiTriangle, KochIsland, PeanoSZ, SierpinskiSquare, Dragon, and more. In addition, hundreds of these programs can be found on the Internet. L-System fractals can be run as stand-alone programs or in the context of the built-in L-System Orbit Trap.

See the Fractal Image Gallery for examples of what you can create using the built-in fractal software.

Orbit Trap Support

Fractal: Steiner Chain Orbit TrapA popular method of generating fractals is to define a set of geometric objects located on the complex plane called Orbit Traps and during the fractal iteration, keep statistics related to how close the orbit points come to the Orbit Traps. Orbit Traps provide a fertile ground for new and unusual fractals. You can combine the built-in traps with your own Orbit Trap instructions to produce unique fractal designs. The Fractal Science Kit fractal generator supports most of the common traps, including: Circle, Cross, Cycloid of Ceva, Epicycloid, Flower, Folium, Hypocycloid, Lemniscate, Limacon, Line, Oscillator, Polygon, Rectangle, Rose, Sectors, Shape, Spiral, Star of David, Super Ellipse, Swirl, and more. Many unusual traps are supported as well, including: Apollonian Gasket, Apollonius Grid, Borromean Rings, Circle Inversion, Circle Web, Circular Vine, Elliptic Circles, Daisy, Epitrochoid Net, Epitrochoid Rose, Faceted Polygon, Farris Wheels, Farris Wheels Net, Ford Circles, Fractal Gasket, Harmonograph, Hyperbolic Circles, Isogonal Polygon, Kleinian Group, Koch Triangle, L-System, Hypotrochoid Net, Lemniscate Net, Limacon Net, Maurer Rose, Nephroid Net, Parabolic Circles, Parabolic Grid, Penrose Kite, Polygon Net, Polygon Whirl, Schottky Group, Sierpinski Triangle, Sound Ornament, Spirolateral, Star Polygon, Steiner Chain, Tangent Circles, Unit Circle Group, and many more. See Orbit Trap Types and Built-in Orbit Traps for a complete list.

See the Fractal Image Gallery for examples of what you can create using the built-in fractal software.

Fractal: Circle Orbit TrapThe Orbit Trap Properties Pages allow you to define a list of traps and specify how to process them. You can blend the traps together using various blending techniques (e.g., harmonic mean) or process them separately. You can modify the trap's position/angle per iteration, based on values of the current/previous orbit points. You can control the trap envelope. You can transform input points prior to passing them to the trap. These are but a few of the many different Orbit Trap options available.

Fractal: Kleinian Group Orbit TrapSome of the orbit traps are stand-alone fractals in their own right. For example, the Kleinian Group trap allows you to produce Quasifuchsian, Single Cusp, and Double Cusp, Two-Generator Group fractals described in the book Indra's Pearls - The Vision of Felix Klein by David Mumford, Caroline Series, and David Wright. The Schottky Group trap explores the world of nesting Schottky disks and groups of Mobius maps that form the basis for the Two-Generator Group fractals above. Schottky Group fractals are also described in the book Indra's Pearls. The L-System trap allows you to create an orbit trap using a set of statements that define an L-System or Lindenmayer System. Lindenmayer System fractals were developed in 1968 by Aristid Lindenmayer. The Apollonian Gasket, Circle Inversion, Ford Circles, and Unit Circle Group traps also produce stand-alone fractals. Other traps (e.g., Epitrochoid Net, Epitrochoid Rose, Farris Wheels, Farris Wheels Net, Harmonograph, Hypotrochoid Net, Isogonal Polygon, Maurer Rose, Sound Ornament, Spirolateral, Star Polygon) can produce beautiful mathematical art when combined with complex transformations and other supported features.

Interactive Programming Environment

Fractal: Grand Julian IFSThe Fractal Science Kit fractal generator provides an interactive programming environment with Application Windows for viewing the fractal image, modifying the properties that define the fractal, examining the data behind the fractal, and viewing/editing the fractal programs, macros (inline functions/methods), and color gradients, used by the Fractal Science Kit fractal software to produce the final image.

A set of Properties Pages allow you to view/edit all the properties associated with a fractal. Properties control every aspect of the resulting fractal image and the Fractal Science Kit supports a rich set of properties for choosing colors, controlling image processing tasks (e.g., smoothing, sharpening, embossing, anti-aliasing), controlling Data Normalization (e.g., contrast stretching, histogram equalization, data scaling via a transfer function), selecting/editing the Fractal Programs (equations, data collection programs, transformations, and color controllers), and much more.

Fractal: Circle Orbit TrapThere are 12 different Program Types. While this may seem overwhelming at first glance, be assured that each type is responsible for performing a small, well defined task, which can be handled by the default configuration until you choose to explore that area of the application. What's more, because of this partitioning, there are countless opportunities for combining programs in new and unusual ways.

The Fractal Science Kit fractal software provides a rich framework for exploring the world of fractals. It handles the common processing steps required to generate a fractal image so that you can concentrate on the fun part; developing the fractal formulas/equations, complex transformations, and coloring schemes that define the fractal.

Programming Language Support

Fractal: Mobius PatternsThe Programming Language you use to develop your Fractal Programs, supports a complete set of control structures including if statements, while loops, for loops, switch statements, inline functions/methods, arrays, and user defined objects. The complex data type is the fundamental variable type, and arithmetic operators and functions handle complex operands/arguments. A rich set of built-in functions/methods are included, and you can develop your own library of functions/methods for use throughout the application.

Fractal: Circle Orbit TrapEach fractal software program can define a set of Program Properties to appear on the properties pages associated with the program. The user can interactively change the values of the properties to control program execution. Properties include enums, function proxies, option maps, options, option arrays, constants, and data tables. Most of the properties result in one or more constants that you will use in your program to control program flow. The user interacts with the properties on the properties pages which sets the values of the constants used by your fractal software.

See the Fractal Programming tutorial to learn the key concepts involved in writing your own fractal software.

Programs written using the L-System Language are also supported.

Macro Support

Fractal: Grand Julian IFSMacros are the set of Objects, Inline Functions, Inline Methods, and #Define Statements, available to all your programs. At first, you may not need any macros other than the built-in macros. In fact, it is recommended that you read through the built-in macros so you know what is available, and to get an idea how to define your own macros when the time comes. As you begin to develop fractal programs, you will find that you want to use a piece of code you have already written in another program. Creating a function or method in My Macros solves this problem. All the macros in My Macros can be used in any of your programs. Since the functions/methods are compiled inline and highly optimized, there is virtually no overhead for calling a macro.

Fractal: Borromean Rings Orbit TrapMacros increase your productivity by allowing you to define blocks of code in a central location and include that code in your fractal program simply by referencing the macro name. Macros can define arguments that allow you to pass information to the macro code when you call the macro. Inline functions/methods can include arguments passed by-value or by-reference and can return a complex value or an object. Inline functions/methods can include local variables, loops, calls to built-in functions, calls to inline functions and methods, etc. The ability to create your own macros and inline functions, increases your productivity as you develop your own fractal software.

Rich set of Built-in Functions/Methods

Fractal: Orbit TrapA rich set of over 500 built-in functions/methods are included, and you can develop your own library of functions/methods for use throughout the application. Built-in functions include math functions, geometry functions, trigonometric functions, hyperbolic functions, array functions, debug methods, random number functions, polynomial functions, root-finding methods, color functions, gradient functions, texture functions, (color) controller functions, transformation access functions, orbit trap functions, noise functions, circle functions, Mobius transformation functions, affine transformation functions, vector functions, triangle functions, and many more. The built-in functions/methods give you a head start as you develop your own fractal software.

See Built-in Functions and Built-in Macros for details.

Hundreds of Built-in Programs

Fractal: Elliptic Splits IFSHundreds of built-in equations, transformations, orbit traps, and color controllers, allow the casual user to produce stunning fractal images while providing the experienced fractal developer a rich set of examples on which to build his/her own fractal software.

The more than 60,000 lines of source code for the built-in fractal programs and the built-in macros (inline functions/methods) are accessible via the Program Browser and Macro Editor, respectively.

See Built-in Programs for a complete list.

Extensive Documentation

Fractal: CircumcenterThis documentation covers every aspect of the application. The different Fractal Types are defined, and each of the different Application Windows is discussed as are the Properties Pages that control the fractal framework. For each of the 12 different Program Types, the documentation gives all the information necessary to write programs of that type, including information on the program structure, when/how the program is used by the framework, and examples to get you started.

The Programming Language syntax is fully documented, including details on writing inline functions/methods (Macros), and examples are provided for each programming construct. The L-System Language is also described.

Information on each of the built-in functions/methods is included (see Built-in Functions and Built-in Macros).

Online Tutorials and Example Fractals

Fractal: Mobius PatternsWhen you're ready to begin using the Fractal Science Kit fractal generator, a set of in-depth Tutorials help you learn how to generate Mandelbrot Fractals, Orbit Traps, Orbital Fractals, and L-System Fractals. In addition to covering the basic concepts, these tutorials explain how you can use complex transformations and color controllers to take control of every aspect of the fractal image processing.

A Fractal Programming tutorial introduces you to the key concepts involved in writing your own fractal software.

Finally, a downloadable collection of illustrative Fractal Examples are available to get you started quickly. 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.


Copyright 2004-2019 Ross Hilbert
All rights reserved