4-段文国-基于VTK的点云数据绘制研究与实现.docVIP

4-段文国-基于VTK的点云数据绘制研究与实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4-段文国-基于VTK的点云数据绘制研究与实现

基于VTK的点云数据绘制研究与实现 段文国 张爱武 蔡广杰 (首都师范大学三维信息获取与应用教育部重点实验室 , 北京 100037) 摘 要:本文结合可视化工具开发包VTK,比较了几种图像绘制算法的特点,并选取最常用的移动立方体算法,对激光扫描仪所获取的点云数据进行绘制,重点介绍了点云数据的处理、场景绘制、显示输出,并给出了部分实现代码。 关键词:VTK, 三维数据场, 移动立方体,点云 引 言 随着激光扫描系统在工业生产的中广泛应用,利用激光扫描仪获取到的深度数据进行场景的三维重建在数字古建、文物保存等领域具有广阔的应用前景,传统的处理方法利用三维处理软件对点云数据进行处理,获取场景的三维模型。随着三维建模技术的不断发展,出现了大量复杂的可视化处理算法和开发工具。本文研究了基于三维可视化工具包VTK在可视化开发过程中常用到的场景绘制算法及其实现。 一、VTK简介 VTK(Visualization Toolkit) 是美国Kitware 公司开发的一套三维可视化图形系统,封装了目前许多优秀的三维数据场可视化算法,可对数据集进行各种变换和操作;支持多种语言,多种平台;生成图像的速度快;图形质量优秀,用户交互手段丰富[1]。 VTK 有图形模式和可视化模式两种不同的模式。图形模式主要用来将数据集的几何形状展示为直观的三维图形,并对实体、光照、照相机、绘制窗口等属性进行设置和操作,完成图像生成和用户交互的功能。可视化模式由两类基本的对象组成:数据对象和处理对象。在VTK 中,有5种数据集类型,分别是:Structured Points,Structured Grid、Unstructured Points、Polygonal Data、Unstructured Grid[2]。处理对象按功能分为三种:数据源对象、过滤器、映射器。数据源对象用于产生或接收数据集,并将其导入到可视化网络之中,是可视化网络的起点。过滤器用于对数据集进行各种算法的处理,它接收数据集输入,也可产生一个或多个数据集输出。映射器是可视化网络的终点,将处理后的数据集映射为可展示的几何形状[3]。 二、点云数据预处理 三维激光扫描仪能够快速获取近距离物体的三维信息,从而能够快速建立起物体的三维框架,三维激光扫描仪获取的原始数据就是点云数据,它是一种空间数据的集合,数据点之间是离散的,下图是利用激光扫描仪获取的云岗石窟局部点云模型图。 图1 云岗石窟佛像原始点云模型图 同时,通过激光扫描仪得到的点云数据量巨大,一般具有成千上万个数据点。通常激光扫描仪得到的点云数据是一个多行3列的矩阵,每行分别记录数据点的x,y,z三个坐标值,这样很容易设计出一种数据结构将点云数据存入数据库,方便数据存取[2]。图2是经过处理后的点云数据结构示意图。 图2扫描后点云数据结构图 获取点云数据后,一般需要进行预处理,包括:噪点去除,即去掉错误的数据;数据精简,由于点云数据量大,在不影响完整性的情况下一般需要进行精简。这些工作可以通过激光扫描仪配套的应用软件或二次软件开发包进行处理[4 ]。 三、基于VTK的体绘制及其实现 3.1间接体绘制 三维数据场是当前可视化研究的重点,也是实践中最常遇到的。 图3 体元角点函数值分布情况图 MC方法求等值面的算法流程如下:[5] (1) 将三维离散规则数据场分层读入内存;(2) 扫描两层数据,逐个构造体元,每个体元中的8个顶点取自相邻的两层;(3) 将体元每个顶点的函数值与给定的等值面值C0作比较,根据比较结果,构造该体元的状态表;(4) 根据状态表,得出将与等值面有交点的体元边界;(5) 通过线性插值方法,计算出体元边界与等值面的交点;(6) 利用中心差分方法,求出体元各顶点处的法向,再通过线性插值方法,求出三角形各顶点处的法向;(7) 根据各三角面片各顶点的坐标值及法向量绘制等值面图像。 Marching Cubes方法非常适用于规则点云数据建模。该方法能产生比较清晰的等值面图像,计算量较小,实时性好,便于数据远程传输,它只表现物体的表面,舍弃了物体内部的大量信息,在运行的时间效率方面,Marching Cubes方法时间复杂度低,绘制速度很快。VTK中的类vtkMarchingCubes封装了这一算法 3.2直接体绘制 第二类算法先对体数据进行分类,赋予每一体素相应的颜色和光照度,然后绘制到二维平面上。这种方法的最大特点是不需要构造物体表面的几何信息,而直接基于体数据进行显示,这种方法也称直接体绘制(Direct Volume Render)方法。 对体绘制算法研究,是当前图形学领域的热点,目前已经从单机的方式发展到了网络模式,分布式体绘制、远程体视化均有众多研究人员在深入研究。目前体绘制算法主要有:(1)光线投射

文档评论(0)

xjj2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档