I am learning Perlin Noise, the original version and the improved version.

In the paper which Ken Perlin wrote in 2002. He said "The second deficiency is that whereas the gradients in G are distributed uniformly over a sphere, the cubic grid itself has directional biases, being shortened along the axes and elongated on the diagonals between opposite cube vertices. This directional asymmetry tends to cause a sporadic clumping effect, where nearby gradients that are almost axis-aligned, and therefore close together, happen to align with each other, causing anomalously high values in those regions". Here I can not understand what means "directional biases, being shortened along the axes and elongated on the diagonals between opposite cube vertices." and why it causing "axis-aligned clumping".

Could anyone help me out? Thank you.


Very briefly, Perlin noise ideally is meant to have, on average, the same frequency characteristics no matter where in the texture you are or in what direction you are looking.

However, the way it's done is to define pseudo-random values (and derivatives) on a regular 3D grid which introduces some compromises.

To make this easier to understand, imagine instead using just a 2D grid, and on every grid location with an even-numbered X coordinate, you set the value to 0.0, and on every odd X, 1.0. So at (0,0), (2,0), (4,99) etc you have 0.0, while at at (1,0) etc, you have 1.0.

If you followed a horizontal line, e.g (0,0) (1,0) (2,0) etc, it would go up and down, in a sine-wave-like pattern every 2 steps, but if you followed it in a diagonal direction, (0,0), (1,1), (2,2,) then, per distance traveled, it would go up and down more slowly.

I believe that is what Perlin is referring to.

| improve this answer | |
  • $\begingroup$ Thanks for replying. But I still wonder why the gradients point along the axis and diagonals causing clump. $\endgroup$ – Xile Mar 24 at 14:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.