可视化类库VTK在三维建模中的应用_第1页
可视化类库VTK在三维建模中的应用_第2页
可视化类库VTK在三维建模中的应用_第3页
可视化类库VTK在三维建模中的应用_第4页
可视化类库VTK在三维建模中的应用_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、可视化类库VTK在三维建模中的应用第28卷第1期2007年2月首都师范大学(自然科学版)JournalofCapitalNormalUniversity(NaturalScienceEdition)可视化类库VTK在三维建模中的应用杨丽萍张爱武(1.首都师范大学三维信息获取与应用教育部重点实验室,北京100037;2.包头师范学院计算机科学系,包头014030)摘要数据压缩,平面分割来减少数据量,分别采用不同的建模方法,如Delaunay三角化建模,轮廓线建模,MarchingCubes建模,实现了三维数据的建模.关键词:可视化类库VTK,三维重建,散乱数据,三角化,轮廓线,Marchingu

2、bes.1引言三维重建的任务是从二维图像中或从激光扫描得到的散乱点中抽取三维信息,通过对这些信息进行分类,综合等一系列处理,在三维空间中重新构造起图像中的或真实物体的相应形体.因此,三维重建年来,三维重建得到很大发展,它的成果可应用于城市数字化,自然景观维护,三维识别,三维游戏,建筑结构调查,光照分析,城市规划与管理,街道的空间信息分析,任务模拟,训练,仿真,战略规划等方面,因此,三维重建有很好的发展前景.VTK(VisualizationTbolkif)是美国Kitware公司开发的一套c+类库,它吸收了众多优秀的图像处理和图形生成算法,是一个源代码开放,面向对象的计算机图形,可视化技术及图

3、像处理软件系统,可在c特点:(1)封装了目前许多优秀的三维数据场可视化算法,可方便地对数据集进行各种变换和操作.(2)支持多种语言环境,并具有多种程序语言之间的代码转换功能.(3)可移植性:跨平台使用可在Windows系统或Unix系统中运行.(4)可扩充性:它是开放源代码的,因此,开发人员可对源代码修改或增加自己的新类.(5)生成图像的速度快,图像质量优秀.2散乱数据的三维重构散乱数据的三维重构其难点在于,如何在数据点集中自动地得到邻近点间正确的拓扑连接关系+而正确的拓扑连接关系将有效地揭示散乱数据集所点集组织形式的不同,可以把散乱数据点集分成3类:(1)点与点之间毫无内在联系的数据点集称为

4、无组织数据集,此类数据点一般都蕴涵着一个隐含的假设:存在一个流形表面插值或拟合这些数据点;(2)主要来自于医学图像,称为轮廓线(contour)或体数据(volume),数据点呈层状分布,每一层代表物体的一个剖面;(3)是深度散乱数据,主要由三维激光扫描测距技术所获得,数据集往往由多幅深度图像所组成.目前主要有三种无组织散乱数据的三维重建方法.一种是构造点到物体表面的有向距离场,该距离杂的法向一致性检查和等值面抽取,重建非常耗时,采用隐函数曲面或参数曲面来逼近或拟合数据点73首都师范大学(自然科学版)2007钷果是一个三角形(二维)或四面体(三维)的凸包,并不表示真正的原物体表面,其中包含许多

5、冗余的三角形或四面体.Edelsbrurmer提出了a.shape的概念,接圆半径大于a的四面体,三角形和边得到重建表面.对于均匀一致的数据点集,a.shape方法很有效,但由于数据点集的不均匀性或表面的某种不连续性,有时很难自动选择合适的a值,以保留需要的三角化元素,删除不需要的所有元素.最典型的三维表面重构方法是Delaunay空间三角化方法,虽然Delaunay三角化方法已经作为一种成熟方法在二维平面区域三角化中被广泛采用,但在三维不规则三角网(3D.TIN)自动生成中却遇到了判据的对角线交换规则不再成立,而且基于外接圆判据的Delaunay三角化一般也不能保证生成的网格质量.Hugue

