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

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

显示


你可能感兴趣的:(3D,python)