1

我有一个无限的二维网格,我需要为每个网格位置随机分配一个值。整数值的数量是有限的。我需要彼此靠近的位置具有相似的值,从而创建具有通常相等值的位置的“全局”。我之前尝试使用 Perlin 噪声算法,但给我的值分布不均匀,导致某些可能的值比其他值更常见。

目前,我的算法看起来有点像这样:

n = perlin(x/scale,y/scale) (scale is for coherence)
n = abs(n) / amplitude of Perlin function (as to make it between 0 and 1)
return floor(n*(max value))

但是,无论我如何调整函数,这都会产生极其不均匀的值。有没有更好的方法来创造这样的价值?

4

1 回答 1

1

要在网格上获得一些连贯性,您需要从整数网格中对 perlin 噪声进行采样。例如:n = perlin(x/10.0, y/10.0)

于 2014-02-09T16:16:09.157 回答