Ultra Fractal Tutorial -- Solid Color -- Part Two
by Robert "Red" Williams



The first part of this tutorial on Solid Color was primarily intended to cover how the solid color could be used to create large zones of partial or complete transparency in an image using transforms in the family typified by Luke Plant's Scissors. In it, I gave examples of how to activate the Inside and Outside Solid Colors using the Transfer Function choice of "None". This action removes the entire zone (Inside or Outside) from the influence of the coloring method and assigns all points within it the applicable Solid Color. I did not address those cases in which the coloring algorithm assigns the solid color to certain pixels while assigning color index numbers to others. In the latter instance, points assigned the Solid Color will be colored the Solid Color regardless of the choice of Transfer Function. This part of the tutorial covers such a situation. It was originally written for a different purpose; therefore, there is some duplication of content and you may perceive a certain lack of coherence with respect to Part One. For that, I apologize, but I don't think the potential for improvement justifies the effort it would require to completely re-write and integrate both parts.

Let's begin with some very basic descriptions. First of all, there are inside and outside points. Both may be colored but the terms inside and outside coloring are not definitive. Both sets of points may be colored in three ways -- by assigning a fixed color (solid color), by assigning a fixed color index number or by assigning a variable color index number according to a coloring algorithm. All of these colors may co-exist within a single layer of a single image.

Transforms can only assign solid colors but they can assign it to either inside or outside points. This is the solid color accessible through the little "Mandelbug" icon on the Mapping Tab.

Coloring methods may make all three types of color assignments, but each only to its own set of points. You may select the same method for both inside and outside coloring but you must select it on both the Inside and Outside Tabs and they will act independently except that they must share the Gradient and Alpha Channel Editors.

Once a point has been assigned a color, that decision is irrevocable; thus, transforms, which act first, are dominant. It isn't that they override -- it's simply that they're first and the assignment can't be changed. Coloring methods "usually" assign a color index number to each point according to how that point's orbit behaved as the formula was iterated; however, pixels may be "trapped" in various ways and assigned a solid color or a fixed color index number.

A color index number just describes a position on the Gradient Editor. The left-hand end is 0 (zero) and the right-hand end is 1.0. Intermediate positions are described by decimal fractions with 0.5 representing the middle of the editor. (This assumes that the Color Density value is 1.0) Points which are assigned a color index number are colored whatever color occupies that position on the Gradient Editor. Positions between control points are interpolated by a method determined by whether or not you check the Smooth Curves input box. If you alter the Gradient Editor, the pixels will be re-colored without recalculation of the fractal.

The Alpha Channel and Opacity values do not affect the coloring of a layer -- they only affect the way layers are merged. When layers are merged, UF calculates a resultant color for each pixel based on a mathematical formula which is different for each merge mode. If a pixel in a higher layer is partially transparent, its effect is less than it would be if it were opaque. If the nature of the layers being merged is such that the appearance doesn't change much, the apparent effects of partial transparency will also be limited; nonetheless, partial transparency acts exactly the same way for all merge modes.

Pixels assigned the Solid Color by the coloring method will be colored accordingly, regardless of the Transfer Function selection even if other points are assigned different coloring.

If the Inside or Outside Solid color is activated by selecting Transfer Function = None on the appropriate Tab, all the inside or outside points not assigned a solid color by a transform will be colored the corresponding solid color. (Again, pixels having been assigned the solid color by a transform have been removed from the coloring method's sphere of influence.) The Alpha Channel Editor assigns a degree of Opacity to an index position which corresponds exactly to the index positions on the Gradient Editor. This means that any point which has been assigned a color index number may be affected by the alpha channel regardless of whether it is a fixed index number or one which was assigned according to a formula. On the other hand, points which have not been assigned a color index number; i.e., a solid color are not affected by the alpha channel. The alpha channel does not act on a color -- it acts on a position on the Gradient Editor. If there is another band of the same color at a different position on the editor, it *will not* be affected. (This does not prevent you from altering the transparency of the second position by adding control point(s) to the Alpha Channel Editor.)

What some people may not realize is that all these types of color assignment may coexist. For example, my Iteration Trap coloring method allows the artist to divide an image into three distinct zones depending on the number of iterations required for each point's orbit to reach the bailout condition. Pixels within each zone may be assigned an index value depending on a formula, a fixed index value or the solid color. The coloring method I wrote to accompany this tutorial isn't very useful otherwise, but it creates stripes which alternate between solid and formula coloring.

This UPR demonstrates most of these points.

Layer 2 is divided into a number of zones:


Outside points:
  • Chartreuse — Outside Solid
  • Cyan — Fixed Index
  • Graduated Blue — Formula Index
Inside points:
  • Dark Green — Inside Solid
  • Graduated Gold — Formula Index
Transform:
  • Magenta — Mapping Solid

If you move the slider on the Gradient Editor, you will see that the colors in the cyan zone and the two Formula Index zones are affected. The action is a little different. The color change in the cyan zone is a rise and fall of intensity because all the points are the same index number and moving the slider simply changes the color at that position on the Gradient Editor. In the other two zones, the color appears to "move through" the image. Note that in the inside region, the dark green (Inside Solid color) stripes are unaffected.

Now click on the Alpha Channel Editor and move its slider sidewise. As you do, you will see that the same three zones are affected. This illustrates the point that only pixels colored by assigning an index number are affected by the Alpha Channel Editor. Again note that the dark green stripes are unaffected. Also, note that Alpha Channel affects the entire cyan zone at once but that the transparent region moves through the image just as the colors do in those areas assgned index numbers by the inside and outside coloring formulae.

You may alter the Opacity of the solid color zones by clicking on the appropriate icons and entering a number from 0 to 255 in the Opacity input boxes.

There is one more interesting and potentially useful bit of information that I should point out. If you move the Layer 2 opacity slider back and forth, the transparency of the entire layer is affected. If you delete two of the control points on the Alpha Channel Editor and drag the remaining point up and down, you will see that the solid color zones are unaffected whereas the effect on the other zones is exactly the same as when movin the Opacity slider.



Back to UF Tutorials

Copyright © 1997-2009
J       a       n       e       t             P       a       r       k       e