您的当前位置:首页正文

基于Matlab三维数据点三角剖分方法研究

2022-01-21 来源:个人技术集锦
机械设计与制造 102 文章编号:1001—3997(201 1)06—0102—02 Machinery Design&Manufacture 第6期 2011年6月 基于Matlab三维数据点三角剖分方法研究术 刘伟哲 王忠良 陈昌建 马铁利 (’河北师范大学,石家庄050016)( 河北工业职业技术学院,石家庄050091) (。北京汽车工业控股有限责任公司,北京100021) Research of 3D data point triangulation based on Matlab LIU Wei—zhe ,WANG Zhong—liang ,CHEN Chang-jian ,MA Tie—li ( Hebei Normal University,Shijiazhuang 0500 1 6,China) ( Hebei College of Industy rand Technology,Shijiazhuang 050091,China) ( Beijing Automotive Industy Holrding Co.,Ltd.Beijing 100021,China) 【摘要】逆向工程中点云数据点三角划分处理,在散乱数据插值曲面构造、快速原型制造以及有 限元分析等方面有着重要的应用。根据Delaunay三角划分理论及Lawson优化准则,借助于Matlab中 用于点云处理模块快速实现了空间散乱数据点的直接三角划分,给出了数据点三角划分程序代码,并 以某小客车车身外表面点云数据处理过程加以验证,给出其外形数据点Delaunay三角划分以及凸壳包 络图,由此可以早期发现逆向设计过程中可能存在的问题,从而减少后期修改次数,极大缩短新产品的 开发周期,提高了设计精度。 关键词:逆向工程;预处理;Voronoi图;Delaunay三角剖分 【Abstract】/n reverse engineering,the triangulation of3D cloud data is payingan important role in inter— poltiaon surface reconstruction,rapidprototypingmanufacturingandfinite elementanalysisfor scattereddataIt focus on thefast triangultaion ftohe scatteredpoint cloud based on Delaunay triangultiaon and Lawson’s opti- mization law with the heZp ofpoint cloud module in Matlab.Then the program code for the tringaultiaon fdaota point is provided nd ais veriied fwith the point cloud dataprocess r external fa ominibus bo With the trian- ulgation and the convex hull ofthe point cloud,the problems in reverse engineering can be detected in the early stages.h can shorten the research cycle and then improve the design and manufacture process. Key words:Reverse engineering;Pre-process;Voronoi;Delaunay triangulation 中图分类号:TH12,U46文献标识码:A ・ j I— …l I商 , ( )}称作由点集Ⅱ生成的Voronoi图,它是S的一部分。 onoi多边形的边称作Voronoi边,Voronoi边的端点称作 逆向工程广泛应用在机械产品设计中,随着现代测量技术 这里Voronoi顶点。 的发展,可以得到实体表面数万甚至几十万特征数据点,这在理 Vor论上能够准确地模拟实体表面,但是大量的测量数据带来的问题 若至少存在一个Voronoi顶点,且在该顶点有四条或更多条 ronoi边相交,则此Voronoi图 (Ⅱ)为退化的。若Voronoi多 是计算复杂,计算时间很长,计算过程中计算机内存的占用也很 Vo )与 ( )共享一条Voronoi边,则 点与 点称作 大,所以现在逆向工程中的一个“瓶颈”就是数据点的预处理,而 边形 (如图1所示,是matlab中随机给定50个数据点得到的 这其中的一个重要研究课题就是数据点三角剖分,利用Matlab 相邻点,onoi多边形。 可以快速实现了散乱数据特别是大规模散乱数据的三角剖分,这 Vor对于迅速构建数据点之间的拓扑连接关系,进而快速准确地生成 优化的三角网格,为构造散乱数据插值曲面做好准备有重要的现 实意义。 2点云数据的三角剖分相关理论’ 2.1 Voronoi图(域分割) 给定实平面S(SCR )上一组点II={订 ’。, },其中,竹 = (xi, )则: ('fi)={ s:I  l— I l≤l l I Iforj#i} (1) 图1 Voronoi图 称作与1T 相关的Voronoi多边形,其集合Vs(II)={V(丌1), ★来稿日期:2010-08-06★基金项目:河北省教育厅指导项目(Z2010154),河北师范大学青年; ̄I(L2008Q17) 第6期 刘伟哲等:基于Matlab三维数据点三角剖分方法研究 103 2.2 Delaunay三角剖分 z=X(:,3); 若点集I1上的点不共线,则通过连接Voronoi图 (Ⅱ)上 disp(‘Waiting…’); 的相邻点可得到Delaunay三角剖分D(Ⅱ)。若VR2(1I)是退化 t=cputime; 的,则Delaunay三角剖分不是唯一的。如图2所示,是根据图1 %TES1=delaunay(x,Y); 的数据得到的Delaunay三角剖分的结果。 TES2=delaunay3(x,y,z); disp(‘size ofTES’), %disp(size(TES1)), disp(size(TES2)); %trisurf(TES1,x,Y,Z,’FaceColor‘,’r’,‘EdgeColor’,‘none’), lightingphong,shadingflat,axis square,title(‘2-ddelaunay’); %view(【一60,1o]) %trismesh(TES1,x,Y,z,‘EdgeColor’,‘k’),lighting phong, xaisequal,title(‘2-ddelaunay’); tetramesh(TES2,X,‘FaceColor',‘none’,‘EdgeColor',‘k'),lighting 图2 Delaunay三角剖分 phong,axis equal,title(‘3-d delaunay’); 2.3 Delaunay三角剖分优化准则 camorbit(37.5,60); xlabel(‘X’); Delaunay三角剖分有很多特性,在构建搜索D(Ⅱ)算法时 %camorbit(dtheta。dphi)rotates the camera position around 的一个重要性质是最大一最小角度准则,又称为Lawson准则。此 the camera target by the amounts specified… 准则可叙述为,任意合并两个三角形且严格外凸的四边形Q,其 %in dtheta and dphi(both in degrees).dtheta is the horizontal 对角线的选取方法是使由该对角线分得的两个三角形的最小内 rotation and dphi is the vertical rotation. 角为最大,如图3所示,由于AABD和ACBD六个角中的最小角 tt=cputime—t;disp(tt);  ̄.LAABC和ACAD六个角中的最小角Ol大,所以BD连线为所 disp(‘ok’) 求的对角线。Sibson指出Delaunay剖分是唯一满足Lawson准则 %hold on,plot3(x,y,Z,‘+r’); 的三角剖分方法。Lawson证明了此准则与圆准则是等价的。若k 是通过Q上任意三个顶点的圆,并且第四顶点在圆k的内部,则 连接此顶点与其对应点的线即为所求的对角线。对非退化的 立 Voronoi图 。 (Ⅱ)而言,D(Ⅱ)是唯一的 。 。 : ,∞ 一, 一 皇曙:= 兰三苦醚 2 :嚣 芝 :=: ■■_■■_ ■■■_■■■■■ 图4轿车车身部分包络图 图5轿车车身部分数据三角化 4结论 MATLAB采用了面向对象技术,以矩阵运算为基础,用户可 以非常方便地建立自己的函数或应用程序,特别适于科学计算、 图形图像处理、数据的拟合与可视化,在海量数据点预处理中快 图3 Lawson准则 速实现了空间散乱数据点的三角化,提高了设计精度和速度。 3对三维散乱数据点进行三角剖分 参考文献 利用Delaunay三角剖分得到的某轿车车身表面的点云处理 [1]金涛,童水光.逆向工程技术[M].北京:机械工业出版社,2003. 结果,处理时以XOY作为数据基点,该点云有85730个数据点, [2]朱心雄,等 由曲线曲面造型技术[M].北京:科学出版社,2000. 得到171271个三角形,程序代码如下所述,Matlab程序输出的结 [3]David Richard Mark Herriek.Wavelet methods for cul ̄e and surface estimation[D].Ph.Dthesis,SchoolofMathematicsoftheFacultyofScience, 果,如图4、图5所示同。 University of Bristol,2000(1). function 3D_delaunay2 [4]Roman Kazinnik and Gershon ElbeLOrth0g0nal Decomposition of Non— load backshoukou 2529.asc UniformBsplineSpacesusingWavelets[C],1997,16(3). X=backshoukou 2529; 15 J Hong—Wei Lin,Chiew—Lan Tai,Guo-Jin Wang.A mesh reconstruction algorithm driven by an intirnsic propeny of a point cloud….Computer- x=X(:,1); Aided Design,2004(36):1-9. v=X(:,2); [6]Mathworks Company.MATLAB v6.5 R13 Online help document,2000. 

因篇幅问题不能全部显示,请点此查看更多更全内容