双重轮廓-噪声函数的法向量

3

我目前正在开发一个体素引擎,使用双等高线算法以获得更有机/逼真的地形效果。

如果您不熟悉双等高线算法,基本上我需要提供密度函数来表示特定点是空气还是固体(在我的情况下,我使用3D Simplex Noise),并且我需要能够在3D噪声函数中的任何点提供法向量。

通常,在计算三角形的法线时,我会取两个构成三角形的向量的叉积;在这种情况下,我是否只需对噪声函数应用小的增量即可实现相同的效果?

谢谢任何帮助!

2个回答

0

您可以将噪声函数的梯度函数计算为等值面上某点处的法向量。

在3D Perlin噪声情况下,您可以使用 3D Perlin噪声解析导数


0

我发现了一种使用渐变来执行 marching cubes 算法的简单方法(我也正在开发体素引擎),但由于您仍然在三维网格上操作而不是直接对三角形进行操作,因此您可以尝试一下。


如果你已经弄清楚了,能否在这里发布你的发现?这将真正帮助到未来遇到这个问题的其他人。 - Baggers
我发现的是他建议的这种方法(在增量处获取密度)。 - untitled
你具体是怎么做的?在哪些增量上?因为这个链接已经失效了。 - BlackCat
抱歉晚回复。提供的链接描述了如何使用“中心差分法”;这是另一个相关页面:http://www.holoborodko.com/pavel/numerical-methods/numerical-derivative/central-differences/。 - untitled

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接