没有合适的资源?快使用搜索试试~ 我知道了~
首页VTK教程-东灵工作室.pdf
VTK教程-东灵工作室.pdf
需积分: 39 553 浏览量
更新于2023-05-26
评论
收藏 4.29MB PDF 举报
东灵工作室 VTK教程: 1、从零开始学习VTK; 2、VTK编译安装 ;3、VTK基础概念 ;4、VTK可视化管线
资源详情
资源评论
资源推荐

1、从零开始学习 VTK
可能在这之前你没有使用过 VTK,甚至不知道 VTK 是什么东西。这里假定你没有一点 VTK 基础,但已经
有了一些基本的 C/C++编程基础,以及计算机图形学的理论知识储备,想使用 VTK 从事相关的项目开发,
又不想查看 VTK 海量的英文文档,但又想快速入门。
好吧,废话少说。从 VTK 最基础的部分开始学起。
1.1 什么是 VTK?
VTK,全称为 Visualization Toolkit,也就是可视化工具包。是一个开源、跨平台、可自由获取、支持并行
处理的图形应用函数库。
VTK 最早是作为 Prentice Hall 在 1993 年出版的《TheVisualization Toolkit: An Object-Oriented Approach
to 3D Graphics》一书的附件出现的。该书及相应的 VTK软件是由美国 GE公司的三位研究人员:Ken Martin、
Will Schroeder 和 Bill Lorensen 用其闲暇时间合作编著与开发的,因此该软件的授权完全由这三位决定。
由于其开放源码式的授权,该书一上市后,很快就建立起 VTK 的使用者及开发者社区交流平台,同时 GE(特
别是 GE 医疗系统)与其他数间公司也开始提供对 VTK 的支援。1998 年,Will Schroeder 和 Ken Martin 离
开 GE 创立了 Kitware 公司(http://www.kitware.com)。有了 Kitware 的资金支持,VTK 社区快速地成长,
其在学术研究及商业应用领域都受到重用,例如 Slicer 生物医学计算软件使用 VTK 作为其核心,许多讨
论研究 VTK 的 IEEE 论文出现。VTK 也是许多大型研究机构,如 Sandia,Los Alamos 及 Livermore 国家
实验室与 Kitware 的合作基础,这些研究中心使用 VTK 作为数据可视化处理工具。VTK 同时也是美国国
家卫生研究院(National Institutesof Health,NIH)创立的美国国家医学影像计算合作联盟(National Alliance
forMedical Image Computing, NA-MIC,http://www.na-mic.org)的关键计算工具。
1.2 VTK 能做什么?
三维计算机图形、图像处理及可视化是 VTK 主要的应用方向。通过 VTK 可以将科学实验数据如建筑学、
气象学、医学、生物学或者航空航天学,对体、面、光源等等的逼真渲染,从而帮助人们理解那些采取错
综复杂而又往往规模庞大的数字呈现形式的科学概念或结果。
VTK 包含一个 C++类库,众多的翻译接口层,包括 Tcl/Tk,Java,Python。VTK 是在三维函数库 OpenGL
的基础上采用面向对象的设计方法发展起来的,它将我们在可视化开发过程中会经常遇到的细节屏蔽起来,
并将一些常用的算法封装起来。比如 VTK 将我们在表面重建中比较常见的 MarchingCubes 算法进行封装,
以类的形式供用户使用,这样我们在对三维规则点阵数据进行表面重建时就不必再重复编写
MarchingCubes 算法的代码,而直接使用 VTK 中已经提供的 vtkMarchingCubes 类。

VTK 是给从事可视化应用程序开发工作的研究人员提供直接的技术支持的一个强大的可视化开发工具。它
具有如下特点:
(1)具有强大的三维图形功能。VTK 既支持基于体素的体绘制(Voxel-BasedVolume Rendering),又保留了
传统的面绘制(SurfaceRendering),从而在极大的改善可视化效果的同时又可以充分利用现有的图形库和
图形硬件。
(2)VTK 的体系结构使其具有非常好的流 streaming 和高速缓存 caching 的能力,在处理大量的数据时不必
考虑内存资源的限制。
(3)VTK 能够更好的支持基于网络的工具,比如 Java 和 VRML。随着 Web 和 Internet 技术的发展,VTK
有着很好的发展前景。
(4)能够支持多种着色,如 OpenGL 等。
(5)VTK 具有设备无关性,使其代码具有良好的可移植性。
(6)VTK 中定义了许多宏,这些宏极大的简化了编程工作并且加强了一致的对象行为。
(7)VTK 具有更丰富的数据类型,支持对多种数据类型进行处理。
(8)VTK 的跨平台特性方便了各类用户。
1.3 如何获取 VTK 源码?
VTK 是开放源码的,可以自由地从 VTK 网站(http://www.vtk.org)上免费获取到 VTK 的源代码,VTK 源码
的下载页面:http://www.vtk.org/VTK/resources/software.html。截至目前(2013 年 1 月)VTK 官方发布的
最新稳定版本为 5.10.1。
以 VTK5.10.1 为例,在 Windows 下编译安装 VTK 需要下载的文件有:
(1) vtk-5.10.1.zip(或者是 vtk-5.10.1.tar.gz) —— 该文件包含 VTK所有的核心源代码以及相关的示例程序,
地址为:http://www.vtk.org/files/release/5.10/vtk-5.10.1.zip,该文件必须下载。
(2) vtkdata-5.10.1.zip(或者是 vtkdata-5.10.1.tar.gz) —— 该文件包含 VTK自带的例子或测试程序运行时
需要用到的数据,可选下载,下载地址为:http://www.vtk.org/files/release/5.10/vtkdata-5.10.1.zip。
(3) vtkDocHtml-5.10.1.tar.gz —— 这个文件是 VTK 的文档文件,在 Windows 下解压后,打开 index.html
文件即可查看 VTK 各个类以及接口的相关介绍。下载地址:

http://www.vtk.org/files/release/5.10/vtkDocHtml-5.10.1.tar.gz,对 VTK 初学者来说,建议下载。这些 HTML
文档都是由 Doxygen 工具(http://www.doxygen.org/)根据各个类的头文件自动生成的。
(4) vtk-5.10.1-win32-x86.exe—— Windows 下安装完这个程序以后,可以运行文件后缀为.tcl 的 Tcl 脚本
程序,VTK 自带的很多例子都是以 Tcl 脚本写成的,后续内容会介绍如何运行 VTK 的 Tcl 脚本程序,建议
下载安装这个程序。下载地址:http://www.vtk.org/files/release/5.10/vtk-5.10.1-win32-x86.exe。
除了可以下载 VTK 官方发布的稳定版本,还可以下载到最新的开发版本。VTK 的代码管理是采用分布式
版本控制工具 Git,所以如果要下载到最新的 VTK 源码,需要先安装 Git,要求 Git 的版本至少为 1.6.6。
Windows 下可以下载文件:Git-1.7.9-preview20120201.exe(下载地址:
http://code.google.com/p/msysgit/downloads/list)。安装完该应用程序以后,如果想使用带用户图形界面
的 Git,需要下载安装 TortoiseGit 工具,下载地址为:http://code.google.com/p/tortoisegit/downloads/list。
这些准备工作完成以后,就可以使用 TortoiseGit 从 VTK 代码仓库中获取 VTK 最新的源码,具体步骤参考
图 1.1—图 1.5。
图 1.1 在 D 盘(这里以 D 盘为例)下新建文件夹 VTK-5.10(例如,完整路径为 D:\Toolkits\VTK\VTK-5.10),
然后右击该文件夹,从弹出的菜单里选择“GitClone…”选项。

图 1.2 在“Gitclone – TortoiseGit”对话框的 Url 选项框里输入 VTK 的 Git 仓库地址(http://vtk.org/VTK.git),
Directory 一栏输入上一步新建的文件夹路径,即 D:\Toolkits\VTK\VTK-5.10\,然后点击 OK 按钮,即开始
从 VTK 的 Git 仓库复制代码。
图 1.3 开始从 VTK 的 Git 仓库复制代码的 TortoiseGit 界面
剩余227页未读,继续阅读

















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0