`

VTK 学习笔记

VTK 
阅读更多

VTK是一个面向对象的系统,高效使用VTK的关键,是要逐渐较好地理解底层的对象模型,这样做是为了去掉数百个对象的神秘外衣。理解力达到一定程度,你很容易建立应用程序。也许你想知道许多对象的功能,只有反复练习代码例子,才能对对象有所理解。在本用户指南中,我们努力提供有用的对象组合来满足你的应用。

接下来的部分,我们来构成VTK的两个对象模型:图形对象模型和可视化对象模型。这部分相对高级我们建议你强化阅读,运行本章和下一章数百个源代码布置的例子。

 

图形模型

VTK图形模型包含下列核心对象(这不是无穷对象列表,而是我们经常用到的对象):

(附图1)

 

我们把这些对象组合起来产生一个场景(参见对象表图14-8可以知道这些对象是如何联系在一起的)。Props代表我们在场景中“看见”的东西,在3D中(有一个4*4的变换矩阵)被定位和操作的Props就是vtkProp3D(例如vtkActor就是vtkProp3D的一个具体的子类,我们要进行体绘制,这个子类就是vtkVolume)。Props用来定位和表示2D数据(即图像)的类是vtkActor2DProps不直接表示几何形状,它借助Mappers对象,Mapper负责表达数据。Props也借助于一个属性对象,属性对象控制着Props的外观(颜色、漫射光、反射光效果;绘制外观:线框或面片等)。ActorsVolumes(通过超类vtkProp3D)还有一个内部变换对象(vtkTransform),这个对象封装了一个4*4矩阵,它依次控制着Prop的位置、朝向和尺度。

光照(vtkLight)用来表示和操作场景的光线,光照仅用于3D2D不需要光照。

相机对象(vtkCamera)在绘制过程中控制如何将3D投影到2D,相机具有定位、定标和定向的几种方法。此外,相机还控制透视投影和立体视(若开启),2D图像不需要相机。

映射对象(vtkMapper)与查找表相连(vtkLookupTable),用来变换和绘制几何图形,映射提供可视化流水线与图形对象模型之间的接口。vtkLookupTable是一个vtkScalarsToColors类的子类,就像vtkColorTransferFunction(典型vtkColorTransferFunction用来体绘制,参见136页)。vtkScalarsToColors的子类将映射数据转变成颜色,是最重要的可视化技术之一。

Renderers(vtkRenderer) render windows(vtkRenderWindow)用来管理图形引擎和计算机窗口系统,绘制窗就是所绘制的计算机窗口。多个绘制者可在一个绘制窗口中绘图,也可以创建多个绘制窗口。绘制区称为视口,可能在一个绘制窗口存在多个绘制区。将绘制对象绘制到窗口后,就获得了与数据交互的机会。VTK有几种与数据进行交互的方法,其一就是vtkRenderWindowInteractor,它是一种简单的工具,用来操作相机、拾取对象、调用用户方法、进出立体视、改变actors属性等。

上面提到的许多对象都有子类,这些子类具体化对象行为,例如vtkAssemblyvtkFollowervtkLODActor都是vtkActor子类。vtkAssembly允许Actors分级,恰当地管理平移、转变和尺度变换。vtkFollower是一个总是面向特定相机的ActorvtkLODActor是一个Actor对象,可改变几何表达、保持交互帧频。

 

 

 

分享到:
评论

相关推荐

    vtk学习笔记 ---绘制等值线

    在IT领域,尤其是在科学可视化和图形处理中,`VTK`(Visualization Toolkit)是一个非常重要的开源库。本篇文章将深入探讨如何使用`VTK`来绘制等值线,这是一个用于展示数据分布和特征的重要工具。等值线是连接相同...

    初学者的VTK学习笔记

    VTK,全称为 Visualization Toolkit,是一款强大的开源可视化库,尤其在3D图形渲染和科学数据可视化方面具有广泛的应用。...希望这篇“初学者的VTK学习笔记”能对你有所帮助,祝你在VTK的学习旅程上取得成功!

    VTK学习笔记及安装指南

    ### VTK学习笔记及安装指南 #### 一、VTK简介与重要性 VTK (Visualization Toolkit) 是一套开源的三维图形处理库,主要用于科学计算可视化、图像处理以及计算机图形学领域。它提供了丰富的API接口,支持多种编程...

    VTK学习笔记

    ### VTK学习笔记知识点概述 #### 一、VTK简介与背景 VTK(Visualization Toolkit)是一种开源的软件系统,用于三维图形处理和可视化技术。它由Kitware开发,并广泛应用于科学计算、医学图像处理等领域。VTK的核心...

    vtk资料包括VTK中文手册(中文VTK User's Guide(带书签))

    另外,VTK学习笔记可能是个人或社区对学习过程的记录,可能包含了问题解决的经验、技巧和代码片段,是宝贵的实践经验总结。示例程序则提供了直接运行的代码,可以加深对VTK的理解,通过实践来验证理论知识。 学习...

    vtk学习过程中写的笔记 对于初学者有用

    vtk学习笔记 vtk是The Visualization Toolkit的简称,是一个开源的、跨平台的科学可视化工具包。vtk是一个基于对象的 API,提供了大量的示例和文档,帮助用户快速上手。vtk的主要应用场景包括科学计算、数据分析、...

    VTK资料(包含多个文件,文档)

    其次,`VTK函数讲解`可能是一系列文档或笔记,专门解析VTK库中的重要函数和类。这些内容可能包括: 1. **核心类**:如vtkRenderWindow、vtkRenderer、vtkActor等,它们在构建可视化场景中的作用。 2. **数据处理...

    VTK 重磅教程 从简单到复杂

    ### VTK 重磅教程知识点概览 #### 一、VTK编程简介 VTK (Visualization Toolkit) 是一款开源的软件系统,专为三...通过以上各部分的学习,可以全面掌握VTK的基础知识和高级技术,从而能够灵活运用VTK来解决实际问题。

    VTK_Examples.rar_ VTK_ VTK_Examples_vtk_vtk 教程_vtk 视频

    本教程“VTK_Examples”是针对VTK初学者设计的,通过一系列实例帮助学习者快速掌握VTK的核心概念和使用方法。 在“[练习] VTK_四面体”中,你可以了解到如何使用VTK来创建和操作四面体这种基本的三维几何元素。...

    VTK编程简介.rar_ VTK_vtk_vtk 安装

    “www.pudn.com.txt”文件可能是从 PUDN 论坛或其他在线资源下载的相关资料链接或笔记,它可能包含更多的 VTK 学习资源、示例代码或问题解答,对深入学习 VTK 非常有帮助。 在实际开发中,VTK 可以与许多其他库结合...

    ITK VTK 好资料一网打尽

    在ITK学习笔记_Chap07_ReadingWritingImages.pdf中,你可能会学到如何在ITK中读取和写入图像,这是处理图像数据的基础。这一章会涉及不同的图像格式,如NIFTI、DICOM等,并介绍如何使用ITK的ImageSeriesReader和...

    vtk-Data.rar

    VTK,全称为 Visualization Toolkit,是一个开源的三维可视化软件库,广泛应用于...总之,“vtk-Data.rar”中的数据是VTK学习和实践的重要资源,它可以帮助用户深入了解VTK的特性和功能,提升在科学可视化领域的技能。

    医学图像编程技术-代码资源.rar

    学习和理解这些代码资源,可以提升你在医学图像编程领域的技能,为医疗诊断、研究或临床应用开发打下坚实基础。通过实践,你将能够利用VTK实现复杂的医学图像分析任务,为医疗保健带来更高效、更精确的解决方案。

    LearningNote:我的深度学习课程的学习记录

    学习笔记 我的学术学习课程记录 内容 编程框架 机器学习和医学图像计算编程框架的内容 图书馆 用法 医疗注册和细分 GPU程式设计 强化学习 差异化的计算机视觉 医学影像处理 优化编译器 OpenCV 计算机视觉 Psutils ...

    Paraview学习记录

    ParaView 是一款强大的开源数据可视化工具,用于二维和三维数据的分析。它的核心特性在于其灵活性和可扩展性,能够适应各种规模的计算...通过学习和掌握 ParaView,用户能够提升其在数据分析和可视化领域的专业技能。

    【二合一】CMake 实践+开发手册详解.pdf

    本文档是边学习边编写的成果,更像是一个学习笔记和 Tutorial,因此难免有失误或者理解不够透彻的地方。 在 CMake 中,变量的使用是非常重要的。例如,在介绍 Find<Name> 模块编写的文档中,模块名称为 FOO,但是...

    cmake实战 ------学习cmake的绝佳查询手册

    cmake的实践手册《cmake实践》(CmakePractice)的作者Cjacker,在学习cmake的过程中编写了此文档,希望它能成为一个面向实用的学习笔记和教程。 文档中还提出了cmake使用上的疑问,例如,为什么在多数使用变量的...

    CMake——入门到精通.pdf

    这表明,该文件不仅提供了基础概念的讲解,还包含了作者的个人实践经验和学习笔记,为初学者提供了宝贵的参考。 标签“cmake”简单直接,但表明了文件的主要内容是围绕CMake这一主题展开的。 在文档的具体内容中,...

    cmake笔记资料

    - **起源与发展**:cmake最初是在开发VTK等工具套件的过程中产生的,作为这些项目的一部分而发展起来。随着时间的推移,它逐渐成为一个独立的项目,并被广泛应用于各种规模的软件项目中。 - **KDE4的影响**:KDE4...

    cmake实践.pdf

    该书是作者在学习CMake的过程中编写的学习笔记和教程,旨在为其他用户提供实用的参考。尽管官方文档不多且存在错误,但是通过实际经验的积累和CMake社区的帮助,作者逐渐深入理解了CMake的使用方法,并在文档中分享...

Global site tag (gtag.js) - Google Analytics