3D 格布尔运算开源库

3D 格布尔运算开源库

3D 格布尔运算开源库

常用的开源库

开源库的名称 应用范围 实验结果 BooleanOperation API 下载地址
VTK 生物医学领域 计算速度中等,但是非常不稳定,cpu利用效率低 vtkBooleanOperationPolyDataFilter https://vtk.org/download/
VTKbool 生物医学领域 计算速度很慢,比较稳定,cpu利用效率比较低 vtkPolyDataBooleanFilter https://github.com/zippy84/vtkbool
CGAL 计算机图形处理库 计算速度最快,稳定性比VTK稍强,cpu利用效率中等 corefine_and_compute_difference https://www.cgal.org/download.html
Cork(使用的最为广泛) Blender设计;建筑;CloudCompare,开源的几何处理库生物医学领域 计算速度很快,比CGAL慢,比libigl封装的CGAL快,稳定性较好,不会崩(遇到not solid的物体)程序不会崩,但是无法结束,使用的内存一直递增,原始版本为单核计算,CPU利用率较低。 compute Differencec
omputeUnionc
omputeIntersection
原始版本-https://github.com/gilbo/cork
多线程版本-https://github.com/stephanfr/Cork
Blender版本-https://github.com/dfelinto/cork-on-blender
libigl 计算机图形处理库 计算速度比较快,稳定性比较强,CPU利用率100% igl::copyleft::cgal::mesh_boolean
igl::copyleft::cork::mesh_boolean
https://github.com/libigl/libigl
MEPP2 计算机图形处理库,处理3D 格和点云的数据库 类似于Cork,计算速度较快,稳定性较好 https://projet.liris.cnrs.fr/mepp/mepp2/index.html
QuickCSG(免费但是不公开代码) 专门处理 格布尔运算的库,只有exe程序,不公开源代码 计算速度非常快,稳定性非常好,非封闭的曲面也可以进行计算,但是生成的曲面碎片化比较明显 http://morpheo.inrialpes.fr/static/QuickCSG/
trimesh 计算机图形学库,布尔运算使用的是OpenSCAD和Blender作为后端 base.intersection(cuts, engine=‘scad’) https://github.com/mikedh/trimesh
Cassiopee CFD图形处理库,用于 格的布尔运算 http://elsa.onera.fr/Cassiopee/Userguide.html

Cork的评价

Cork的需要输入的模型为Solid的,也就是 格模型需要是流形的,对非流形 格( non-manifold)非常敏感。流形 格包含两个情况,自相交的和非封闭的。可以使用CGAL将非流形 格转为流形 格,(需要注意CGAL不能加载部分off文件,而meshlab、MEPP等软件可以加载)Cork的多线程版本比原始版本稳定性稍低些,需要线程无法结束导致崩溃的问题。多线程版本的计算时间减少70%左右,运行消耗的内存空间提升为原始版本的3倍左右,并行效率较好。
多线程版本

QuickCSG的效果与评价

前几次的运算,效果比较好,运算速度非常快,不到1S,生成的 格(绿色区域)也比较好

文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树服务 格(istio)ServiceMesh介绍8859 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年2月6日
下一篇 2021年2月6日

相关推荐