第四节《VTK Bool运算不稳定解决方案-CGAL算法融合》

本文探讨了VTK在布尔运算中的不足,并推荐使用CGAL库作为替代方案。介绍了如何在项目中结合CGAL进行vtkPolyData的布尔运算、网格优化、空间点剖分和模型补洞等操作,提供了相应的转换和实现方法。
摘要由CSDN通过智能技术生成

        前几节写的内容感觉一般般,这一节来点狠货,之前我在使用VTK做项目时,总是需要用到模型布尔运算处理一些事务,但是VTK的布尔运算不忍直视,太鸡肋了,稍稍复杂一点的模型就计算不了,算法极度不稳定,所以这种情况是不能应用在项目里面的。VTK中处理布尔运算的API有vtkImplicitBoolean,vtkBooleanOperationPolyDataFilter网上教程也非常多,本人不建议使用。

        但是项目中boolean运算很常用,我采用CGAL提供的Boolean算法,来处理vtkPolyData之间的交叉并布尔运算,在FreeWorld库中对CGAL进行了封装,提供了多种网格模型处理的算法。

        CGAL是一个开源库,我就不进行介绍了,但是CGAL很强大,提供的算法很多,2D凸壳、3D凸壳、三角剖分、2D多边形bool运算、3D网格生成、模型表面偏置、点云三维重建、多边形网格生采样降采样、网格分割、三角网格参数化、模型骨架提取、等等。但是CGAL接口不是很友好,需要强大的C++基础才能看懂代码,好废话不多说,下面请看FreeCGAL介绍吧。

        在使用前我们需要定一些数据结构,如果不重新定义这些变量,后面应用会比较麻烦。

typedef CGAL::Exact_predicates_inexact_
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

《雨声》

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值