< Variations  ...more information...  Filtration > 

In the vast majority of fractal programs, color is controlled by way of a gradient. This gradient is used to apply colors to a fractal based on its overall density in any given area. In order to fully understand the concept of how a fractal’s density is determined, a quick review is in order covering a few concepts discussed in other sections In Chaos Theory, a dynamical system is the study of the movement of a point in space as it interacts with attractors and strange attractors. The resulting path usually forms a series of distinct visual patterns. The path may find its way back to its point of origin and begin to loop into a continuous overall pattern, or in some cases it may continue infinitely without ever finding itself in a systematic loop. In any case, the point will almost always have a preferred area that it moves around in, though it will often briefly deviate into other areas as well. Even in cases where there is no preferred area per se, the point will inevitably cross its own path several times during its movement. The location of the point at any and all given times is used to determine a “density map” for the fractal. The areas in which a point is found most often will have the highest point density, while other areas in which the point is found less frequently will have a much lower point density. When this fractal is further manipulated by an Iterated Function System or other Variation it creates an entirely new pattern with densities inherited from the parent fractal, creating a much broader spectrum of density values for the new fractal overall. This is where the gradient comes in. The density map of a fractal contains a series of values ranging in density from low to high. Likewise, a gradient has a series of gradual and/or sharp color changes from left to right. Combining the two, colors for the fractal are picked from the gradient and applied from left to right proportional to its density in a given area. Gradual color shifts in a gradient will result in gradual color changes along the fractal’s density. While it would seem that a gradual shift is preferable in giving a fractal smooth color depth, sharp color changes in a gradient can sometimes reveal interesting patterns in a fractal that would not otherwise have been observed. Furthermore, julia fractals tend to have elaborate patterns and clearly defined edges, making them wonderful canditates for gradients with sharp transitions. A Flashbased color simulator has been provided in this section’s spotlight to the left for an example of how gradients and density maps interact.
While the interaction between gradient and density map provides a fractal with a fullycustomizable color scheme, the overall appearance of the fractal will often still feel quite flat. This is because overlaying a gradient does not fully account for the visual trends in a fractals thickness and form. By adding the values of gamma and vibrance to the mix, a much deeper control of color becomes available. Gamma adjusts the brightness of colors overall or by a specific channel (red, blue, or green), while vibrance increases the richness of the fractal’s colors. These two values tend to play off of each other in unique ways depending on the fractal they are applied to. Many fractal programs adjust gamma and vibrancy values automatically behind the scenes, but most will allow users the option of finetuning these values manually. There is no hard and fast rule as to how best to adjust these values, although low vibrancy combined with high gamma often results in an almost complete wash of color. The settings chosen by the designer are often dependent upon personal preference and the unique needs of the fractal itself. The following renders were done in Apophysis, and illustrate some extreme examples of gamma and vibrance settings.
Some fractal design programs, most notably Ultra Fractal and its various predecessors and imitators, utilize an added dimension of coloration called a “coloring algorithm”. For those new to the concept of programming, an “algorithm” is a mathematical function designed to accomplish a specialized task. Coloring algorithms open the door to a seemingly endless variety of coloration options. A simple example of this would be an algorithm that applies a gradient based on its tonal value rather than its color, resulting in a smooth, grayscale fractal. Some algorithms lay multiple instances of a gradient over a fractal instead of just one. Other algorithms apply gradients diagonally or vertically to a density map rather than a simple horizontal comparison, which can result in any number of strange and interesting patterns. Many other algorithms exist that factor in additional variables such as distance, or will apply visual effects like lines or ripples in the coloration process. In some cases, complex color algorithms are so dynamic in function that they could almost be considered fractals in and of themselves. 
< Variations  ...more information...  Filtration > 