4

当我使用 x、y 和 z 作为整数调用 libnoise 的 getvalue 函数时,结果总是返回 0。这是正常的吗?当我按照教程http://libnoise.sourceforge.net/tutorials/tutorial2.html尝试1.25、0.75、0.5 时,我得到了 0.686347 的预期结果。具体来说,我已经尝试过使用 20 以下的整数。我只是不明白它是如何工作的吗?

任何帮助是极大的赞赏。

4

2 回答 2

6

在此处输入图像描述

尽管 Oli Charlesworth 是正确的,但您在整数值处得到零,因为所有零都出现在整数值处。请参阅上图以获得简单的视觉演示!零出现在整数处的原因是因为规定相干噪声是平滑的(与锯齿相反),实现这一点的一种非常简单的方法是在整数处设置零并在它们之间插入伪随机数。平滑噪声的好处是它本质上是有机的和现实的。

比较这个相干噪声函数:

在此处输入图像描述

使用这种非相干噪声函数:

在此处输入图像描述

哪座山最有可能看起来像?:)

于 2011-05-22T22:56:57.447 回答
1

根据http://libnoise.sourceforge.net/noisegen/index.html#gradientnoise,整数坐标处的值将始终为零。

于 2011-05-22T22:46:22.630 回答