上一节课内容回顾内容摘要:

环境信息可视化 第三讲 VTK • 几何与体元的混合: VTK在一个场景中可以混合多个演员和体元进行绘制。 下例,多边形和体元混合在一起。 posReader=vtkPolyDataReader() (“”) posMapper=vtkPolyDataMapper() (()) posActor=vtkActor() ( posMapper ) ( posActor ) () 运行 环境信息可视化 第三讲 VTK • 2D数据绘制 除了 3D几何和体元数据 ,VTK能够可视化 2D数据,如几何 ,图像 ,和文本。 演员 ,映射器 ,和特性同样适用于 2D数据。 下例把 2D数据和 3D数据混合绘制。 vtkActor2D表示场景中的标题 , vtkTextMapper绘制文本数据 , vtkActor2D自动创建vtkProperty2D对象。 titleMapper=vtkTextMapper() (“This is a Pink Cube ”) ().SetJustificationToCentered() titleActor=vtkActor2D() ( titleMapper) ().SetColor( 1, 1, 0) pc=() () ( , ) (titleActor) () 运行 环境信息可视化 第三讲 VTK 2D数据常用于注记 ,VTK提供了一些对象,能够把多个 2D 演员和映射器组合成一个 2D演员。 例如 , vtkScalarBarActor 把文本和 2D多边形组合 成图例: scalarBar = vtkScalarBarActor() ( negColor ) (“Density”) sPC=() () (, ) ( scalarBar) () 运行 环境信息可视化 第三讲 VTK • 灯光 , 相机 VTK应用程序不需要显式创建 vtkLight 或 vtkCamera。 如果没有创建,系统会自动创建。 从绘制器可以修改位置、焦点以及视场等。 相机包含一些方法,通过它们可调整位置,旋转 等,如 Azimuth(),Elevation(),Roll(),Pitch(),and Yaw()。 cam=() ( ) ( ) () 运行 环境信息可视化 第三讲 VTK 灯光缺省是白光,位置和焦点缺省情况下和相机一致。 下例加入第二个光源,绿色。 light = vtkLight() ( , , ) ( , , ) ( , , ) ( ) (light) () 运行 环境信息可视化 第三讲 VTK ( 2) VTK可视化管道 VTK 数据处理管道把数据变换成可由图形子系统绘制的形式,或 变换成其它形式,以待管道的后续处理。 例如, 读入 离散点 ,通过三角化创建多边形,使用面绘制显示 mesh面等构成一个数据处理管道。 管道,也叫做可视化网络,通过连接处理对象和数据对象构成。 数据对象提供对数据的访问,处理对象 操作数据对象。 在实现上,连接通过 SetInput()/GetOutput()方法实施 : (()) Filters创建与它的输出类型一致的内部数据对象。 只有输出与输入类型匹配的连接能够成立。 上例中, bFilter的输出类型和 aFilter的输入类型必须一致。 类型检查可在编译时或运行时进行。 环境信息可视化 第三讲 VTK 环境信息可视化 第三讲 VTK 环境信息可视化 第三讲 VTK 环境信息可视化 第三讲 VTK 一旦管道构建起来, Filters则只有在内部状态改变了或它的输入数据改变了才能重新执行。 VTK 采用分布式隐含更新方法控制管道的运行。 每个对西那个管理一个内部时间标记,只有过时的对象才能重新运算。 环境信息可视化 第三讲 VTK • 数据对象: VTK一般把数据表示成场数据,数据集是带有拓扑和几何结构的数据对象。 除了结构,数据集还附带有属性数据。 属性数据包括:标量 ,矢量 ,张量 ,法向 ,纹理坐标 ,以及场数据。 环境信息可视化 第三讲 VTK 环境信息可视化 第三讲 VTK • 处理对象: VTK提供了数百个处理对象。 其中多数只处理一种数据类型(如图像处理对象 )。 一些处理对象如 vtkContourFilter 接受一种类型的数据输入,输出另一种类型的数据。 处理对象一般被称为 Filters。 VTK把处理对象分为三类:源处理对象 , 过滤器 ,和映射器。 源处理对象没有 VTK数据输入 ,但产生一到多个输出,如读入器。 过滤器接受一到多个输入,产生一到多个输出。 映射器是管道的终点 , 它或者和图形系统耦合在一起,或者把数据写到磁盘或另一管道。 环境信息可视化 第三讲 VTK 例子: 读取数字化的多边形数据 , 然后 简化 ,用 Laplacian 光滑减少面噪声 ,生成面法线 , 修饰表面: 读多边形数据 : Reader=vtkBYUReader() ( “ ”) 创建管道,由 decimator,smoother,和 normal generator组成。 Deci=vtkDecimatePro() (()) ( ) () Smoother=vtkSmoothPolyDataFilter() (()) 环境信息可视化 第三讲 VTK Normals=vtkPolyDataNormals() (()) ( 60 ) mapper = vtkPolyDataMapper() (()) fran = vtkActor() (mapper) ().SetColor( 1, , ) ptMask = vtkMaskPoints() (()) ( 10) () cone = vtkConeSource() ( 6) 环境信息可视化 第三讲 VTK Transform=vtkTransform() ( , , ) transformF =vtk。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。