0

我需要从 Maya 编写 dnoise 函数的 C++ 实现。然而,这个函数的文档严重不足以从实现的角度描述这个函数的实际作用。

那么,这个函数实际上是做什么的呢?以及如何实现它?

编辑:在文档中找到:“噪声函数返回一维、二维和三维噪声场的值。dnoise 命令返回三维噪声场的梯度。”

那么噪声场的值和梯度有什么区别呢?

编辑2:显然梯度是返回偏导数向量的函数。

偏导数

坡度

这样就回答了函数需要做什么;现在的问题是如何计算噪声函数的偏导数。

4

1 回答 1

1

如果您阅读噪声函数文档,您会发现 dnoise 会在三个维度上产生 Perlin 噪声。

Flipcode上有一个免费的 C++ 实现

有关 Perlin 噪声的更多理论背景,请参阅此页面

此外,Ken Perlin 是个很酷的人。看看他的作品!看他的主页

于 2011-04-06T18:32:05.857 回答