# Is all grid based noise inevitably anisotropic?

I'm interested in how this applies to higher numbers of dimensions too, but for this question I will focus solely on 2D grids.

I know that Perlin noise is not isotropic (direction invariant), and that the underlying square grid shows up enough to be able to identify its orientation. Simplex noise is an improvement on this but its underlying equilateral triangle grid is still not completely obscured.

My intuition is that any attempt to make noise of a particular frequency on a grid will result in a lower frequency in directions not aligned to the grid. So while attempts can be made to disguise this, the noise cannot in principle be isotropic unless it is generated without reference to a grid, allowing the average frequency to be the same in all directions.

For example, with a square grid without noise, with square side length $n$, the frequency of vertices horizontally or vertically is $\frac1n$, whereas the frequency of vertices at 45 degrees (through opposite corners of the squares) is $\frac1{\sqrt{2}n}$.

Is there a random distribution that could be applied to offset the vertex positions that would result in the frequency becoming identical in all directions? My suspicion is that there is no such distribution, but I don't have a way of proving either way.

In short, is there a way of making perfect grid based noise of a given frequency, or should I be focused on other approaches (non-grid based noise or ways of disguising artifacts)?

• I think you might get a good answer from the signal processing or math site. – Alan Wolfe Aug 19 '15 at 1:01
• I'm hoping that asking on computergraphics.SE will lead to answers that don't just give me signal processing theory or mathematical proofs, but the perspective of people who work with and research computer graphics. There may be something I haven't thought of that makes the question irrelevant, or it may only matter in certain circumstances, and if so I want the computer graphics angle on that. – trichoplax Aug 19 '15 at 10:02
• I've no idea how you would efficiently achieve random access to the final constructed data, nor how to extend it to 3D, but could you use something based on aperiodic tiling, e.g. en.wikipedia.org/wiki/Penrose_tiling ? i.e. have a random value at the centre of each tile? – Simon F Aug 19 '15 at 11:47
• @trichoplax Another thought that occurred to me is that the displacements you're suggesting sound like the schemes used to approximate minimum distance Poisson disc distributions using a jittered grid, e.g as used for antialiasing. I believe some care is needed when choosing how to generate those jittered offsets. I tried quick search in my papers collection and one that sprang up is "Filtered Jitter", by V. Klassen, (onlinelibrary.wiley.com/doi/10.1111/1467-8659.00459/abstract). It's from 2000 so there may be better approaches, but it's surely worth a try. – Simon F Aug 19 '15 at 13:05
• Here's an interesting paper: cs.utah.edu/~aek/research/noise.pdf (useful keywords: "Fourier spectrum") – John Calsbeek Aug 19 '15 at 14:39