Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我需要从 Maya 编写 dnoise 函数的 C++ 实现。然而,这个函数的文档严重不足以从实现的角度描述这个函数的实际作用。
那么,这个函数实际上是做什么的呢?以及如何实现它?
编辑:在文档中找到:“噪声函数返回一维、二维和三维噪声场的值。dnoise 命令返回三维噪声场的梯度。”
那么噪声场的值和梯度有什么区别呢?
编辑2:显然梯度是返回偏导数向量的函数。
偏导数
坡度
这样就回答了函数需要做什么;现在的问题是如何计算噪声函数的偏导数。
如果您阅读噪声函数文档,您会发现 dnoise 会在三个维度上产生 Perlin 噪声。
Flipcode上有一个免费的 C++ 实现
有关 Perlin 噪声的更多理论背景,请参阅此页面
此外,Ken Perlin 是个很酷的人。看看他的作品!看他的主页。