15
$\begingroup$

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}$.

Square grid showing length of edge and diagonal

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)?

$\endgroup$
11
  • $\begingroup$ I think you might get a good answer from the signal processing or math site. $\endgroup$
    – Alan Wolfe
    Commented Aug 19, 2015 at 1:01
  • 1
    $\begingroup$ 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. $\endgroup$ Commented Aug 19, 2015 at 10:02
  • $\begingroup$ 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? $\endgroup$
    – Simon F
    Commented Aug 19, 2015 at 11:47
  • 1
    $\begingroup$ @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. $\endgroup$
    – Simon F
    Commented Aug 19, 2015 at 13:05
  • 2
    $\begingroup$ Here's an interesting paper: cs.utah.edu/~aek/research/noise.pdf (useful keywords: "Fourier spectrum") $\endgroup$ Commented Aug 19, 2015 at 14:39

1 Answer 1

11
$\begingroup$

As usual with numerical methods and samplings, it also depends of your quality threshold of what you consider "isotropic". And of what you would consider as a being or not a "grid-based noise algorithm".

For instance Gabor Noise reproduces a target spectrum, for instance blue noise, which in Fourier domain is a simple isotropic ring. Now if you consider that this ring is not analytic but rasterized, as such it is not perfectly symmetrical. Also if the ring radius (i.e., frequency) get too close to the window size (i.e., maximum frequency), it will be truncated (and thus no longer symmetrical). Up to you to accept or not these as anisotropic ;-)

"this is not a circle" - Magritte "this is not a circle" - Nyquist "This is not a circle" - Magritte . . . . . . . . . . . . . . . . "This is not a circle" - Nyquist

You might or might not accept a rasterized ring in Fourier space to be "isotropic". Still, in the extreme cases where the ring get thinner than the resolution, or larger than the window, isotropy is objectively lost.

$\endgroup$
1
  • 1
    $\begingroup$ I think a image would do wonders. $\endgroup$
    – joojaa
    Commented Oct 7, 2015 at 16:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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