gifPerlin Noise

png png jpg

Perlin noise simulates the fractal geometry of nature and gives the model an organic form. Perlin noise may be applied to the Generator alone or to sine wave perturbations in Stacks or Slices, and in any combination. For example you may apply noise to the Generator alone whilst Stacks and Slices remain inactive. Alternatively, noise can be applied to Stacks alone, etc.

Apply Perlin Noise to Outer and Inner Walls Whelk 1-0-6

Perlin noise may be applied to the Outer and/or Inner walls of the form. To apply Perlin noise to the Inner wall, the mesh option ‘Inner Wall’ must be ON. The Inner tab has an option to use the Outer wall noise when ‘Use outer wall noise’ is checked: this ensures the Inner wall form follows the Outer, and that the wall width remains uniform around the profile. The wall width in the images below has been enlarged to make this clear:

png png png

P - Turbulence

Valid range is 0 to 1.

Oct - Number of Ctaves

Valid range is 1 to 16.

k - Turbulence scaling factor

Higher values increase turbulence.


Changing the seed value will re-seed the random number generator and alter the form. Valid range is from 1 to 1000000.


Seed = 1


Seed = 2


Think of ZERO as the profile boundary. -1 is the innner side of the profile (towards the profile center), and +1 is the outer side the profile. The Range choice offers:

-1 to 1: Noise is subracted from and added to the original surface. This range preserves the general profile.

-1 to 0: Noise is subracted from the original surface. This range shrinks the general profile. Using this range for an inner wall ensures that it does not intersect with the outer.

 0 to 1: Noise is added to the original surface. This range enlarges the general profile.

NOTE: After applying noise, you can always change the profile radius on the generator.

When using large noise values on the Inner wall with Range -1 to 0, it is preferable to set the wall width to ZERO, as the wall dimension is generated by the noise alone:

png png png

Cloud Limits

Brings up the Cloud Limits window where you can set Min and Max values for the Permutation array.



Use Fifth Order Blending curve. Having consulted Ken Perlin's paper “Improving Noise”, I have added an option to use a fifth order blending curve f(t) = 6t^5 -15t^4 + 10t^3 to compute the interpolant. This option is turned ON by default. When turned OFF, the original Hermite blending function f(t) = 3t^2 - 2t^3 is used instead; however, because it is highly desirable to have a continuous second derivative for the noise function, the new default is recommended. This is because f(t) = 6t^5 -15t^4 + 10t^3 has zero first and second derivatives at both t=0 and t=1 which results in an absence of artifacts. As implemented in Whelk, the effect is most noticable at lower Octaves when the mesh resolution in Slices >= 144; the general result is smoother modulations in the mesh which are also better defined.


When checked, generate pseudo-random primes for the permutation array. This option is OFF by default. It is an experiment that provides another way to modify noise.


P = 0.5


P = 0.7


P = 0.9


P = 1.0