小编Nio*_*yan的帖子

棘手的柏林噪音问题。Grad 函数如何使用归一化向量?

我目前正在了解改进的柏林噪音。我完全理解这个理论,但是,我对其常见实现的一个方面感到困惑,例如this

我的问题是, grad() 函数如何返回归一化向量(梯度和方向)的点积?我的意思是,归一化向量的点积的范围为 -1 到 1,这是将所有点积混合(淡入淡出)在一起后 Perlin 噪声的正常输出。但是进行点积的向量没有标准化(梯度函数和方向向量都不是)。那么,输出如何落在-1到1的范围内呢?

我唯一的猜测是梯度向量的大小均为根 2,并且方向向量的所有轴都在 -1 到 1 的范围内。因此,我认为这就是 Perlin 噪声输出最终落在 -1 范围内的原因至 1 范围。这是为什么吗?有人能证明或找到证据吗?

多谢你们

math vector noise

5
推荐指数
1
解决办法
766
查看次数

不带参数的递归参数包函数 C++

我正在尝试创建一个递归参数包函数,如下所示:

template <class T, class ... Ts>
void myFunction()
{
    execute<T>();

    myFunction<Ts...>();
}
Run Code Online (Sandbox Code Playgroud)

这不会编译并出现错误:

error C2672: 'Test::myFunction': no matching overloaded function found.
Run Code Online (Sandbox Code Playgroud)

有谁知道如何做我想要实现的目标?谢谢

c++

0
推荐指数
1
解决办法
106
查看次数

标签 统计

c++ ×1

math ×1

noise ×1

vector ×1