perlin-noise - 柏林与。分形与。湍流噪音

标签 perlin-noise

我知道什么是柏林噪音(我写了一些代码来生成它)。

我认为分形噪声是按比例缩放并求和的 Perlin 噪声,对吗?

我有时会在同一篇文章中看到湍流噪声和柏林噪声,但随后这篇文章只讨论了柏林噪声。它们有什么关系?

最佳答案

柏林噪声是一种 gradient noise通过散列坐标生成以对应于随机值(这是你的梯度)。然后,此方法在梯度之间进行插值,以提供比 value noise 更好的结果噪声。其中您只需在每个散列整数坐标的值之间进行插值。

当将一个像素缩放到一个整数坐标时,梯度和值噪声看起来与白噪声没有区别。当您引入 Octave 时,这种情况会发生变化。不是仅仅在每个点生成梯度或值,而是缩放网格并对值求和几次(就像你说的那样)。 Fractal噪声是产生分形的任何噪声, Octave 噪声求和产生分形噪声。这是因为 Octave 音程引入了自相似性和噪声分形所需的其他效应。

虽然倍频程求和是目前最流行的分形噪声技术,但分形噪声本身并不与其他类型的噪声相互排斥。例如,带有 Octave 音阶的 Perlin 噪声是梯度分形噪声。

湍流首先意味着两件事:

湍流噪声可以作为分形噪声的附加修饰符,分形噪声采用输出的绝对值来创建山谷并最终看起来像云湍流。您也可以将其反转以创建山脊。你最终得到这样的图像:

http://www.neilblevins.com/cg_education/procedural_noise/perlin_turb_max.jpg

它也指另一个纹理的扭曲空间,例如 described here towards the bottom 是什么.从某种意义上说,您对图像造成了动荡。此过程使用与 perlin 和其他方法使用的相同的散列索引。

你可以有梯度分形湍流噪声,没有一个是相互排斥的。

关于perlin-noise - 柏林与。分形与。湍流噪音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27915744/

相关文章:

c++ - linux C++、libnoise、getvalue() 返回值 > 1? (报告为错误)

java - 从哪里开始使用体素引擎?

simulation - 您使用程序技术制作/看过哪些内容

gradient - 避免柏林噪音中重复的巧妙方法

JavaScript 单纯形/柏林噪声

perlin-noise - 柏林噪声算法

c# xna : real time 2d Generation. 包括 GPU?使用 hlsl 还是 bramaha?

javascript - 使用柏林噪声制作 map ?

math - 在 3D 表面上使用分析 Perlin 噪声导数

python - Perlin 噪声看起来太网格化