对于我的研究,我需要将3D多边形(面)和3D多面体(体积)转换为体素(等距立方体),因此有限差分PDE求解器方案可以与几何体一起使用。我已经在python中有一个工作设置,但它目前非常缓慢和不稳定:
1)要将多边形转换为体素,我在多边形上放置一个网格,并将每个网格点指定给体素。为了防止“漏洞”,我必须在增加体素分辨率时显着提高网格分辨率。
2)要将(凸)多面体转换为体素,我会在网格的一个区域上运行,它包含它并尝试所有网格点的sage.all.Polyhedron.contains(like sagemath)。
这个例程相当缓慢且存在缺陷AttributeError: 'Polyhedron' object has no attribute '_Vrepresentation'
bug,随机地无法为某些边缘列表构造多面体。
我正在寻找一些pythonic方式
1)通过检查多边形与体素的多边形面的交点来正确地体素化多边形
2)有一个快速可靠的polyhedron.contains()例程。
到目前为止,我发现的唯一内容是CGAL绑定:polyhedron facet intersection example。有人有经验吗?