`vtkClip`多面裁切之闭裁 `vtkClipClosedSurface`(1)

vtkClip多面裁切之闭裁 vtkClipClosedSurface(1)

vtkClipClosedSurface文档

详细说明

使用平面集合剪裁闭合曲面。

vtkClipClosedSurface 将使用剪裁平面集合 vtkPlaneCollection剪裁闭合的多边形数据图面。它将通过创建新的多边形面来生成新的闭合表面,其中输入数据被裁剪。

形成曲面的多边形的方向很重要。多边形具有正面和背面,正是背面定义了闭合曲面的内部或"实体"区域。当剪裁平面切入"实心"区域时,将生成新的切削面,但当剪裁平面切入孔或"空"区域时,不会生成新的切削面。在处理复杂表面时,这种区别至关重要。请注意,如果简单曲面的背面朝外,则该曲面在潜在的无限实体中定义了一个孔。

不应将非流形曲面用作此滤波器的输入。输入图面不应有开放边,并且不得有任何由两个以上面共享的边vtkFeatureEdges 筛选器可用于验证数据集是否满足这些条件。此外,输入曲面不应自相交,这意味着曲面的面应仅在其边缘处接触。

如果 GenerateOutline 处于打开状态,则此筛选器将在剪裁平面与数据相交的任何位置生成轮廓ScalarMode 选项会将单元格标量添加到输出中,以便生成的面可以以与原始表面不同的颜色进行可视化。

InsideOut 标志可用于反转剪辑区域内部/外部的含义。这将更改剪裁平面的哪一侧被剪裁掉

此筛选器可以配置为计算第二个输出。第二个输出是具有新三角化面的多边形数据。如果要访问此输出数据,请设置 GenerateClipFaceOutput 布尔值。

警告

对于简单的凸输入,新面的三角测量在 O(n) 时间内完成,但对于非凸输入,最坏情况时间为 O(n2*m2),其中 n 是点数,m 是 3D 腔数。相比之下,最好的三角测量算法是 O(n log n)。在极少数情况下,三角测量无法产生水密输出。打开 TriangulationErrorDisplay 以收到有关这些故障的通知。

另请参阅

vtkOutlineFilter vtkOutlineSource vtkVolumeOutlineSource vtkContourTriangulator

谢谢:

感谢 David Gobbi 为 VTK 贡献了这门课。

在线示例:

[ClipClosedSurface

](https://examples.vtk.org/site/Cxx/Meshes/ClipClosedSurface)

测试:

vtkClipClosedSurface(测试)

文件 vtkClipClosedSurface.h 的第 104 行中的定义。

测试练习

vtk中的三把比较: TestPolyDataPlaneClipper

  • 运行结果:
>>> Processing:  4186112  triangles
vtkPolyDataPlaneClipper Execution time:  0.23137998580932617 # 最快
vtkClipClosedSurface Execution time:  0.8350319862365723 # 中等
vtkClipPolyData Execution time:  2.144352912902832 # 最慢

clipper

closesClp
oldClp

小结

  • 速度比较: vtkPolyDataPlaneClip > vtkClipClosedSurface > vtkClipPloyData
  • 功能比较:(具体暂略) 相比较: vtkClipClosedSurface 较全面
    故而, 我们主要介绍闭裁 vtkClipClosedSurface
    - 未完待续
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Jumbo Jing

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

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

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

打赏作者

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

抵扣说明:

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

余额充值