4 ms·
Making Noise (Ken Perlin)
- iamwil 16y ago"Now you have 2n of these values. Interpolate between them down to your point, using an S-shaped cross-fade curve (eg: 3t^2-2t^3) to weight the interpolant in each dimension. This step will require computing n S curves, followed by 2n-1 linear interpolations" I don't get this part. If it's 2D and I have 4 grid points, how does that figure into the S-shaped cross-fade curve? ie, I see a parametric function with time, but I'm not sure where the grid point dot products figure into it. Anyone care to illuminate, or point me to some article?
- bhickey 16y agoN.B. One drawback of lattice gradient noise is that the output is 0.0 at the lattice points. One trick used to avoid this artifact is to rotate your coordinate system in a higher dimension. If you want 3D noise, rotate your 3D space and take a slice through 4D. Similarly you need to be careful of artifact when generating fractional brownian motion. I believe it was Worley who suggested rotating/translating your coordinate system for each octave. As part of a map making project I need noise, so I wrapped toxiclibs noise code up to make it nicer in clojure. (http://github.com/bhickey/pandaemonium http://github.com/bhickey/pandaemonium LGPL, contributions welcome!) I plan on implementing this all on the GPU when I get a chance. Coherent noise is fun: http://imgur.com/Y92QJ.png http://imgur.com/Y92QJ.png
- meatsock 16y ago> The technique is called hypertexture, officially because it is texture in a higher dimension, but actually because the word sounds like "hypertexture" i'd love to know what this means.