# Why the gradients generated in original Perlin Noise causing axis-aligned clumping?

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.

• Thanks for replying. But I still wonder why the gradients point along the axis and diagonals causing clump.
– Xile
Commented Mar 24, 2020 at 14:27