From [pov:6.7.12.6.4]:
Inside the warp statement, the keywordturbulence
followed by a float or vector may be used to stir up any pigment, normal or density. A number of optional parameters may be used with turbulence to control how it is computed. The syntax is:
TURBULENCE_ITEM: turbulence <Amount> | octaves Count | omega Amount | lambda Amount
Typical turbulence values range from the default 0.0, which is no turbulence, to 1.0 or more, which is very turbulent. If a vector is specified different amounts of turbulence are applied in the x, y and z-direction.
Turbulence uses a random noise function called DNoise. This is similar to the noise used in the bozo pattern except that instead of giving a single value it gives a direction. You can think of it as the direction that the wind is blowing at that spot. Points close together generate almost the same value but points far apart are randomly different.
Turbulence uses DNoise to push a point around in several steps called octaves. We locate the point we want to evaluate, then push it around a bit using turbulence to get to a different point then look up the color or pattern of the new point.
It says in effect "Don't give me the color at this spot... take a few random steps in different directions and give me that color". Each step is typically half as long as the one before.
From [pov:6.7.12.6.4.1]:
Octaves
The octaves
keyword may be followed by an integer value to control the number
of steps of turbulence that are computed. Legal values range from 1 to 10. The
default value of 6 is a fairly high value; you won't see much change by setting
it to a higher value because the extra steps are too small. Float values are
truncated to integer. Smaller numbers of octaves give a gentler, wavy
turbulence and computes faster. Higher octaves create more jagged or fuzzy
turbulence and takes longer to compute.
Lambda
The lambda
parameter controls how statistically different the random move of an
octave is compared to its previous octave. The default value is 2.0 which is
quite random. Values close to lambda 1.0 will straighten out the randomness of
the path in the diagram above. The zig-zag steps in the calculation are in
nearly the same direction. Higher values can look more swirly under some
circumstances.
Omega
The omega value controls how large each successive octave step is compared to the previous value. Each successive octave of turbulence is multiplied by the omega value. The default omega 0.5 means that each octave is 1/2 the size of the previous one. Higher omega values mean that 2nd, 3rd, 4th and up octaves contribute more turbulence giving a sharper, crinkly look while smaller omegas give a fuzzy kind of turbulence that gets blurry in places.
Andreas Kriegl 2003-07-23