VTK学习之路——单元和点集
2014-09-17 13:24
274 查看
VTK的数据集对象主要由多个单元构成,如对于如下的多边形网格,其由多个四边形单元构成。
图中的各个顶点(1、2、3...25)定义了网格图形的几何形状,构成了数据集的几何数据,各个顶点依照构建的单元类型,按一定顺序排列,相互连通,构成了单元的拓扑结构,如在上图中,构建的单元类型为四边形单元,则第一个单元由1、6、7、2四个顶点按1、6、7、2顺序排列,构成一个四边形单元。
下面再给出一个6面体类型单元的例子,如下图所示:
图中的6面体单元由7、21、22、5、8、10、1、6共8个顶点构成,共有6个面、12条边,顶点8和10构成了一条边,顶点8、10、21、22构成了一个面,顶点坐标存储在顶点列表数组中,如图中左侧的Point
list用于存储顶点坐标。
在VTK中提供了许多单元类型,下面分别对这些单元进行介绍。
1、顶点单元
基本的0维度单元,用单一的点来定义,如下图所示:
2、多顶点单元
基本的0维度单元,用多个点来定义,如下图所示:
3、线单元
基本的1维单元,由两个顶点定义,线的方向从第一个顶点指向第二个顶点,如下图所示:
4、多义线单元
组合1维单元,由多条线组合而成,多义线由一系列按顺序排列的N+1个顶点构成,N表示线段的数目,每相邻的两个点构成一条线段,如下图所示:
5、三角形单元
基本的2维单元,由三个按逆时针顺序排列的顶点构成,三角面的法线方向遵循右手规则,如下图所示:
6、三角条带
组合的2维单元,由N+2个按顺序排列的点构成,N表示三角形的数目,每相邻的三个点构成一个三角形,如下图所示:
7、4边形单元
基本的2维单元,由按逆时针方向排列的位于同一平面上的4个顶点构成,构成的4边形必须是凸4边形,4边形形成的平面法线方向遵循右手规则,如下图所示:
8、像素单元
四边形单元的特例,是一个正方形单元,构成单元的4个边相垂直正交,如下图所示:
9、多边形单元
基本的二维单元,由N个逆时针排列的顶点组成,这N个顶点位于同一平面上。多边形表面的法线遵循右手规则,如下图所示:
10、四面体单元
基本的3维单元,由4个不共面的点组成,一个4面体有6个边和4个三角面,如下图所示:
11、六面体单元
基本的3维单元,8个不共面的顶点构成,该单元必须是凸的,如下图所示:
VTK除了提供这些基本的单元外,还提供了一些二维或三维的组合单元,这些组合单元可以分解为基本单元,如下图所示:
构成单元的顶点在3维空间中定义,而单元有不同的拓扑维度,如0维的点,一维的线,二维的三角形、三维的4面体单元等,由于决定单元的顶点定义在三维空间中,所以,不论哪种拓扑维度的单元,都可以在三维空间中定义,单元是构建数据集的基础,建立可视化的数据集时,首先需要考虑的是如何构建这种数据集的单元类型,例如,需要可视化一个多边形面时,可以考虑将多边形面进行三角剖分,构建多个三角单元,作为该多边形面的基本单元。
图中的各个顶点(1、2、3...25)定义了网格图形的几何形状,构成了数据集的几何数据,各个顶点依照构建的单元类型,按一定顺序排列,相互连通,构成了单元的拓扑结构,如在上图中,构建的单元类型为四边形单元,则第一个单元由1、6、7、2四个顶点按1、6、7、2顺序排列,构成一个四边形单元。
下面再给出一个6面体类型单元的例子,如下图所示:
图中的6面体单元由7、21、22、5、8、10、1、6共8个顶点构成,共有6个面、12条边,顶点8和10构成了一条边,顶点8、10、21、22构成了一个面,顶点坐标存储在顶点列表数组中,如图中左侧的Point
list用于存储顶点坐标。
在VTK中提供了许多单元类型,下面分别对这些单元进行介绍。
1、顶点单元
基本的0维度单元,用单一的点来定义,如下图所示:
2、多顶点单元
基本的0维度单元,用多个点来定义,如下图所示:
3、线单元
基本的1维单元,由两个顶点定义,线的方向从第一个顶点指向第二个顶点,如下图所示:
4、多义线单元
组合1维单元,由多条线组合而成,多义线由一系列按顺序排列的N+1个顶点构成,N表示线段的数目,每相邻的两个点构成一条线段,如下图所示:
5、三角形单元
基本的2维单元,由三个按逆时针顺序排列的顶点构成,三角面的法线方向遵循右手规则,如下图所示:
6、三角条带
组合的2维单元,由N+2个按顺序排列的点构成,N表示三角形的数目,每相邻的三个点构成一个三角形,如下图所示:
7、4边形单元
基本的2维单元,由按逆时针方向排列的位于同一平面上的4个顶点构成,构成的4边形必须是凸4边形,4边形形成的平面法线方向遵循右手规则,如下图所示:
8、像素单元
四边形单元的特例,是一个正方形单元,构成单元的4个边相垂直正交,如下图所示:
9、多边形单元
基本的二维单元,由N个逆时针排列的顶点组成,这N个顶点位于同一平面上。多边形表面的法线遵循右手规则,如下图所示:
10、四面体单元
基本的3维单元,由4个不共面的点组成,一个4面体有6个边和4个三角面,如下图所示:
11、六面体单元
基本的3维单元,8个不共面的顶点构成,该单元必须是凸的,如下图所示:
VTK除了提供这些基本的单元外,还提供了一些二维或三维的组合单元,这些组合单元可以分解为基本单元,如下图所示:
构成单元的顶点在3维空间中定义,而单元有不同的拓扑维度,如0维的点,一维的线,二维的三角形、三维的4面体单元等,由于决定单元的顶点定义在三维空间中,所以,不论哪种拓扑维度的单元,都可以在三维空间中定义,单元是构建数据集的基础,建立可视化的数据集时,首先需要考虑的是如何构建这种数据集的单元类型,例如,需要可视化一个多边形面时,可以考虑将多边形面进行三角剖分,构建多个三角单元,作为该多边形面的基本单元。
相关文章推荐
- VTK学习之路——可视化管线
- VTK学习之路——画画我的小苹果
- VTK学习笔记:数据集和单元集合介绍
- VTK教程之四 单元和点集
- VTK学习之路——可视化管线的执行与数据集
- vtk学习之路—第二章
- VTK学习笔记:数据集之结构化点集
- VTK学习之路——画画我的小苹果
- JAVA学习之路:不走弯路,就是捷径(一)
- JAVA学习之路:不走弯路,就是捷径
- JAVA学习之路:不走弯路,就是捷径
- Java学习之路:不走弯路,就是捷径 (1)
- Java学习之路:不走弯路,就是捷径
- JAVA学习之路:不走弯路,就是捷径(一)
- Java学习之路:不走弯路,就是捷径 www.51testing.com
- JAVA学习之路:不走弯路,就是捷径
- JAVA学习之路(二)
- Java学习之路:不走弯路,就是捷径
- 别人的JAVA学习之路,值得学习(1)
- Visual Studio .NET学习之路