您的位置:首页 > 其它

VTK经验分享 1.Hello VTK

2011-06-21 13:06 204 查看
1.1 本系列写作目的

因公司项目需要,我最近学习了下VTK并将其引入到一个数据可视化展现项目中。一个多月下来,从无到有地慢慢积累了一些经验,为了分享和自己巩固,打算以实例为基础,讲解VTK在Java环境下一些通用功能的实现,并顺带说下相关的知识点。

本人水平有限,不会把本系列写为“教程”,只作为一个Introduction吧,希望能给同样需要从0开始学习VTK的同行一些帮助,如果有人觉得在实现某个功能的过程中在这里得到了一些启发,咱的目的也就达到了。如果有VTK高手同时也能给我一些指引,纠正一些错误,那更是再好不过了:)

help me,help you~~~

1.2 VTK Brief

Visualization Tool Kit, 官网:http://www.vtk.org/

VTK是基于OpenGL的三维可视化工具,基于C++编写,在此基础上有Tcl/Tk, Java, and Python等语言的包装类。

我自己感觉VTK有如下优点:

1.跨平台、跨语言性较好。各类语言之前互相翻译并不困难。一个python的例子很容易就可以写成Java的。

2.VTK建立在三维可视化建模理论的基础上,所以咱这种没有基础的人花点时间去看看三维可视化展现的知识是磨刀不误砍柴工的。这些知识VTK的教程里也有介绍,完全够了。

3.提供大量有用的工具类,让一些功能的实现很简洁(前提是我们正确地找到了)。

4.VTK的API帮助手册很给力。

同时带给我的一些难点:

1.比较庞大,安装过程稍微有点复杂(对于新手来说)。不过其实只要按部就班,还是问题不大的。

2.部署问题,这个是我自己遇到的。想用applet或者jws向没安装vtk的客户机部署vtk,总是出问题。由于项目还在Demo阶段,这个问题没放在首位。也希望有这方面的高手指点下。以后找到部署的解决方案后,我也会写在这里。

1.3 各种资源

VTK的资源感觉是不多也不少的,下面罗列一些资源:

1.安装相关:
http://www.vtk.org/VTK/resources/software.html -- 官方下载
https://github.com/kmorel/VTK/downloads -- 以往各个版本下载
http://www.cmake.org/cmake/resources/software.html -- CMake下载

2.交流、共享:

①.Mail List,http://www.vtk.org/cgi-bin/mailman/listinfo

加入Mail List可以跟世界各地的VTK使用者和开发者通过邮件交流。强烈推荐用Gmail邮箱加入Mail List

②.中国可视化实验室 http://www.vislab.cn/bbs/index.php
③.http://vislabproject.googlecode.com/svn/trunk/ 这里有非常多的有用资源,包括VTK的英文教材《The_Visualization_Toolkit...》,这本500多页的英文书主要介绍3D可视化技术的一些概念和VTK中这些概念如何实现,非常有用。还有vtk的详细api文档,是开发必备的。

3.Examples:

这里只罗列一些,仅供参考。
http://www.vtk.org/Wiki/VTK/Examples http://www.vtk.org/Wiki/VTK/Examples/Java http://ij-plugins.sourceforge.net/vtk-examples/index.html http://vtk.org/gitweb?p=VTK.git;a=tree;f=Examples;hb=HEAD
4.视频教程:
http://www.youku.com/playlist_show/id_4752676.html
5.相关工具

①.VTKDesigner,http://sourceforge.net/projects/vtkdesigner/files/vtkdesigner/2.7.1/

这个是要强烈推荐的,在我们看了一些例子,写出最基本的Demo之后,就会对vtk管道有个初步的了解,而这个工具把建立管道的过程可视化了,并且自带很多有用的例子

②.Mayavi,http://code.enthought.com/projects/mayavi/

这是基于python的以vtk为底层的数据展现工具,可以方便地展现一些可视化数据(这些可视化数据通常来自vtk官网的vtkData包,或者程序自带的一些Demo)。其实我们自己的开发中,都会参考Mayavi所提供的一些功能

③.kitware的其他相关工具:http://www.kitware.com/opensource/opensource.html

1.4 学习的过程

在安装好vtk的开发环境之后,学习的过程就正式开始了。以下为个人建议:

1.跑一遍wiki上的Demo,整体熟悉一下。

2.写两三个最基本的例子,对vtk可视化管道有初步的印象。

3.看下上面提到的视频教程,熟悉一些3D可视化的基本概念。

4.用VTK Designer看看里边的Demo,自己写点稍微复杂的例子了。

5.有时间务必看一下那本英文的教程,我觉得只有认真研究这本书才能有所突破。多搜索,想办法写出书中不全的例子。建立对3D可视化基础,数据集、几何结构、拓扑结构、算法(Algorithm)、体渲染等等概念的较为全面的认识。

6.试着用一些现有数据结合vtk实现平面切割、标量可视化、向量可视化、体渲染等。

1,2,3算扫盲

4,5,6算入门

步骤之间并没有什么先后顺序,通常都是“并发”的吧。

thanks,下一篇写安装:)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: