求推荐支持2D/3D网格与多类型单元相交计算的Python库(需保留原始网格、输出相交中心及体积)
求推荐支持2D/3D网格与多类型单元相交计算的Python库(需保留原始网格、输出相交中心及体积)
我已经四处查找了很久,想问问有没有人了解我试过的这些库的更多功能,或者我是不是漏掉了什么?我本来想用Julia做,但合适的包更少,所以现在主要在Python里尝试。
我的需求是:对3D/2D网格和3D/2D单元进行相交计算,需要得到相交区域的中心和体积。我有坐标矩阵和连通性矩阵来定义网格,单元也一样,而且单元的形状多种多样(四边形、四面体等等)。
下面是我试过的几个库,以及遇到的问题/缺失的功能:
- geopandas:2D场景下用起来特别顺手,但完全不支持3D功能
- trimesh:没法直接定义简单的单元几何,还会自动对网格做三角化处理——这对我的应用来说不行,我需要保留文件里原始的网格单元结构
- pygalmesh:我本来用meshio定义网格,但它和pygalmesh的相交算法不兼容。而且我没找到用坐标和连通性创建网格的方法,另外pygalmesh似乎只支持四面体网格!
- pyvista:相交算法的功能实在太有限了
- 我还试过cgal-swig-bindings,但不太理想——因为我主要用Julia,通过PyCall调用Python包,再套一层C++的SWIG绑定总觉得绕得太远,能避免就避免
想请教大家:我是不是在上面某个库中遗漏了什么功能?有没有其他我没注意到的库,比如比较新的?最后,有没有可能用单个库就能满足所有需求?
备注:内容来源于stack exchange,提问作者Thomas Kroißenbrunner
相关产品推荐
相关产品推荐

