前言:本博文主要记录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)三个点组成的三角面片来说,按照上述逻辑无需进行剖分,因此会出现问题。
本文链接:https://my.lmcjl.com/post/13403.html
展开阅读全文
4 评论