VTK学习笔记2.1

版权声明:转载请告知征得同意。 https://blog.csdn.net/qq_42731466/article/details/81292037

VTK学习笔记

整理于 https://www.icourse163.org/course/BIT-1001871001(Python科学计算三维可视化)

1.2.1

1.TVTK管线
Tvtk系统复杂,各个部分靠管线串联起来。

管线技术PipeLine:
几乎所有的渲染引擎都会提到,渲染在电脑绘图中是指用软件从模型生成图像的过程。模型是用严格定义的语言或者数据结构对于三维物体的描述,它包括几何、视点、纹理以及照明信息。

可视化管线(Visualization Pipeline):将原始数据加工成图形数据的过程。有时候需要加工的数据本身不是图形数据,如流体各点的速度,零件内部的温度。
图形管线(Graphics Pipeline):图形数据加工成图像的过程

数据—->数据预处理—->数据映射—->绘制—->显示
前两步是可视化管线,后三步是图形管线
可视化管线相关的TVTK对象:
CubeSource:通过内部计算输出一组描述长方体的数据源(PolyData型的数据)++++++++++
其中PolyData是一组用来描述三维空间中点线面的数据结构。
PolyDataMapper:PolyData通过映射器将数据映射为图形数据(mapper)
PolyDataMapper是个映射器

from tvtk.api import tvtk
s = tvtk.CubeSource(x_length=1.0,y_length=2.0,z_length=3.0)#创建长方体数据源,并设置长宽高
m = tvtk.PolyDataMapper(input_connection=s.output_port)#使用映射器转化为图形数据
a = tvtk.Actor(mapper = m)  #前两部预处理,这里指定图形数据的对象
r = tvtk.Renderer(background=(0,0,0))
r.add_actor(a)
w = tvtk.RenderWindow(size = (300,300)) #创建窗口
w.add_renderer(r)
i = tvtk.RenderWindowInteractor(render_window = w)
i.initialize()                          #开启交互
i.start()

注意到第三行tvtk的一个对象,Actor属于可视化管线,包括后面的Renderer、RenderWindow,RenderWindowInteractor都是可视化管线。
可视化管线:
Actor ——表示场景中的一个实体,包括一个图形数据(mapper),具有表述该实体的位置、方向、大小的属性
Renderer——渲染的场景,可以包括多个Actor
RenderWindow——渲染用的图形窗口,可以包括一个以上的Render
RenderWindowInteractor——提供交互功能,平移、放大缩小,这些并不影响图形数据的属性,只是调整场景中的照相机(Camera)的一些设置

猜你喜欢

转载自blog.csdn.net/qq_42731466/article/details/81292037
今日推荐