当前位置 : 主页 > 网络编程 > PHP >

vtk_C++入门

来源:互联网 收集:自由互联 发布时间:2023-09-03
渲染场景中数据的可视化表达是通过vtkProp的子类负责的,数据要在场景中渲染时,不是直接把数据加入渲染场景就可以,待渲染的数据是以vtkProp的形式存在于渲染场景中。三维空间中


渲染场景中数据的可视化表达是通过vtkProp的子类负责的,数据要在场景中渲染时,不是直接把数据加入渲染场景就可以,待渲染的数据是以vtkProp的形式存在于渲染场景中。三维空间中渲染对象最常用的vtkProp子类是vtkActor(表达场景中的几何数据)和vtkVolume(表达场景中的体数据);二维空间中的数据则是用vtkActor2D表达。vtkProp子类负责确定渲染场景中对象的位置、大小和方向信息。

Prop依赖于两个对象(“道具”),一个是Mapper(vtkMapper)对象,负责存放数据和渲染信息,另一个是属性(vtkProperty)对象,负责控制颜色、不透明度等参数。

vtkRenderWindow=>剧院

vtkRenderer=>舞台

Actor=>演员

vtkRenderWindowInteractor=>观众与演员的交互

vtkInteractorStyle=>交互方式

vtkProperty=>不同演员的特性

vtkCamera=>相机

vtkLight=>灯光

vtkProp是任何存在于渲染窗口的对象的父类,包括二维或者三维的对象。是否可见、是否可拾取等都在这里定义。

Renderer里面有灯光和相机

计算机图形学里常用的坐标系统主要有四种,分别是:Model坐标系统、World坐标系统、View坐标系统和Display坐标系统,以及两种表示坐标点的方式:以屏幕像素值为单位和归一化坐标值(各坐标轴取值都为[-1, 1])。

第一件事是,vtkObject里定义了与程序调试相关的一些公共接口

可视化管线是指用于获取或创建数据,处理数据,以及把数据写入文件或者把数据传递给渲染引擎进行显示,这样的一种结构在VTK里就称之为*可视化管线*

vtk_C++入门_坐标系统

可以有多个Filter

vtk_C++入门_数据_02

Source没有输入,但至少有一个输出;Filter可以有一个或多个输入,产生一个或多个输出;Mapper接受一个或多个的输出,但没有输出,写文件的Writer(如vtkBMPWriter)可以看作是Mapper,负责把数据写入文件或者流(Stream)中,因此,Mapper是可视化管线的终点,同时也是可视化管线和渲染引擎(有时也称之为图形管线)的桥梁。

使用SetInputConnection()和GetOutputPort()连接可视化管线时,还要求连接的两部分之间的数据类型必须一样。比如,vtkMarchingCubes要求输入的是vtkImageData类型的数据,如果我们给它输入的是vtkPolyData类型的,程序运行时就会报如下的错误

拓扑结构描述了物体的构成形式,几何结构描述了物体的空间位置关系。换言之,点数据(Point Data)所定义的一系列坐标点构成了vtkDataSet(数据集)的几何结构;点数据的连接(点的连接先形成单元数据(Cell Data),由单元数据再形成拓扑)就形成了数据集的拓扑结构。点数据(Point Data)定义数据集的几何结构,单元数据(Cell Data)定义数据集的拓扑结构

ta)定义数据集的几何结构,单元数据(Cell Data)定义数据集的拓扑结构


上一篇:LeetCode 1688. 比赛中的配对次数
下一篇:没有了
网友评论