Algorithm 从网格上的列表中查找类似随机噪声的项

Algorithm 从网格上的列表中查找类似随机噪声的项,algorithm,random,noise,perlin-noise,noise-generator,Algorithm,Random,Noise,Perlin Noise,Noise Generator,我有一个无限的二维网格,我需要为每个网格位置随机分配一个值。整数值的数目是有限的。我需要相邻的位置具有相似的值,创建具有一般相等值的位置的“全局”。我以前曾尝试使用柏林噪声算法,但给出的值分布不均匀,导致某些可能的值比其他值更常见 目前,我的算法有点像这样: n = perlin(x/scale,y/scale) (scale is for coherence) n = abs(n) / amplitude of Perlin function (as to make it between 0

我有一个无限的二维网格,我需要为每个网格位置随机分配一个值。整数值的数目是有限的。我需要相邻的位置具有相似的值,创建具有一般相等值的位置的“全局”。我以前曾尝试使用柏林噪声算法,但给出的值分布不均匀,导致某些可能的值比其他值更常见

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

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))

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

要在网格上获得一些一致性,需要从整数网格中采样柏林噪声。例如:
n=perlin(x/10.0,y/10.0)

我已经对几个值做了这项工作,但我发现,尽管这些值是一致的,但它们的大小还远远不够;通常,最小的几个可能值会占用生成的所有网格。