0 导学
目的:掌握利用三维效果表达科学和工程数据的能力
传播一种思想:可视化技术是数据之眼
内容组织:
流体数据的标量可视化、矢量可视化实例
三维扫描数据(模型/地形)可视化实例
三维地球场景可视化实例
曲线UI交互控制可视化实例
1 基础运用
科学计算可视化的主要方法:
二维标量数据场:颜色映射法、等值线方法、立体图法和层次分割法
三维标量数据场:面绘制方法、体绘制方法
矢量数据场:直接法(箭头、线段、色轮等手段表示矢量数据)、流线法
应用领域:地球科学、大气科学、医学/生命科学、生物/分子科学、航空/航天/工业、化工/化学、物理/力学、人类/考古、地址勘探等
1.1 TVTK入门
TVTK库是在标准VTK库之上用traits进行了封装,因此可以查看VTK库文档https://vtk.org/doc/nightly/html/annotated.html
TVTK库中类名去除了前缀vtk
函数名按照Python惯例,采用下划线连接单词,如AddItem->add_item
VTK对象的方法在TVTK中用Trait属性替代,例如VTK中m.SetInputConnection(c.GetOutputPort()),TVTK中m.input_connection(c.output_port)
安装:
conda install vtk
conda install numpy
conda install traits
conda install mayavi
conda install PyQt
或者从https://www.lfd.uci.edu/~gohlke/pythonlibs/下载对应用whl文件pip安装
安装完测试下
1
2
|
from tvtk.tools import tvtk_doc tvtk_doc.main() |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
In[3]: from tvtk.api import tvtk In[4]: s = tvtk.CubeSource(x_length=1.0,y_length=2.0,z_length=3.0) In[5]: print(s) vtkCubeSource (000001A7ACDECA70) Debug: Off Modified Time: 132 Reference Count: 2 Registered Events: Registered Observers: vtkObserver (000001A7B0699C20) Event: 33 EventName: ModifiedEvent Command: 000001A7B097C560 Priority: 0 Tag: 1 Executive: 000001A7B0418800 ErrorCode: No error Information: 000001A7AD8034D0 AbortExecute: Off Progress: 0 Progress Text: (None) X Length: 1 Y Length: 2 Z Length: 3 Center: (0, 0, 0) Output Points Precision: 0 |