VTK裁剪【3】-vtkClipPolyData&vtkPolyPlane问题

前言:本博文主要记录vtkClipPolyData中采用vtkPolyPlane作为裁剪工具时的出现的问题,供各位小伙伴进行参考,避免踩坑!

目录

vtkPolyPlane介绍及作用

vtkClipPolyData原理

实现流程:

问题所在:


需求:对一个由八个点及12个三角面片组成的正方体进行剪切(vtkPolyPlane为XY平面的折线)

 理想结果如下:

 实际结果如下:

vtkPolyPlane介绍及作用

关于vtkPolyPlane的介绍请见VTK裁剪【2】-vtkImplicitFunction及其子类介绍_setnumberoftuples_雪易的博客-CSDN博客

vtkClipPolyData原理

关于vtkClipPolyData工作原理的介绍,以及 vtkClipPolyData与vtkClipClosedSurface的区别,请见VTK中Clip/Trim总结_雪易的博客-CSDN博客

实现流程:

1. vtkPolyPlane为XY平面的PolyLine(折线)沿Z轴进行拉伸,形成的面。

2. 计算每个点到vtkPolyPlane的值,投影到XY平面进行观察的话,为

3. 对需要进行分割的线和多边形进行分割。

针对线:若两点的value均>0,则保留;若两点的value<0,则舍弃;若一个>0,一个<0,则根据value值进行剖分,创建插值点。

针对三角面片:将其拆分为线进行点的插值。

问题所在:

对于由value值为(26,45,48)三个点组成的三角面片来说,按照上述逻辑无需进行剖分,因此会出现问题。

猜你喜欢

转载自blog.csdn.net/qq_40041064/article/details/131325804
今日推荐