We saw in the degenerate model that the color can be expressed as a function of the distance r from the z-axis. Adding noise or turbulance is done by peturbing the radius by either a noise or turbulance funtion(See [3] or [4] for an excellent treatment of noise and turbulance). Since the degenerate model is based on concentric cylinders a natural choice of parameters to the pertubation functions should be based on a cylindrical coordinate system (r, theta, z) where:

r = sqrt(x^2 + y^2);
theta = asin(x/r);

assuming asin returns a value between [0, 180]
if(y< 0) theta += 180

The color equation becomes:

Color(r) = color(r + Noise(r, theta, z));

Color(r) = color(r + Turbulance(r, theta, z));

### Some Pictures of Noisy Wood Grain

These were produced with a 2-D(theta and z) array of random numbers ranging from 0 to N. The range of influence for each random number is 30 units in z and 6 degrees in theta. Linear interpolation is used between random numbers. In an attempt to reduce the affects of linear interpolation the result(Peturb) of the Noise and Turbulence functions are used in the recalculation of R.
R = sqrt(x^2 + y^2 + Peturb^2)

N = 20, GrainWidth = 2, RingWidth = 8

N = 25, GrainWidth = 2, RingWidth = 8

N = 35, GrainWidth = 2, RingWidth = 8

N = 35, GrainWidth = 1, RingWidth = 4

not very exciting.

### Some Pictures of Turbulent Wood Grain

N = 20, GrainWidth = 2, RingWidth = 8

N = 25, GrainWidth = 2, RingWidth = 8

N = 25, GrainWidth = 0.5, RingWidth = 4

N = 35, GrainWidth = 1, RingWidth = 4

still not very exciting.