VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > python教程 >
  • python基础教程之【学习笔记】Python科学计算三维可视化(黄天羽、嵩天)(学习中。。)(4)

由于版本过高,from tvtk.tools import ivtk,这句出现错误。。。

imageimage

TVTK数据集

数据集,包括点与数据,点之间有连接和非连接关系,多个相关的点组成单元,点的连接有隐式和显示,数据有标量和矢量

imageTVTK五种数据集image

ImageData表示二维或三维图像的数据结构,可以简单的理解为二维或三维数组,特点是在数组中存放数据,点位于正交且等距的网格上,我们不需要给出坐标,点之间的连接关系由它们在数组中的位置确定,点的连接关系是隐性的

imageimage

image

 

 

1
2
3
4
5
6
7
from tvtk.api import tvtk
img = tvtk.ImageData(spacing=(1,1,1),origin=(1,2,3),dimensions=(3,4,5))
 
print(img.get_point(0))
 
for in range(6):
    print("%.1f,%.1f,%.1f"% img.get_point(n))

RectilinearGrid:间距不均匀的网格,所有点都在正交的网格上

image如何构建

1
2
3
4
5
6
7
8
9
10
11
from tvtk.api import tvtk
import numpy as np
 
x = np.array([0,3,9,15])
y = np.array([0,1,5])
z = np.array([0,2,3])
r = tvtk.RectilinearGrid()
r.x_coordinates = x
r.y_coordinates = y
r.z_coordinates = z
r.dimensions = len(x),len(y),len(z)

同样可以查看imageStructuredGrid:创建任意形状的网格,需要指定点的坐标

imagePolyData:由一系列的点和点之间的联系、点构成的多边形组成

image

由于这些信息都要用户设置,因此用程序创建PolyData比较繁琐,TVTK很多三维模型可以输出PolyData对象

TVTK数据加载

大多数可视化数据并非是TVTK库中构建,而是通过接口读取外部数据文件

TVTK库继承关系

imageVTK三维模型读取

imageSTL文件是在计算机图形应用系统中用于表示三角形网格的一种文件格式,这种格式非常简单,应用很广泛

1
2
3
4
5
6
7
8
9
10
from tvtk.api import tvtk
from tvtkfunc import ivtk_scene,event_loop
 
s = tvtk.STLReader(file_name = "python.stl")
m = tvtk.PolyDataMapper(input_connection = s.output_port)
a = tvtk.Actor(mapper = m)
 
win = ivtk_scene(a)
win.scene.isometric_view()
event_loop()
相关教程