Previous:Transforming Patterns Main Index Next:Waveforms
The frequency
and phase
modifiers act as a type of scale and translate modifiers for various blend maps. They only have effect when blend maps are used. Blend maps are color_map
, pigment_map
, normal_map
, slope_map
, density_map
, and texture_map
. This discussion uses a color map as an example but the same principles apply to the other blend map types.
The frequency
keyword adjusts the number of times that a color map repeats over one cycle of a pattern. For example gradient
covers color map values 0 to 1 over the range from x=0 to x=1. By adding frequency 2.0
the color map repeats twice over that same range. The same effect can be achieved using scale 0.5*x
so the frequency keyword isn't that useful for patterns like gradient.
However the radial pattern wraps the color map around the +y-axis once. If you wanted two copies of the map (or 3 or 10 or 100) you'd have to build a bigger map. Adding frequency 2.0
causes the color map to be used twice per revolution. Try this:
pigment { radial color_map{[0.5 color Red][0.5 color White]} frequency 6 }
The result is six sets of red and white radial stripes evenly spaced around the object.
The float after frequency
can be any value. Values greater than 1.0 causes more than one copy of the map to be used. Values from 0.0 to 1.0 cause a fraction of the map to be used. Negative values reverses the map.
The phase
value causes the map entries to be shifted so that the map starts and ends at a different place. In the example above if you render successive frames at phase 0
then phase 0.1
, phase 0.2
, etc. you could create an animation that rotates the stripes. The same effect can be easily achieved by rotating the radial
pigment using rotate y*Angle
but there are other uses where phase can be handy.
Sometimes you create a great looking gradient or wood color map but you want the grain slightly adjusted in or out. You could re-order the color map entries but that's a pain. A phase adjustment will shift everything but keep the same scale. Try animating a mandel
pigment for a color palette rotation effect.
These values work by applying the following formula
New_Value = fmod ( Old_Value * Frequency + Phase, 1.0 ).
The frequency
and phase
modifiers have no effect on block patterns checker
, brick
, and hexagon
nor do they effect image_map
, bump_map
or material_map
. They also have no effect in normal statements when used with bumps
, dents
, quilted
or wrinkles
because these normal patterns cannot use normal_map
or slope_map
.
They can be used with normal patterns ripples
and waves
even though these two patterns cannot use normal_map
or slope_map
either. When used with ripples
or waves
, frequency
adjusts the space between features and phase
can be adjusted from 0.0 to 1.0 to cause the ripples or waves to move relative to their center for animating the features.
Previous:Transforming Patterns Main Index Next:Waveforms