【发布时间】:2021-03-23 15:14:36
【问题描述】:
我有一个噪声函数 NoiseAt(x,y),它返回一个噪声值和两个导数 dx 和 dy。 我想将此函数转换为另一个噪声函数 OtherNoiseAt(x, y),它也返回噪声和两个导数。
这是基于此处找到的实现的单纯形噪声: https://github.com/simongeilfus/SimplexNoise/blob/master/include/Simplex.h
例如,对于大于 1 的 x 和 y 值,函数 NoiseAt 应该混合到函数 OtherNoiseAt 中,并在 x 和 y 值大于 2 时完成混合。
我已经尝试过处理噪声和导数,但生成的导数无效。
即。
Lerp(NoiseAt(x, y), OtherNoiseAt(x, y), blending_factor)
(其中当 x 和 y 值都小于 1 时 blending_factor 为 0,而当 x 和 y 值都大于 2 时 blending_factor 为 1)
是否有一种混合方法可以在整个混合过程中保持合理的衍生物?
换句话说,这个函数的主体是什么:
Blend(noise1, dx1, dy1, noise2, dx2, dy2, factor)
【问题讨论】:
标签: function interpolation noise derivative blending