6、sHoppc对三维重构算法作了详细描述,其算法能够从表面数据及体数据来恢复表面,但对不规则三维离散点集的边界及尖锐的特征区域不能面重建算法,由于其舍弃了许多有用的信息,如表面法向,数据点的采集方式,隐含的数据点连接关系等,尽管在表面的光滑区效果比较好,但在曲率比较前还没有一种完全基于无组织三维点的三维表面重建方法能够在任何情况下都产生正确的结果.3三维建模前的预处理近年来,激光三维扫描技术取得了巨大的发展,并广泛应用到各领域,使得对三维数据的处理和压始数据是一种点云数据,这种点云数据是一个空间数据的集合,数据点之间是离散的,散乱分布的,同时点云又是一个海量数据的集合,通常含有大量的数据点,存储

7、量巨大,必须对原始点云数据进行压行模型的构建,其网格的数据量就相应的非常大,会法被快速地处理,交互式应用也就不能很好地实现.所以在保证模型表面局部细节的前提下,必须进行一定的数据压缩,去除冗余数据,以减小计算的时间复杂度,同时也可以良好地设计模型的输出接口,方74便其它系统对模型的接收.因此,数据的各种处理,如数据建模,模型显示等也必须针对压缩后的数据来处理.'平面分割是将距离图像分割成若干互不相交的用点的局部平面拟合来实现平面分割,同时将处于同一平面上的三角网格用平面片来描述,也可以压缩数据量.4三维建模主要使用三维可视化类库VTK进行建模,分别采用不同的建模算法,如Delaunay

8、三角化建模,轮廓果,Delaunay三角化建模采用多边形来对物体的表面进行拟合,这是最常用的一种方法,由于空间任意三点总能找到通过它们的平面,因此,经常被选用的多边形是三角形.计算量也比较小,但是忽略了物体二维数据切片(DataSlice)中逐一提取闭合的等值线,然后将相邻切片的等值线相连接,形成曲面网格逼近等值表面.所以这是一个基于面的体视化算法,它依据物体的空间顺序遍历体数据,对每个数据切片,定义一个阈值,找出与闽值相对应的等值闭合曲线,简单,但是有很大的实用性,在很多领域都有应用.MarchingCubes建模采用空间分解的方法,对空间体元进行不断的切割处理,最后得到一个由规则体构的内在

9、信息,从而实现体数据的表达.采用三维可视化类库VTK中的vtkDelaunay3D类实现表面格网的构造:vtkPolyDataprofile=vtkPolyData:New();profile一>SetPoints(points);vtkDelaunay3D*del=vtkDelaunay3D:New();del一>SetInput(profile);del一>BoundingTriangulationon();del一>SetTolerance(0.O1);del一>SetAlpha(3);这里points为vtkPoin

10、ts点集.第1期杨丽萍等:可视化类库vTK在三维建模中的应用当输入不同的数据点集时,以上程序实现的效果如图I,图2,其中图2由于数据点很密,构网所需放大后才能看到三角网片.图1由随机点构造的三角网lI私-蓐llIIlIIqt,;_-HP.H._鳗|l酲黼日g_露曩i霾霞l疆I_礴髑曩图2由人脸扫描数据点构造的三角网由于激光扫描设备精度高,所获得的数据集往往非常巨大.对人头进行扫描,所获得的三角形数量一般为30万个.对于这些复杂的网格模型,常用的商业三维图形处理软件无法处理和编辑这样大的数的实时绘制,所以必须根据数据之间存在冗余的特视化类库VTK中的VtkDecimatePro类实现三角面片的消

11、减,消减后的效果如图3:对于一般的表面描述方法构造的三维表面,总要通过一定的方法进行平滑处理,才能达到比较满-l鲁馥癌离翻融_礴l.-嚣霞一一一_隧一_图3对三角网消减后的效果图vtkSmoothPolyDataFilter类和vtkPolyDataNormals类实现三角网片的平滑,用vtkSmoothPolypataFihe类处理后的效果如图4:lr瑚?嗍Il如1I唧l蛋一随啊E踵_礴一_豳雷l霉霪I豳目霹雷r1一一譬一_图4对三角网平滑后的效果图进一步用vtkPolyDataNormals类处理后的效果如图5:4.2轮廓线建模'采用三维可视化类库VTK中的vtkC0ntourFi

