logo资料库

VTK中文帮助文档.pdf

第1页 / 共216页
第2页 / 共216页
第3页 / 共216页
第4页 / 共216页
第5页 / 共216页
第6页 / 共216页
第7页 / 共216页
第8页 / 共216页
资料共216页,剩余部分请下载后查看
VV TT KK 用用 户户 手手 册册 翻 译 整 理 : 陈 恒 甘肃省科学院自动化研究所
VTK 用户手册 文档控制 文档控制 文档控制文档控制 变更记录 日期 20090408 20090408 作者 陈恒 陈恒陈恒陈恒陈恒 审 核(此处必须手签) 1.0 版本 变更说明 初版初版初版初版 发布发布发布发布 审核人 单位/职务 日期 批 准(此处必须手签) 日期 批准人 单位/职务 安全控制 归 档 密级说明 传阅范围 实验室内部 实验室内部 实验室内部 实验室内部 归档日期 20090410 归档人 陈恒陈恒陈恒陈恒 修改范围 档案管理员 第 i 页
VTK 用户手册 目目目目 录录录录 1 系统概述 系统概述..........................................................................................................................................1 系统概述 系统概述 1.1 系统架构 .................................................................................................................................1 1.1.1 图形模型.........................................................................................................................2 1.1.2 可视化模型.....................................................................................................................3 1.2 创建应用程序 .........................................................................................................................8 2 VTK 使用基础 使用基础..............................................................................................................................20 使用基础 使用基础 2.1 创建一个简单的示例 ...........................................................................................................20 2.2 使用 VTK 交互功能 .............................................................................................................22 2.3 过滤器 ...................................................................................................................................24 2.4 控制相机 ...............................................................................................................................25 2.4.1 创建相机.......................................................................................................................26 2.4.2 简单的操作方法...........................................................................................................26 2.4.3 控制观察方向...............................................................................................................27 2.4.4 透视及正交投影...........................................................................................................27 2.5 控制光源 ...............................................................................................................................27 2.6 控制场景中的物体(3D PROPS)........................................................................................28 2.6.1 指定物体的空间位置...................................................................................................28 2.6.2 Actros.................................................................................................................................29 2.6.3 物体的层次细节...........................................................................................................30 2.6.4 组装...............................................................................................................................30 2.6.5 使用纹理.......................................................................................................................31 2.6.6 拾取...............................................................................................................................33 VTK 中的坐标系统 ..............................................................................................................35 2.7 2.8 VTKACTOR2D ........................................................................................................................36 2.9 注释 .......................................................................................................................................36 2.9.1 2D Annotation....................................................................................................................36 2.9.2 3D Annotation and vtkFollower ........................................................................................38 2.10 特定绘图 ...............................................................................................................................38 2.10.1 颜色图例.......................................................................................................................39 2.10.2 绘制平面图表...............................................................................................................39 2.10.3 显示物体的边界尺寸...................................................................................................40 2.10.4 标识属性数据...............................................................................................................42 2.11 数据变换 ...............................................................................................................................43 3 可视化技术 可视化技术....................................................................................................................................44 可视化技术 可视化技术 3.1 可视化 VTKDATASET 类数据 ................................................................................................44 3.1.1 颜色映射.......................................................................................................................46 3.1.2 轮廓提取.......................................................................................................................49 3.1.3 符号化...........................................................................................................................51 3.1.4 流线技术.......................................................................................................................53 3.1.5 流面...............................................................................................................................57 第 ii 页
VTK 用户手册 3.1.6 切割...............................................................................................................................59 3.1.7 数据合并.......................................................................................................................61 3.1.8 附加数据(Appending Data).....................................................................................62 3.1.9 探查(Probing) ...............................................................................................................62 3.1.10 为等值面分级着色.......................................................................................................65 3.1.11 提取单元数据的子集...................................................................................................67 3.1.12 提取单元作为多边形数据(vtkPolyData).....................................................................69 3.2 可视化多边形数据 ...............................................................................................................72 3.2.1 手动创建vtkPolyData ..................................................................................................72 3.2.2 生成表面法线...............................................................................................................75 3.2.3 多边形消减技术...........................................................................................................76 3.2.4 平滑网格 Smooth Mesh ...............................................................................................79 3.2.5 裁减数据.......................................................................................................................80 3.2.6 创建纹理坐标...............................................................................................................83 3.3 可视化结构网格数据集 .......................................................................................................85 3.3.1 手动创建结构化网格数据集.......................................................................................85 3.3.2 提取计算平面...............................................................................................................87 3.3.3 对结构化网格数据二次采样.......................................................................................89 3.4 可视化线性网格数据 ...........................................................................................................90 3.4.1 手动创建线性网格数据...............................................................................................90 3.4.2 提取计算平面...............................................................................................................91 3.5 可视化非结构网格数据 .......................................................................................................92 3.5.1 手动创建非结构化网格数据.......................................................................................92 3.5.2 提取部分网格数据.......................................................................................................94 3.5.3 对 vtkUnstructuredGrid 提取轮廓值...........................................................................96 4 可视化图像及三维体数据 可视化图像及三维体数据............................................................................................................96 可视化图像及三维体数据 可视化图像及三维体数据 4.1 VTKSTRUCTUREDPOINTS 数据的发展历史 ...........................................................................97 4.2 手动创建 VTKIMAGEDATA 数据............................................................................................98 4.3 图像数据的二次采样 ...........................................................................................................99 4.4 二维图像的三维显示 .........................................................................................................102 4.5 体绘制 .................................................................................................................................103 4.5.1 一个简单的例子.........................................................................................................104 4.5.2 为什么有多种体绘制技术.........................................................................................106 4.5.3 创建 vtkVolume 类......................................................................................................107 4.5.4 使用vtkPiecewiseFunction 类....................................................................................107 4.5.5 使用vtkColorTransferFunction 类.............................................................................109 4.5.6 使用vtkVolumeProperty 类设定透明度和颜色值.....................................................109 4.5.7 使用vtkVolumeProperty 控制阴影............................................................................ 110 4.5.8 创建vtkVolumeMapper 映射器.................................................................................. 112 4.5.9 切割体数据................................................................................................................. 113 4.5.10 剪取体数据................................................................................................................. 114 4.5.11 用射线投射法进行体绘制......................................................................................... 115 4.5.12 二维纹理映射法体绘制............................................................................................. 117 第 iii 页
VTK 用户手册 5 VTK 数据接口对象 数据接口对象.................................................................................................................... 117 数据接口对象 数据接口对象 5.1 数据数组 ............................................................................................................................. 118 5.2 数据集对象 .........................................................................................................................121 5.3 VTKDATASET 数据接口 ......................................................................................................122 VTKIMAGEDATA 类的数据接口..........................................................................................123 5.4 VTKPOINTSET 的数据接口 ..................................................................................................124 5.5 5.6 VTKPOLYDATA 的数据接口.................................................................................................125 VTKCELL 的数据接口..........................................................................................................127 5.7 6 建立模型 建立模型......................................................................................................................................127 建立模型 建立模型 6.1 隐模型 .................................................................................................................................127 6.1.1 定义隐函数.................................................................................................................127 6.1.2 对隐函数采样.............................................................................................................129 6.2 挤压 .....................................................................................................................................132 6.3 表面重构 .............................................................................................................................133 6.3.1 Delaunay 三角网.............................................................................................................133 6.3.2 高斯抛雪球.................................................................................................................139 6.3.3 杂乱点集构建表面.....................................................................................................141 7 与视窗系统交互 与视窗系统交互..........................................................................................................................142 与视窗系统交互 与视窗系统交互 7.1 VTKRENDERWINDOW 交互类型 ..........................................................................................142 7.2 交互方针 .............................................................................................................................143 7.3 在 WINDOW 系统/VC++中使用 VTK 进行交互................................................................144 8 VTK 对象说明 对象说明............................................................................................................................144 对象说明 对象说明 8.1 对象结构图 .........................................................................................................................144 8.1.1 基础对象.....................................................................................................................145 8.1.2 单元对象.....................................................................................................................145 8.1.3 数据集对象.................................................................................................................146 8.1.4 可视化流水线对象.....................................................................................................146 8.1.5 源对象.........................................................................................................................146 8.1.6 过滤器.........................................................................................................................147 8.1.7 映射器.........................................................................................................................148 8.1.8 图形对象.....................................................................................................................149 8.1.9 体绘制.........................................................................................................................150 8.1.10 图像处理对象.............................................................................................................151 8.1.11 OpenGL 绘制对象......................................................................................................152 8.1.12 拾取对象.....................................................................................................................153 8.1.13 变换对象层次图.........................................................................................................153 8.2 过滤器 .................................................................................................................................154 8.2.1 源对象.........................................................................................................................154 8.2.2 图像过滤器.................................................................................................................155 8.2.3 可视化过滤器.............................................................................................................158 8.2.4 映射器对象.................................................................................................................162 8.2.5 角色对象.....................................................................................................................163 第 iv 页
VTK 用户手册 9 可视化流水线 可视化流水线..............................................................................................................................164 可视化流水线 可视化流水线 9.1 概述 .....................................................................................................................................164 9.1.1 数据可视化示例.........................................................................................................164 9.1.2 功能模型.....................................................................................................................165 9.1.3 可视化模型.................................................................................................................166 9.1.4 对象模型.....................................................................................................................166 9.2 可视化流水线 .....................................................................................................................166 9.2.1 数据对象.....................................................................................................................166 9.2.2 过程对象.....................................................................................................................166 9.3 流水线拓扑结构 .................................................................................................................167 9.3.1 流水线的连接.............................................................................................................167 9.3.2 循环机制.....................................................................................................................168 9.4 流水线执行 .........................................................................................................................168 9.5 数据接口 .............................................................................................................................169 9.6 综合应用 .............................................................................................................................170 9.6.1 隐含控制执行.............................................................................................................170 9.6.2 多输入输出.................................................................................................................171 9.7 可视化流水线示例 .............................................................................................................172 9.7.1 简单球体.....................................................................................................................172 9.7.2 弯曲球体.....................................................................................................................173 9.7.3 符号化处理.................................................................................................................174 9.7.4 隐藏球体.....................................................................................................................175 10 基本数据表达 基本数据表达 .........................................................................................................................177 基本数据表达 基本数据表达 10.1 可视化数据的特点 .............................................................................................................177 10.2 数据对象 .............................................................................................................................177 10.3 数据集 .................................................................................................................................178 10.3.1 单元.............................................................................................................................178 10.3.2 属性数据.....................................................................................................................183 10.4 数据集可视化 .....................................................................................................................186 10.4.1 数据集类型.................................................................................................................186 10.4.2 数据可视化方法.........................................................................................................189 11 功能算法 功能算法 .................................................................................................................................194 功能算法 功能算法 11.1 概述 .....................................................................................................................................194 11.2 标量算法 .............................................................................................................................195 11.2.1 颜色映射.....................................................................................................................195 11.2.2 提取轮廓.....................................................................................................................196 11.2.3 标量数据的确定.........................................................................................................197 11.3 矢量算法 .............................................................................................................................197 11.3.1 方向线和方向符号.....................................................................................................198 11.3.2 变形.............................................................................................................................198 11.3.3 位移绘制.....................................................................................................................199 11.3.4 时间动画.....................................................................................................................200 第 v 页
VTK 用户手册 11.3.5 流线.............................................................................................................................200 11.4 模型算法 .............................................................................................................................201 11.4.1 源对象.........................................................................................................................201 11.4.2 隐函数.........................................................................................................................202 11.4.3 隐式建模.....................................................................................................................203 11.4.4 符号化.........................................................................................................................203 11.4.5 剪切.............................................................................................................................204 11.5 综合应用 .............................................................................................................................204 11.5.1 过程对象设计.............................................................................................................204 11.5.2 颜色映射.....................................................................................................................206 11.5.3 隐函数.........................................................................................................................207 11.5.4 提取轮廓.....................................................................................................................207 11.5.5 剪切.............................................................................................................................208 11.5.6 符号化.........................................................................................................................208 11.5.7 流线.............................................................................................................................208 11.5.8 抽象过滤器.................................................................................................................209 第 vi 页
VTK 用户手册 1 系统概述 本章的主要目的对 VTK 系统进行概括性的介绍,并且提供了一些基本的信息,让用户能 用各种开发语言(C++、TCL、Java、Python)创建应用程序,在本章开始的时候,主要介绍 VTK 系统的基本概念和对象模型,在本章的最后,用一些示例程序说明如何用 VTK 构建应用 系统。 1.11.11.11.1 系统架构 系统架构 系统架构 系统架构 VTK 系统主要由 C++类库、解释包装层(对 C++类库进行包装,便于 TCL、Java 等语言 使用)两个基本子系统构成,见图 3-1。 图 1-1 VTK 组成 采用这种架构的优势是我们能使用 C++语言建立高效的算法,用其他的脚本语言(如 TCL、Python)可以进行快速的开发,当然,如果精通 C++,也可以用 C++语言建立应用程 序。 VTK 是一个基于面向对象的系统,提高 VTK 开发效率的关键因素是建立一个好的、易 于理解的、优化的对象模型,我们根据对象模型,很容易把各种对象组合起来,构建应用程 序,在本手册中我们尽量提供一些对用户有帮助的示例程序,在示例程序中介绍如何应用对 象构建可视化程序,最好的办法是用户可以通过示例代码或网站获取更多的 VTK 对象功能 描述信息。 在本章的剩下部分,介绍构成 VTK 系统的两种对象模型:图形模型和可视化模型,这 部分的内容相对来说,是比较高级的内容,建议你在看这部分内容时,多看示例程序的代码。 第 1 页
分享到:
收藏