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

来源:互联网 发布:最火淘宝店铺 编辑:程序博客网 时间:2024/06/05 10:22

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

显示


原创粉丝点击