知道导数时的等值面提取

计算科学 网格生成
2021-12-05 12:20:48

我有一个定义 3D 形状的复杂方程,我想生成一个表面网格。形状由等值面定义,即函数在形状内部为正,在其外部为负。

标准的基本技术是“行进立方体”算法。但是,它对我来说有一些缺点:

  • 它以众所周知的方式生成不是特别好的网格。

  • 至少对于最简单的实现,我必须在 3D 网格中的每个点上评估我的函数,即使其中许多离表面很远。我宁愿有一个算法来减少对函数的评估。

  • Marching cubes 没有利用任何关于衍生品的信息,因为我知道函数,所以我可以很容易地提供这些信息。

对于这种情况,是否有已知的“推荐”算法?行进方块有很多很多变体,但很难概括它们的比较优势,而且其中许多似乎只针对上述第一点,而不是后两点。

这是一个小爱好项目,所以理想情况下我正在寻找相对容易实现的东西。

0个回答
没有发现任何回复~