我有一个无限的二维网格,我需要为每个网格位置随机分配一个值。整数值的数量是有限的。我需要彼此靠近的位置具有相似的值,从而创建具有通常相等值的位置的“全局”。我之前尝试使用 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))
但是,无论我如何调整函数,这都会产生极其不均匀的值。有没有更好的方法来创造这样的价值?