2. TVTK入门

文章目录

  • 1.安装
  • 2.帮助文档
  • 3.创建一个基本三维对象
  • 4. 显示一个三维对象

1.安装

Mac 环境使用Canopy是最简单的方法,在Canopy中安装PyQt4即可。
Canopy中的python环境分为系统环境和用户环境,系统环境只用于显示Canopy的GUI,用户环境是工作环境,两者可以分别更新。
系统环境在Canopy.app中,用户环境在~/Library/Enthought/Canopy/edm/envs//bin中

2.帮助文档

http://www.vtk.org/doc/nightly/html/annotated.html
这是VTK的帮助文档,TVTK是VTK的封装,有以下几点区别:

  • TVTK库中的类名去除了前缀vtk
  • 函数名按照Python的惯例,采用下划线连接单词:AddItem->add_item
  • VTK对象的方法在TVTK中用Trait属性替代:m.SetInputConnnection(c.GetOutputPort())->m.input_connection(c.output_port)

打开帮助文档:

# 打开帮助文档
from tvtk.tools import tvtk_doc
tvtk_doc.main() 

3.创建一个基本三维对象

2. TVTK入门_第1张图片

2. TVTK入门_第2张图片
2. TVTK入门_第3张图片

创建一个基本三维对象:

# 长方体数据源
from tvtk.api import tvtk
s = tvtk.CubeSource(x_length=1.0,y_length=2.0,z_length=3.0)
print(s)
print(s.x_length)
print(s.y_length)
print(s.center)
print(s.output_points_precision)

# 圆锥数据源
s = tvtk.ConeSource(height=3.0, radius=1.0, resolution=36)
# resolution指的是底面圆分辨率,即用36边形近似圆形
print(s)

4. 显示一个三维对象

# 显示一个三维对象
from tvtk.api import tvtk

# 创建一个长方体数据源,并且同时设置其长宽高
s = tvtk.CubeSource(x_length=1.0, y_length=2.0, z_length=3.0)
# 使用PolyDataMapper将数据转换为图形数据
m = tvtk.PolyDataMapper(input_connection=s.output_port)
# 创建一个Actor
a = tvtk.Actor(mapper=m)
# 创建一个Renderer,将Actor添加进去
r = tvtk.Renderer(background=(0, 0, 0))
r.add_actor(a)
# 创建一个RenderWindow(窗口),将Renderer添加进去
w = tvtk.RenderWindow(size=(300, 300))
w.add_renderer(r)
# 创建一个RenderWindowInteractor(窗口的交互工具)
i = tvtk.RenderWindowInteractor(render_window=w)
# 开启交互
i.initialize()
i.start()

原始数据转换为屏幕上图像,TVTK对象共同协调完成:

  • tvtk.CubeSource
  • tvtk.PolyDataMapper
  • tvtk.Actor
  • tvtk.Renderer
  • tvtk.RenderWindow
  • tvtk.RenderWindowInteractor

在TVTK中,这种对象之间协调完成工作的过程被称作管线(Pipeline)。

你可能感兴趣的:(Python科学计算三维可视化)