加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

闪光灯中Perlin-noise如何实现?

发布时间:2020-12-15 22:04:30 所属栏目:大数据 来源:网络整理
导读:在 gamedev.SE,我们发现 flash implementation of Perlin-noise似乎与其他实现相差很大. 我没有在线找到任何实现细节,但是我想知道有没有人能够知道哪些算法正在使用闪存中的Perlin-noise. 使用bitmapData.perlinNoise(32,32,1,200,false,7,true);生成只有nu
在 gamedev.SE,我们发现 flash implementation of Perlin-noise似乎与其他实现相差很大.

我没有在线找到任何实现细节,但是我想知道有没有人能够知道哪些算法正在使用闪存中的Perlin-noise.

使用bitmapData.perlinNoise(32,32,1,200,false,7,true);生成只有numOctaves参数已被更改的图像(从左到右为1,2,4):

然而,Perlin-noise的其他实现看起来是截然不同的.例如Wikipedia article about Perlin-noise的图像:

this Actionscript Implementation of Perlin-noise也可以产生不同的结果,您可以在以下图像中看到(从左到右是Octaves 1,2和4):

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

重要提示:在Flash中生成的噪点对于fractalNoise参数使用false.如果fractalNoise设置为true,结果实际上与维基百科和其他实现中的结果非常相似.

该参数的描述如下:

A Boolean value. If the value is true,the method generates fractal noise; otherwise,it generates turbulence. An image with turbulence has visible discontinuities in the gradient that can make it better approximate sharper visual effects like flames and ocean waves.

我们可以看到,他们谈到动荡来描述产生噪音的方法.所以我猜问题是:Flash产生的输出是否仍然是Perlin-noise?还是有这样一种噪音的名字?最重要的是:在哪里可以找到实现来创建这样的噪声?

解决方法

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

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

“Perlin噪音”实际上只意味着你会产生一堆随机梯度,并对它们进行插值.但是人们将分形噪声称为Perlin噪声,因为它是几个Perlin噪声波的总和.

请注意,如在参考实现中,Perlin和Simplex噪声函数以0为中心,(有时)以[-1,1]为单位输出值.此外,这些是相似但不完全相同的 – 单纯噪声看起来有点不同.他们有时被称为Perlin噪音,因为Ken Perlin最初想到了Perlin的噪音(他称之为“噪音”),然后通过消除一些冗余并创建单声道噪声(他称之为“改进的噪声”)来加速,).单面可以看起来有点暗(网格是不同的,所以显然它看起来不一样),而通过更高维度噪声的部分与Perlin不一样.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读