我正在寻找一种快速的方法来计算两个多面体相交的近似体积。我的程序运行20k次迭代,其中每次迭代我都需要计算两个多面体的差体积,每个多面体有大约100个顶点(其中一个多面体是静止的,另一个在每次迭代中改变其姿态(。我要求这个程序在一秒钟内终止。
我已经尝试过使用Nef_p多面体_3,但它需要一个精确的内核,因此需要大量的时间。接下来,我尝试使用Polygon_mesh_production::corefine_and_compute_difference,但我找不到将Polyhedron_3转换为Surface_mesh的方法(如果不使用Nef_p多面体(。
如果有人能帮我解决这个问题,我将不胜感激。提前谢谢!
您可以尝试使用多边形网格处理包中的这个更快的函数,然后使用该函数来获得相交的体积。
如果仍然太慢,则可以使用蒙特卡洛来获得体积的估计,使用在静态多面体内采样的点。此类将有助于了解点是在有界体积内部还是外部。
对于转换,您可以使用函数copy_face_graph()