12、lter类实现轮廓线建模:vtkGaussianSplatterpopSplatter=vtkGaussianSplatter:New();popSplatter一>Setlnput(profile);popSplatter一>SetSaqmpleDimensions(50,50,50);PopSplatter一>SetRadius(0.05);PopSplatter一>ScalarWarpingOff();vtkContourFilterpopSurface=vtkContourFilter:New();popSurface一&

13、gt;Setlnput(popSplatter一>GetOutput75首都师范大学(自然科学版)2007正r1-融一?t;It.11,1l_ItftEf嬉i1日.一目i|目El¨一.:|鼍一i罄l霪蕊雪豳'霞黧鞠_警_一l-lll.Ri_j_ll置l霪霾li霍誓霞'll_目目I目rI隔目'一图5对三角网进一步平滑后的效果图popSurface一>SetValue(0,0.01);建模后的效果如图6:,图6轮廓线建模效果图采用三维可视化类库vI'l(中的vtkMarchingCubes类实现建模,vtkMergePoints

14、*locator=vtkMergePoints:New();locator一>SetDivisions(32,32,46);locator一>RetainCellListsOft();locator一>SetNumberOfPointsPerBucket(2);loeator一>AutomatieOff();vtkMarchingCubes*iso=vtkMarchingCubes:Newiso一>Setlnput(v16一>GetOutput();iso一>SetValue(0,l150);is

15、o一>ComputeGradientsOn();iso一>ComputeScalarsOff();iso一>SetI_ocator(1ocator);建模后的效果如图7:5结语图7MarchingCubes建模效果图本文采用VC+6.0作为开发平台,引入三维可视化类库v1'l(,分别采用不同的建模方法,如Delaunay三角化建模,轮廓线建模,MarchingCubes建维模型不仅能够提供场景可视化和虚拟漫游方面的功能,更可以满足数据的存档,测量和分析等更高层次的需求.这一类需求尤其适用于城市数字化,城市规划与管理,自然景观维护,三维识别,街道

16、的空间信息分析,建筑结构调查等领域,有明确的应用前景和巨大的商业价值.参考文献sitesJ.IEEEComp.Graph.andApplic.,23(6):3241,2003.2BeslPJ,MckayND.Amethodforregistrationof3一DshapesJ.IEEETransactionsonPauernAnalysisandMachineIntelligence,1992,14(2):239256.3YokoyaN,1.evineMD.Rangeimagesegmentationbasedondifferentialgeometry-AhybridapproachJ.IE

17、EETransactionsonPattemAnalysisandMachineIntelligence,1989,11(6):643649.(下转第82页)76首都师范大学(自然科学版)2007年TheResearchofScanningDataBasedonRiegl3DLaserScannerZangKe(TheKeylabofeducationministryof3Dinformationacquisitionandapphcation,CapitalNormalUniversity,ijins100037)AbstractAlongwiththedevelopmentof3Dlase

18、rscanningtechnology,the3Dlaserscannerwouldbeappliedtolotsoffield.Inthispaper,itintroducedtheresearchactualityof3Delementsof3DZ420iIJIserscanner.Finally,thepaperexplainedthathowtoacquiredthescanningdata,howtodealwiththesedataandrebuiltthe3.Dmodelprimarily.Keywords:3DLaserscanner,Dataacquisition,Regis

19、tration,Modeling作者简介臧克,1982年,男,汉族,籍贯河北,首都师范大学资源环境与旅游学院2004级研究生,研究方向为地图学与地理信息系统.(上接第76页)4J.Hu,S.You,andU.Neumann,"ApproachestoLargeScaleUrbanModeling"J,IEEEComputerGraphicsand69.150.6王青,王融清,鲍虎军等.散乱数据点的增量快速曲面重建算法J.软件,2000,11(9):12211227.7梁荣华,陈纯,潘志庚等.一种面向三维点集的快速表面重构算法J.中国图象图形,2003,98A(1):6367.TheApplicationof3DVisualizationToolkitin3DReconstructionYangLiping''ZhangAiwu(1MinistryofEducati

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论