除了显而易见的之外,Perlin Noise 还有其他用途吗?

Posted

技术标签:

【中文标题】除了显而易见的之外,Perlin Noise 还有其他用途吗?【英文标题】:Are there any other uses for Perlin Noise besides the obvious? 【发布时间】:2010-10-25 06:00:54 【问题描述】:

我最近一直在研究不同的算法,并且阅读了很多关于柏林噪声的文章。人们使用它的唯一目的似乎是生成纹理(云/木纹)或分布树木。

Perlin Noise 还有什么用途?

【问题讨论】:

【参考方案1】:

一个相关的用途是分形生成的地形。

【讨论】:

【参考方案2】:

它可以用于 4 个维度(即 x、y、z、时间)来创建出现和消失的体积云。添加一个随时间变化的基本运动矢量,你也有风。

【讨论】:

【参考方案3】:

我知道关于 Perlin 噪音和你可以用它做的事情的最佳论文是 Ebert 的 Texturing and Modelling,但 Hugo Elias 不久前整理了一个相当不错的 pages on noise and other related subjects 集合,值得一看。

早在 2000 年代末 90 年代初,当我使用各种形式的 Perlin 噪声过程来处理地形生成时,我编写了一系列景观可视化程序时,我广泛使用它来创建看起来逼真的景观。许多其他程序也做类似的事情——例如美妙的Terragen。

我还使用它在其他纹理上应用逼真的噪点,例如为 Photoshop 的 Photorealistic Textile plugin 添加“粗糙度”。

基本上,Perlin 噪声的魅力在于它不是随机的而是湍流的,因此在任何情况下,如果您遇到不确定的现象,都可以应用它来提供更“自然”的结果。毫无疑问,任何程序员都应该熟悉的一组或例程,因为它的使用适用于人们倾向于使用随机数生成器的许多情况。例如,使用 Perlin 函数来导出游戏中某些建模移动实体的速度变化(比如由于风等)比应用随机变化效果要好得多。

【讨论】:

你的例子很有帮助。我是 Hugo Elias 网站的忠实粉丝。您的最后一段也很好地解释了 Perlin Noise 的用途。【参考方案4】:

也不要忘记Worley noise。它是对 Perlin 的有用补充。 paper itself 在这里。

http://www.cse.ohio-state.edu/~nouanese/782/lab4/ http://www.flickr.com/photos/12739382@N04/2652571038/

【讨论】:

谢谢!我以前从未听说过沃利噪音。我现在必须玩它【参考方案5】:

我已经看到它让虚拟角色动作看起来更逼真。

【讨论】:

以上是关于除了显而易见的之外,Perlin Noise 还有其他用途吗?的主要内容,如果未能解决你的问题,请参考以下文章

Chapter 4 Perlin Noise

OpenCV——Perlin Noise

Perlin Noise 2D:将静态变成云

Unity 动态网格地图的生成:基于Perlin Noise创建地形

Java 中的 Perlin 噪声

除了拥有正确的方法之外,还有更多的接口吗