当前位置: 首页 > news >正文

VTK基础(02):VTK中的数据结构

VTK中的数据结构

1.数据对象和数据集

(1)数据对象

数据对象是整个可视化流程的核心载体,本质是对现实世界中各类数据的结构化抽象,目的是统一描述数据的“几何信息”、“拓扑结构“和”属性数据“

vtk中的数据一般是以数据对象的形式表现的,vtkDataObj是顶级抽象基类

(2)数据集

vtk中的数据集vtkDataSet直接派生于vtkDataObj,将数据对象组织成一种结构并赋予相应的属性数据;包含:组织结构、属性数据,其中组织结构=几何结构(点)+拓扑结构(单元)

数据集类型如下:

  • 线性网格:vtkImageData,点按规则网格排列(类似二维像素或三维体素的阵列),坐标间距均匀,拓扑关系隐含
  • 结构网格:点按规则索引排列(类似 vtkImageData 的网格索引),但点的坐标可以非均匀分布(间距可变),拓扑关系隐含(通过索引确定单元连接)
  • 非结构网格:点的坐标和单元的拓扑关系均完全不规则,支持任意类型的单元(如四面体、六面体、棱锥体、金字塔等),拓扑关系需显式存储
  • 多边形:由不规则的点集和点组成的 “几何图元”(如点、线、多边形、三角形带)构成,拓扑关系显式存储(明确记录哪些点组成一个单元)

2.单元

(1)单元的概念

本质是拓扑连接的抽象,通过点索引定义点与点之间的链接关系

(2)单元的特征

  • 点索引:存储单元索引的数组
  • 维度:0维(点)、1维(线)、2维(曲面)、3维(体)
  • 边界:实体与外界空间的分界面

在代码中是使用枚举值来表示单元类型的

(3)单元的类型

(1)线性单元
  • 顶点(Vertex)、多顶点(Polyvertex)、线段(Line)、多段线(Polyline)
  • 三角形(Triangle)、三角带(Triangle Trip)、四边形(Quadrilateral)、像素(Pixel)、多边形(Polygon)
  • 四面体(Terahedron)、六面体(Hexahedron)、体素(Voxel)
  • 三棱柱(Wedge)、四棱锥(Pyramid)
  • 五棱柱(Pentagonal prism)、六棱柱(Hexagonal prism)
(2)非线性单元

二次单元,类似线性单元的结构

3.属性数据

(1)标量数据

只有大小没有方向的数据,如温度值、颜射值RGB等

(2)矢量数据

既有大小又有方向的数据,如加速度

(3)张量数据

类似于阵列,0阶的张量是标量、1阶的张量是矢量、二阶的张量是纹理坐标、三阶是阵列

4.数据的存储和表达

(1)数据的存储

VTK中内存分配采用连续内存模式,使用vtkDataArray类的派生类来管理内存的
数据依据分量可分为:单分量和多分量

  • 单分量:vtkBitArray、vtkCharArray、vtkShortArray、vtkIntArray、vtkFloatArray、vtkDoubleArray等
  • 多分量:vtkVector2iArray、vtkVector3fArray、vtkVector4dArray、vtkMatrix3x3Array 、vtkMatrix4x4Array

(2)数据的表达

将数据抽象为 “几何 + 拓扑 + 属性” 的三元结构


文章转载自:

http://8DXTqex6.xgtxL.cn
http://JbJaw9SR.xgtxL.cn
http://25xokLOO.xgtxL.cn
http://27t79jI9.xgtxL.cn
http://Xxejspy8.xgtxL.cn
http://UOiONFPT.xgtxL.cn
http://Z8pAs1pN.xgtxL.cn
http://mrknyf8R.xgtxL.cn
http://iiN0kd9c.xgtxL.cn
http://nY1Est53.xgtxL.cn
http://j0grSU4J.xgtxL.cn
http://HfRXdIKy.xgtxL.cn
http://3P3eoW8S.xgtxL.cn
http://aEajcDWa.xgtxL.cn
http://tPkMmcsu.xgtxL.cn
http://0Xw7AyWz.xgtxL.cn
http://iD1Z0Q08.xgtxL.cn
http://j2IF5LQ5.xgtxL.cn
http://JHNtssUk.xgtxL.cn
http://yrYa1u1X.xgtxL.cn
http://NeUBX4Y0.xgtxL.cn
http://EAV6XBqZ.xgtxL.cn
http://dCHSjo54.xgtxL.cn
http://wgB6VXML.xgtxL.cn
http://4snhx0aZ.xgtxL.cn
http://BE9oNqeG.xgtxL.cn
http://3lZcGQD6.xgtxL.cn
http://rOg3m9EN.xgtxL.cn
http://f56h8vau.xgtxL.cn
http://3F6o1CE3.xgtxL.cn
http://www.dtcms.com/a/384046.html

相关文章:

  • LeetCode 3456.找出长度为K的特殊子字符串
  • C#使用OpenVinoSharp和PP-Mating进行人像抠图
  • 初始QML
  • 贪心算法python
  • 淘宝客app的API网关设计:认证授权与流量控制策略
  • python快速使用mcp服务
  • 绑定方法与非绑定方法
  • 北科大2025研究生英语超星慕课第一单元标准答案
  • 人工智能方面的入门书籍有哪推荐?
  • STL之string类(C++)
  • 大模型原理的解析
  • Java 事务失效场景全解析
  • 简陋的进度条程序
  • SpringAOP中的通知类型
  • Python之文件读写 day9
  • 深度学习和神经网络之间有什么区别?
  • Linux驱动学习(SPI驱动)
  • 【MySQL|第七篇】DDL语句——数据库定义语言
  • 计算机毕设选题推荐:基于Java+SpringBoot物品租赁管理系统【源码+文档+调试】
  • Redis集群部署模式全解析:原理、优缺点与场景适配
  • ESP32的烧录和执行流程
  • ABP vNext + OpenXML / QuestPDF:复杂票据/发票模板与服务器端渲染
  • Java 注解入门:从认识 @Override 到写出第一个自定义注解
  • 网络层 -- IP协议
  • 社招面试BSP:BootROM知识一文通
  • Knockout.js DOM 操作模块详解
  • 面试题知识-NodeJS系列
  • 【层面一】C#语言基础和核心语法-02(反射/委托/事件)
  • Jmeter性能测试实战
  • CSP-S 2021 提高级 第一轮(初赛) 阅读程序(3)