[英]2d Perlin noise. Why do i have to take the dotproduct of displacement and gradientvector?
好吧,我现在想通了。 第一个教程的噪声是所谓的梯度噪声,而第二个教程的噪声是值噪声。 ken的经典Perlin噪声是梯度噪声(质量和性能更好),而值噪声则更容易理解。 但是在这两种情况下,八度都加了n次(梯度噪声不能代替此过程)。 看到:
http://en.m.wikipedia.org/wiki/Value_noise
http://en.m.wikipedia.org/wiki/Gradient_noise
渐变噪声为长度为1的随机向量的网格设置了种子。这些向量彼此之间的距离为1。 取位移矢量从4个最近的网格点到我想要的点的点积,以及在这4个点处播种的梯度矢量,对于这4个点中的每一个,结果将在-1和1之间。 然后可以对这些值进行插值以获得实际的点值。
值噪声为每个网格点实时生成随机值,它们之间的距离为1。这些值是通过种子生成的,允许我一遍又一遍地获得相同的值。 当我选择要获取的点周围的平方根时,我会根据所传递的坐标实时生成随机值(可以在第二个tut中看到此类生成器的算法),然后使用周围的网格点对其进行模糊处理以获得平稳的声音。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.