0

我正在寻找一种快速的方法来计算两个多面体相交的近似体积。我的程序运行 20k 次迭代,其中每次迭代我需要计算两个多面体的差异体积,每个多面体有大约 100 个顶点(这些多面体中的一个是静止的,另一个在每次迭代中改变其姿势)。我要求该程序在一秒钟内终止。

我曾尝试使用 Nef_polyhedron_3,但它需要一个精确的内核,因此需要大量时间。接下来,我尝试使用 Polygon_mesh_processing::corefine_and_compute_difference,但找不到将 Polyhedron_3 转换为 Surface_mesh 的方法(不使用 Nef_polyhedron)。

如果有人可以帮助我解决这个问题,我将不胜感激。先感谢您!

4

2 回答 2

1

对于转换,您可以使用该功能copy_face_graph()

于 2021-06-22T06:12:31.957 回答
1

您可以尝试使用多边形网格处理包中的这个更快的功能,然后使用功能来获取相交的体积。

如果仍然太慢,那么您可以使用蒙特卡罗来估计体积,使用静态多面体中的点采样。这个类将有助于了解一个点是在有界体积之内还是之外。

于 2021-06-21T12:05:24.410 回答