5

我一直在研究我希望构建的库的噪声算法,并从 Perlin 噪声开始(更准确地说,Simplex 噪声,我想使用任意维度,或者至少多达 6 个)。阅读Simplex noise 揭开神秘面纱,有所帮助,但在最后查看实现时,我看到了一个名为perm.

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

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

4

2 回答 2

2

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

于 2012-12-11T22:18:18.417 回答
0

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

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

于 2013-07-30T01:31:06.617 回答