1 vtkElevationFilter
vtkObject->vtkAlgorithm->vtkDataSetAlgorithm->vtkElevationFilter
从数据集生成标量值(在用户指定范围内),通过计算每个点到一条线上的投影来完成,该线可以任意定方向,计算完成后,每个点都含有一个标量值
例如,可以基于高度(设置线为z轴)进行计算,这样,z坐标相等的点具有相同的标量值(vtk将结果渲染为不同的颜色)
virtual void vtkElevationFilter::SetLowPoint(double,double,double)
virtual void vtkElevationFilter::SetHighPoint(double,double,double)
这两个函数用于设置线的两个端点,LowPoint显示为冷色,HighPoint显示为暖色
2 vtkDeformPointSet
vtkObject->vtkAlgorithm->vtkPointSetAlgorithm->vtkDeformSet
利用控制多面体网格来变形输入的vtkPointSet,控制多面体网格必须是封闭的表面
每当控制网格变形(网格中点的位置发生改变),就会使相对应的vtkPointSet也产生相同的变形
void vtkDeformPointSet::SetControlMeshData(vtkPolyData* controlMesh)
设置控制网格
3 vtkQuadricDecimation&vtkQuadricClustering
vtkObject->vtkAlgorithm->vtkPolyDataAlgorithm->vtkQuadricDecimation
->vtkQuadricDecimation
用于减少三角形网格中三角形的数量,只接受三角形网格,如果是多边形网格,需要先进行三角形划分(vtkTriangeFilter)
最好用的是vtkDecimatePro
vtkObject->vtkAlgorithm->vtkPolyDataAlgorithm->vtkDecimatePro
SetTargetReduction 用于设置TargetReduction的大小(0~1)
4 vtkLinearSubdivisionFilter & vtkLoopsubdivisionFilter & vtkButterflySubdivisionFilter
vtkObject->vtkAlgorithm->vtkPolyDataAlgorithm->vtkSubdivisionFilter->vtkInterpolatingSubdivisionFilter->vtkLinearSubdivisionFilter
->vtkButterflySubdivisionFilter
->vtkApproximatingSubdivisionFilter->vtkLoopSubdivisionFilter
实现网格模型细化操作,vtkSubdivisionFilter内部提供了
virtual void vtkSubdivisionFilter::SetNumberOfSubdivisions(int)
来控制细化的次数,每次细化之后三角形的个数变为原来的四倍,所以经过n次细化之后,三角形的个数变为4^n
本文介绍了VTK库中的几个关键几何处理过滤器,包括vtkElevationFilter用于根据高度计算标量值,vtkDeformPointSet用于通过控制多面体网格变形点集,以及vtkQuadricDecimation和vtkDecimatePro用于减少三角形网格的复杂性,最后提到了vtkLinearSubdivisionFilter、vtkLoopSubdivisionFilter和vtkButterflySubdivisionFilter用于网格细化的操作。
&spm=1001.2101.3001.5002&articleId=77715514&d=1&t=3&u=4ba804a400764db0a2e29877dddd1293)
1976

被折叠的 条评论
为什么被折叠?



