CubeSource对象是长方体数据源对象。本次在安装成功TVTK库的基础上显示一个长方体对象。通过以下代码,我们设置一个长宽高分别为1.0,2.0,3.0的长方体数据源并通过管线显示出来。
from tvtk.api import tvtk#导入tvtk库
s = tvtk.CubeSource(x_length=1.0,y_length=2.0,z_length=3.0)
#创建长方体数据源并设置长宽高
m = tvtk.PolyDataMapper(input_connection=s.output_port)
#将CubeSource数据转换为图形数据
a = tvtk.Actor(mapper=m)#创建一个Action实体Actor
r = tvtk.Renderer(background=(0,0,0))#渲染器背景为(0,0,0)
r.add_actor(a)
#创建一个渲染器Render将Actor添加进去
w = tvtk.RenderWindow(size=(300,300))
#创建一个绘制窗口大小是300*300
w.add_renderer(r)
#将创建的Render加入到窗口中
i = tvtk.RenderWindowInteractor(render_window=w)#创建交互工具
i.initialize()
i.start()
'''
显示一个长方体,从原始数据转换为屏幕上的图像,由TVTK对象共同完成
tvtk.CubeSource:长方体数据源
tvtk.PolyDataMapper:图形数据对象
tvtk.Actor:Action实体对象
tvtk.Renderer:渲染器
tvtk.RenderWindow:绘制窗口对象
tvtk.RenderWindowInteractor:交互工具窗口
在tvtk中,这种对象之间协调完成工作的过程被称作管线(Pipeline)
'''
'''
管线技术也称流水线技术(Pipeline)每个对象只实现相对简单的任务,
整个管线进行复杂的可视化处理
在tvtk中分为可视化管线和图形管线
可视化管线(Visualization Pipeline):将原始数据加工成图形数据的过程
图形管线(Graphics Pipeline):图形数据加工为所看到的图像
数据可视化分为五个模块:
数据模块,数据预处理模块,数据映射模块,绘制模块和显示模块。
前两部分为可视化管线
与可视化管线相关的两个对象:
tvtk.CubeSource数据对象和tvtk.PolyDataMapper图形对象
后三部分为图形管线
与图形管线相关的四个tvtk对象:
Actor实体对象,
Renderer渲染场景对象
RenderWindow渲染用的图形窗口对象
RenderWindowInteractor用户交互对象
'''
上面那段代码运行起来也很有意思(对于我这么一个初接触的人来说)
它会显示一个长方体对象,可以通过鼠标控制它的旋转和大小
下面是Python shell运行的效果
Python其他管线对象的使用也许会在后续继续尝试