微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

找到两个混合噪声值的导数

如何解决找到两个混合噪声值的导数

为了改进我的程序贴图生成,我一直在详细了解生成噪声的实际工作原理。

考虑到这一点,我一直在对 this tutorial series 进行有关噪声和噪声导数的 Python 改编。所以我想我会基于 ANLlibnoise 构建一个节点/模块系统,至少在我完成后对其他人有用。

我一直在将这个 Javascript version of libnoise 翻译成 Python,因为我之前使用过它并且很熟悉它,并针对 1D 和 4D 噪声进行了调整(除了它已经做过的 2D 和 3D)和衍生品。

原始教程中使用的导数加法、减法和乘法涵盖了很多模块函数,但我已经介绍了更复杂的函数,我正在努力弄清楚应该如何处理导数。

我在 Blend 模块,它接受三个不同的噪声输入,并用第三个作为 lerp 函数中的 alpha/时间值对其中的两个进行插值,如下所示;

def get1D(self,x):
        a = self.sourceModules[0].get1D(x)
        b = self.sourceModules[1].get1D(x)
        alpha = self.sourceModules[2].get1D(x)

        return lerp(a,b,alpha)

我有点不知该如何处理。我应该丢弃噪声的导数并根据插值计算一个新的导数吗?对于每个轴都有多个导数的更高维度,这将如何工作?

或者我是否将旧的噪声导数插入到新的导数中?

原始版本也对 alpha 噪声变量进行了某种缓和处理,我从计算噪声导数的理解是,这肯定需要有一个导数版本,但是如果该噪声的导数在最终版本中发挥任何作用混合?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。