为什么Perlin噪声算法使用查找表来获取随机数

时间:2012-03-14 02:25:50

标签: random noise perlin-noise

我一直在研究我想要构建的库的噪声算法,并且已经开始使用Perlin噪声(更准确地说是单纯形噪声,我希望使用任意维度,或者至少高达6)。阅读Simplex noise demystified,帮助,但查看最后的实现,我看到一个名为perm的大查找表。

在代码示例中,它似乎用于生成一组渐变的索引,但该方法似乎很奇怪。我假设该表只是提供1)确定性,2)速度提升。

我的问题是,perm查找表是否有任何辅助意义或目的,或者出于上述原因?或者另一种方式,是否有一个特定的原因是伪随机数生成器使用,而不是性能?

2 个答案:

答案 0 :(得分:2)

这是一个字节数组。范围是0到255。 如果需要,您可以将其随机化。你可能想要随机播种......等等。

答案 1 :(得分:0)

perm表(和grad表)用于优化。它们只是预先计算的值的查找表。在1)和2)点都是正确的。

除了性能和可移植性之外,没有理由不能使用PRN。