gamedev.SE上,我们发现Perlin-noiseflash实现似乎与其他实现有很大不同。

我没有在网上找到任何实现细节,但我想知道是否有人可以告诉哪个算法用于闪存中的Perlin噪声。

使用bitmapData.perlinNoise(32, 32, 1, 200, false, false, 7, true); 其中仅生成这样的图像numOctaves参数已被改变( 124从左至右):

闪光灯中的柏林噪音

然而,Perlin噪声的其他实现看起来完全不同。 例如维基百科关于Perlin-noise的文章中的图片:

维基百科上描述的Perlin噪音

培林噪声的此ActionScript实现产生相当不同的结果,因为你可以在下面的图像看到(八度124从左至右):

柏林噪音AS3

我最感兴趣的是只有一个八度的噪音。 在闪存实现中,您可以清楚地看到,噪声正在形成像分离的斑点。

重要提示 :flash中生成的噪声对fractalNoise参数使用false 如果fractalNoise设置为true ,则结果实际上与Wikipedia和其他实现中的结果非常相似。

参数说明如下:

布尔值。 如果该值为true,则该方法生成分形噪声; 否则会产生湍流。 具有湍流的图像在梯度中具有可见的不连续性,这可以使其更好地近似更清晰的视觉效果,如火焰和海浪。

我们可以看到,他们谈到湍流来描述产生噪音的方法。 所以我想问题是:闪存产生的输出是否仍然是Perlin噪声? 或者那种噪音还有另一个名字吗? 最重要的是:哪里可以找到一个像这样产生噪音的实现?

===============>>#1 票数:4

显然,术语存在一些混乱。 但从技术上讲,佩林所描述的噪音只是一个八度,而没有任何总和。 它看起来像是第一个维基百科图像。

我很确定几乎没有人真正使用它。 每个人都加起来几个八度,通常在较低的频率下使振幅变大。 “有多大”是持久性。 无论如何,当你把它加起来时,它被称为分形噪声。

“Perlin噪音”实际上只意味着你制作了一堆随机渐变,并插入它们。 但人们将分形噪声称为Perlin噪声,因为它是几个Perlin噪声波的总和。

请注意,通常,如在参考实现中,Perlin和Simplex噪声函数输出值以0为中心并且(有时)缩放为[-1,+ 1]。 此外,这些相似但不完全相同 - 单工噪声看起来有点不同。 它们有时被称为Perlin噪音,因为Ken Perlin原本想到Perlin噪音(他称之为“噪音”),然后通过去除一些冗余并产生单一噪音(他称之为“改善的噪音”)来加速它)。 Simplex本身看起来有点暗(网格不同,所以看起来很明显不同),而且通过高维噪声的部分与Perlin的行为不同。

===============>>#2 票数:1

自从我进行任何图像处理以来,这是一个漫长的时间,但也许其中一些会有所帮助:

参考文献:(谁知道答案的人......) http://www.kelvinluck.com/assets/perlin_noise_experiments/http://www.quasimondo.com/archives/000672.phpHTTP:// WWW。 sjeiti.com/?p=305

我的理解是Flash实现是基于整数计算而不是浮点数输出结果。 这可以解释为什么渲染速度快,但外观略有不同。

希望至少让你朝着正确的方向前进......

  ask by bummzack translate from so

未解决问题?本站智能推荐: