Mandelbrot Fractals - Part 3

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

<Back>  1  2  3  4  5  6  7  8  <Next>

In Part 3 of the tutorial, we are going to define data that we will use to color the fractals in Part 4 through Part 8.

Execute the Reset to Defaults command on the File menu of the Fractal Window.

Select the General properties page:

General

Turn on Anti-Aliasing by setting Oversampling to 3x3 Oversampling in the Anti-Aliasing section.

This dramatically increases the space required for sample data and the time required to compute it, and should be used with care. However, since we will spend most of our time working with the controllers in this part of the tutorial, the Processing Optimization performed by the Fractal Science Kit will skip the sample generation step for all but a few of the display requests.

Next, select the Mandelbrot / Julia / Newton properties page:

General
    Mandelbrot / Julia / Newton

Turn off Cycle Detection in the Cycle Detection section of the page by unchecking the Active property.

We do this because later in the tutorial we will color the inside of the Mandelbrot set and Cycle Detection introduces visual inaccuracies for inside samples (those samples that are part of the Mandelbrot set).

Now we need to define some additional data to be collected during the fractal iteration that we will use to color the fractal in Part 4 through Part 8. This is done using the Alternate Mapping pages. There are several predefined selections and a generic setting that lets you define the data collection process using an Alternate Value program.

Select the Alternate Mapping 1: <None> properties page:

General
    Mandelbrot / Julia / Newton
        Alternate Mapping 1: <None>

Set the Type to Minimum Value.

This setting keeps track of the orbit point with the minimum value in each orbit and makes it available to the controllers. Later, we will use this data to color the fractal.

Next, select the Properties page in the hierarchy under Alternate Mapping 1: Minimum Value.

General
    Mandelbrot / Julia / Newton
        Alternate Mapping 1: Minimum Value
            Properties

On the Minimum Value Properties page, set the Value to Triangle Metric.

By default, Value is set to Magnitude and we keep track of the orbit point with the minimum magnitude in each orbit. Setting Value to Triangle Metric causes us to keep track of the point with the minimum triangle metric in each orbit. We will define which triangle metric to use shortly.

Next, select the Alternate Mapping 2: <None> properties page:

General
    Mandelbrot / Julia / Newton
        Alternate Mapping 2: <None>

Set the Type to Average Value.

This setting computes the average value over all points in each orbit and makes it available to the controllers. Later, we will use this data to color the fractal.

Then, select the Properties page in the hierarchy under Alternate Mapping 2: Average Value.

General
    Mandelbrot / Julia / Newton
        Alternate Mapping 2: Average Value
            Properties

On the Average Value Properties page, we can set which value we want to average along with several other properties that control the data collection. No changes are required on this page for this tutorial but you can see that there are lots of properties that you can experiment with later.

Now we need to define the triangle metric required by Alternate Mapping 1 defined above.

Select the Triangle Metric properties page:

General
    Triangle Metric

The page defines a single point (complex value) based on a triangle metric expression. The Triangle Metric page is divided into 4 sections: the Triangle Metric section that defines several properties and a triangle metric expression, and 3 additional sections (p1, p2, p3) that define 3 orbit point triangles, each with an associated triangle metric. By default, the triangle metric expression returns the single triangle metric defined by the section p1, and p1 uses the last 3 points in the orbit to define the triangle on which the metric is based.

For this tutorial, we will set only the Triangle Metric property in section p1 and accept all the remaining defaults. Set the Triangle Metric property to CircumCenter. This, in conjunction with the remaining default settings, computes the CircumCenter of the last 3 orbit points for each iteration of the orbit, and this information is made available to the Alternate Mapping 1 defined above.

Now we need to zoom into the left side of the Mandelbrot fractal. Normally, you would use the Zoom In box to interactively zoom into the fractal, but we will use the Set Image Viewport dialog so we will all be viewing exactly the same part of the complex plane. To view the dialog, execute the Resize command on the View menu of the Fractal Window.

The Set Image Viewport dialog lets you change the size of the fractal image and the location, size, and orientation, of the viewport onto the complex plane mapped to the image.

Set Center to -1.4 and Magnification to 4 and click Ok and wait while the application generates the sample data and processes the fractal image shown below. Remember that we set Oversampling to 3x3 Oversampling in the Anti-Aliasing section of the General page so you will need to wait longer than normally would be the case. In fact, since Solid Guessing is automatically disabled when you turn on Anti-Aliasing, the fractal generation processing could take an order of magnitude longer than when Anti-Aliasing is off. On my machine, for example, the following image takes almost 30 seconds to generate compared to 3 seconds, if Anti-Aliasing is turned off. However, as was mentioned before, we will spend most of our time working with the controllers in this part of the tutorial, and the Processing Optimization performed by the Fractal Science Kit will skip the sample generation step for all but a few of the display requests so the extra quality is worth the cost.

Mandelbrot Fractal

This is the resulting image that was created using the default Classic Controller.

<Back>  1  2  3  4  5  6  7  8  <Next>

 

Copyright © 2004-2019 Ross Hilbert
All rights reserved