欢迎大家加入社区,雪易VTK社区-CSDN社区云
前言:此博文主要分享VTK中关于细分网格的相关Filter,同时希望能给其他小伙伴一些帮助。
小结:VTK中关于网格细分的Filter包括vtkSubdivisionFilter和vtkAdaptiveSubdivisionFilter。其中vtkSubdivisionFilter又有几个子类,见下图。


现以正方形为例展示各个细分Filter的不同之处(所有的numberOfSubdivision设为2),原始模型为下图:


1. vtkAdaptiveSubdivisionFilter
描述:vtkAdaptiveSubdivisionFilter是基于三角形的最长边或面积进行细分的Filter。新增的点只能插入到边缘上,根据细分的边的数量,插入不同数量的三角形,范围从两个(即两个三角形取代原来的一个)到四个。

2. vtkLoopSubdivisionFilter
描述:vtkLoopSubdivisionFilter是一个近似细分的子类,它为网格中的每个三角形创建四个新的三角形。


算法实现原理:
1) GenerateSubdivisionPoints:生成细分的点
for (针对输入PolyData的所有Point)
{
a. 获取当前点关联的其它点,并确认关联点的比重;
b. 根据关联点的坐标和各自的比重计算当前点的新的坐标;
c. 将新的点集更新至输出PolyData。
}
2)将细分出的新增点连接生成Cell
3. vtkButterflySubdivisionFilter
描述:vtkButterflySubdivisionFilter是一个插值细分的子类,它采用蝴蝶细分的方法为网格中的每个三角形创建四个新的三角形。

4. vtkLinearSubdivisionFilter
描述:vtkLinearSubdivisionFilter是一个插值细分的子类,同样为网格中的每个三角形创建四个新的三角形。




![[Java]图论详解(内附详细代码)](https://img-blog.csdnimg.cn/07aba73044864a539f5305e003a6f28a.png)
![[Linux]------线程控制与互斥](https://img-blog.csdnimg.cn/a845f85eb75349838d8701ba4b13d84f.png)







![[附源码]计算机毕业设计影评网站系统Springboot程序](https://img-blog.csdnimg.cn/48bab4f4f45a496583dfb054cf041434.png)






