Color Controllers Overview
Color Controllers are the instructions that map the sample data collected during the Fractal Science Kit fractal iteration to specific colors for display.
The Fractal Science Kit fractal generator supports 3 types of controllers:
Mandelbrot Fractals are processed by both Classic Controllers and Orbit Trap Controllers. The distinction is that Orbit Trap Controllers process only those sample points that have been trapped by 1 or more Orbit Traps and they support many additional options geared toward processing trap related data. Set 1 or both of the Process Classic and Process Orbit Trap properties on the Mandelbrot / Julia / Newton page to Activate Controllers to enable the associated controllers.
Controllers have access to the sample data collected during the fractal iteration, and to the lists of gradients and/or textures that have been added to the controller's properties pages. Typically, a controller maps a sample to a color using the information included in the sample along with the gradients/textures in these lists to form the resulting color. In addition, there are many color blending functions to support algorithmic methods to create colors.
Controllers can use sample data values to choose a gradient/texture from the controller's list of gradients/textures and/or to index into a specific gradient/texture to select a color. They can algorithmically form geometric patterns and map these onto the fractal. Controllers can combine different sample data values to form colors directly from sample data (sometimes called direct color support).
On the Controllers page, you can define the list of controllers to process the image. Directing how these controllers are used is the job of a special set of controllers called Master Controllers.
The Fractal Science Kit fractal generator supports 3 types of master controllers:
The master controllers have access to the list of controllers that have been added to the parent Controllers properties page and they determine which of these controllers, if any, will process each sample.
This architecture is very flexible. Each sample is passed to the (single) master controller who calls 0 or more color controllers to process the sample. If multiple controllers are used, the master controller combines the resulting set of colors as appropriate. Some master controllers use each color's alpha value (opacity) to combine the colors. Others algorithmically blend the set of colors using user specified options. A different strategy is to use information in each sample to determine which controller from the list should be used to process the sample resulting in strikingly different regions within the fractal image.
For example, when you process a Mandelbrot fractal, if the point was trapped by 1 or more orbit traps, the sample is passed to the selected Orbit Trap Master Controller for processing. The Orbit Trap Master Controller calls 0 or more Orbit Trap Controllers, combines the results, and returns a color. If the color has an Alpha value less than 1 (i.e., it is translucent), the sample is passed to the selected Classic Master Controller who in turn calls 0 or more Classic Controllers, combines the results, and returns a color which is added (based on its Alpha value) to the working color. If the point was not trapped, the sample is passed directly to the selected Classic Master Controllers for processing. Finally, any space remaining in the color is filled with the background color unless the Background's Visible property is not checked.
Orbital fractal processing is simpler since there is only 1 type of controller involved but the architecture is the same. Each sample is passed to the selected Orbital Master Controllers for processing. The Orbital Master Controllers calls 0 or more Orbital Controllers, combines the results, and returns a color. Any space remaining in the color is filled with the background color unless the Background's Visible property is not checked.
Copyright © 2004-2019 Ross Hilbert