gpt4 book ai didi

c# - 二维柏林噪声。为什么我必须采用位移和梯度向量的点积?

转载 作者:太空宇宙 更新时间:2023-11-03 13:27:16 24 4
gpt4 key购买 nike

服用 this考虑到,我不明白为什么我必须采用梯度向量的点积和我指向它的位移。谁能解释我为什么必须这样做?其实我懂this教程,他们只是用一个简单的模糊来计算网格点的值(称为平滑噪声)。在这两种情况下,线性插值对我来说都很清楚。那么谁能解释一下为什么他们在第一个教程中采用位移的点积和所谓的“梯度向量”?有什么作用?

最佳答案

好的,我现在自己想通了。第一个教程噪声是所谓的梯度噪声,而第二个教程是值噪声。 ken 的经典 perlin 噪声是梯度噪声(更好的质量和性能),而值噪声更容易理解。但在这两种情况下, Octave 都被加在一起 ​​n 次(梯度噪声不会取代这个过程)。参见:

http://en.m.wikipedia.org/wiki/Value_noise

http://en.m.wikipedia.org/wiki/Gradient_noise

梯度噪声用长度为 1 的随机向量为网格播种。这些向量彼此之间的距离为 1。从最近的 4 个网格点到我想要的点取位移向量的点积,然后这 4 个点的种子梯度向量将导致这 4 个点中的每一个的值介于 -1 和 1 之间。然后可以对这些值进行插值以获得实际的点值。

Value noise 实时为每个网格点生成随机值,它们之间的距离为 1。这些值是用种子生成的,这让我可以一遍又一遍地获得相同的值。当我选择围绕我想要得到的点的正方形时,我生成与我传递的坐标相关的随机值(这种生成器的算法可以在第二个教程中看到)然后用周围的网格点模糊它以获得平滑的噪音

关于c# - 二维柏林噪声。为什么我必须采用位移和梯度向量的点积?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21969970/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com