一、简要介绍
VTK(Visualization Toolkit)是一款用于二次开发的可视化工具包,在世界上同类产品中最有影响,基本上可以作为可视化领域的规范。
VTK的历史和现状:
1993年12月,GE的Will Schroeder, Ken Martin两个人写了一本书: The Visualization Toolkit: An Object-Oriented Approach to 3D Graphics,VTK作为这本书的配套软件赠送。由于VTK的出色表现,人们对软件的关注程度远远超过了书,没有几年时间VTK就拥有了巨大的用户群。VTK现在是由kitware公司维护,以开源的形式开发,全世界所有的人都可以加入到开发者的行列。现在VTK的稳定版本是5.0,nightly 版本每天都会有更新。
VTK的特点:Open Source。采用CVS版本控制跨平台。支持Windows、Unix、Linux、Mac等多种平台功能强大。适合几乎所有的可视化领域,从医学可视化到数据可视化,都能找到VTK的用户支持多种语言开发。c语言当然不用说了,还包括脚本语言,如TCL、Python,也支持Java具有强大的开发团队。包括多家开发单位,具有商业化的维护,具有来自全世界使用者的智力资源:)
二、安装前的准备
因为VTK是开源的,我们能从官方网站www.vtk.org上得到它的源码,又因为它是跨平台的,我们就要对源码进行一些包装,才能被gcc vc6.0等不同编译器所接受。VTK使用的跨平台工具是CMake,它也是kitware公司的产品,可以从官方主页上获取。
很多人不清楚cmake到底是干什么的,我这里想解释解释。我们下载的vtk源码都是用c++编写的,是一个大的工程,无论在什么平台,用什么编译器,你都要告诉编译器该如何去编译这么一个庞然大物。工程文件是工程的一般组织形式,比如 vc6.0下面是dsw文件,gcc下可以把makefile看成这么一个东西。这些工程体系告诉编译器该干什么,需要什么样的参数等,好,cmake就是这样一个用来生成适合不同编译器所需要的工程文件的工具。 cmake为什么知道那些编译参数呢,这不得不提CMakeList.txt这个文件,正是这个文件,提供了这些信息,换句话说,如果没有 CMakeList.txt,我们就不能使用cmake。有人又会问,如果不用cmake,可以编译vtk吗?那当然可以,比如在vc中,可以建立一个新的工程,把文件一个个往里面添加,编译选项也要自己加,在linux下,就自己写makefile,当然,这个方法几乎是无法实现的,就算实现,在今后的开发过程中还会遇到很多麻烦。所以,还是乖乖用cmake吧!
安装前,需要获得下面的文件,我这里以vtk5.0为例,在linux+gcc下实现
预安装gcc3.0
sudo apt-get install build-essential
预安装开源的openGL——mesa
详见 http://sparkman.blog.com.cn/archives/2008/2638282.shtml
vtk-5.0.0.tar.gz ——vtk的源码
vtkdata-5.0.0.tar.gz —— vtk例子所需要的数据
cmake-2.4.3 ——cmake程序,现在从官网上下载
四、在linux下的vtk安装
1、安装cmake
从官方网站上下载的cmake是免编译的,我们可以直接在cmake源码的bin文件夹下找到ccmake这个可执行文件。建议下载源代码编译。这样可以自动设置好环境变量。另外,最好把ccmake命令加入到系统可搜索的范围内,这样就能直接运行ccmake命令了。
编译步骤如下:
解压包,进入解压出的目录,执行
./bootstrap
make
make install(可选)
具体参考http://www.cmake.org/HTML/Install.html
2、解压两个压缩包,建立所需文件夹
指定一个主目录,比如~/vtk/,建立三个文件夹,解包。
3、cmake
cd ~/vtk/cmake/bin/
cmake ~/vtk/vtk-5.0.3 -i
修改cmake的选项。大部分用默认的,vtk data那个选项要把vtkdata的路径写上去
4、编译VTK
cd ~/vtk/vtk-5.0.3/
make
make命令可以看成是gcc编译器调用makefile文件,进行编译
5、安装VTK
sudo make install
这里之所以用sudo,是因为一些文件的读写需要root权限
五、总结
学习vtk最好的教材是vtk user guide,最好的解决的难题的方法是通过vtk mail list 、qq、论坛、google等方式。
android vts结果分析 android vtk
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Android Handler机制
Handler机制
ide 赋值 构造方法 -
VTK android 版本 编译
最近做用PCL做场景方面的东西,看到Visualization部分,就不知不觉琢磨到VTK了,由于PCL使用的是vtk-5.8.0,今天安装了一下,我的环境:WIn7 + VS2010 +vtk-5.8.0 遇到了一些问题,所以做个记录。一、安装1、下载: (1)VTK &nbs
VTK android 版本 编译 操作系统 shell Windows #define -
android vtk库编译
拿到源码编译时直接提示需要API 19,可是我被要求用API 23的SDK来编译,在网上搜了一些答案都是说需要改两个build.gradle文件,一个在项目根目录下,另一个在app目录下。可是该怎么改呢,我就用SDK6.0的环境新建了一个helloworld的工程出来,模仿了一下这两个文件的改法。需要注意一个地方,minSdkVersion 和 targetSdkVersion这两个参数最好不要去
android vtk库编译 targetSdkVersion minSdkVersion 切换SDK版本 build.gradle