Python 利用 traits 属性封装的VTK 可视化库 tvtk 进行3D可视化编程,十分方便。在Python 3.6 版本下进行可视化编程需要依次安装
下列库:
VTK-7.1.1-cp36-cp36m-win_amd64.whl
numpy-1.12.1+mkl-cp36-cp36m-win_amd64.whl
traits-4.6.0-cp36-cp36m-win_amd64.whl
mayavi-4.5.0+vtk71-cp36-cp36m-win_amd64.whl
PyQt4-4.11.4-cp36-cp36m-win_amd64.whl
下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/
安装方法是在dos 命令行中依次输入: pip install file_name.whl 其中file_name是上面库的名字,安装完python 3.6的同时也会安装pip,
如果上述安装过程中提示找不到pip,则需要将其安装目标添加到系统环境变量中。
安装完成后,打开python 3.6 自带的开发工具IDLE: 在命令窗口输入:
>>> from tvtk.api import tvtk
如果没有报错,则说明安装成功
接着输入:
>>> from tvtk.tools import tvtk_doc
>>> tvtk_doc.main()
会启动tvtk 的类库查询工具
通过这个工具可以查看tvtk 库中每个类的相关信息
利用tvtk 进行3D可视的步骤如下:
创建一个3D数据源--->将其映射为2D图形--->创建一个显示实体--->创建一个渲染器--->添加实体--->创建一个显示窗口--->添加渲染器--->创建一个交互器--->添加渲染窗口--->初始化--->启动
以显示一个长宽高分别为1,2,3的长方体为例说明具体代码编写流程:
from tvtk.api import tvtk
# 三维数据源
s = tvtk.CubeSource(x_length=1.0, y_length=2.0, z_length=3.0)
print("s= \n",s)
# 将三维数据源映射为二维图形显示
m = tvtk.PolyDataMapper(input_connection = s.output_port)
print("m=\n",m)
# 创建一个显示实体
a = tvtk.Actor(mapper=m)
print("a= \n",a)
# 创建一个渲染器
r = tvtk.Renderer(background=(0,0,0))
print("r= \n",r)
# 添加显示实体
r.add_actor(a)
# 创建一个显示窗口
w = tvtk.RenderWindow(size=(300,300),position=(300,300))
print("w= \n",w)
# 添加渲染器
w.add_renderer(r)
# 创建一个交互器
i = tvtk.RenderWindowInteractor(render_window=w)
print("i= \n",i)
# 初始化交互器
i.initialize()
# 启动
i.start()