python 与 3D 可视化----(1)

Python 利用 traits 属性封装的VTK 可视化库 tvtk 进行3D可视化编程,十分方便。在Python 3.6 版本下进行可视化编程须要依次安装python

下列库:编程

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
api

下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/app

安装方法是在dos 命令行中依次输入: pip install file_name.whl 其中file_name是上面库的名字,安装完python 3.6的同时也会安装pip,工具

若是上述安装过程当中提示找不到pip,则须要将其安装目标添加到系统环境变量中。开发工具

安装完成后,打开python 3.6 自带的开发工具IDLE: 在命令窗口输入:spa

>>> from tvtk.api import tvtk命令行

若是没有报错,则说明安装成功code


接着输入:ip

>>> 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() 

显示