(控制理论与控制工程专业论文)海量数据点三维重构关键技术研究与应用.pdf_第1页
(控制理论与控制工程专业论文)海量数据点三维重构关键技术研究与应用.pdf_第2页
(控制理论与控制工程专业论文)海量数据点三维重构关键技术研究与应用.pdf_第3页
(控制理论与控制工程专业论文)海量数据点三维重构关键技术研究与应用.pdf_第4页
(控制理论与控制工程专业论文)海量数据点三维重构关键技术研究与应用.pdf_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

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

文档简介

,坶麓数搬点:潍蕊| 句关进技术辨究b j 近用 摘要 逆向工鼷中基于意薮的三雅模整重建,程诲多皮精中具寄熏簧意义。然而测 量系统帮三维c a d 系统之阊无法怠接结合,因为测爨得到的数摄跫海爨散乱点, 三维c a d 秃法对之进行离散烂殡。这戒兔遂辩工程瓣个瓶蘸。零论文磷究设诗 一个t e s t 3 d 软件,其设计思想鼹:第一步作为三缎扫描仪器和三维c a d 软件的 接翻模块,搭起二者之阈的桥粱,然后在此蕊础上研究直接由点云做面的处理方 法,隧数愚邋过对熹云楚理矗熬誊接输赉霹供c a m 较俘往霜酶瓣瑟模鼙。 本论文的第一章对逆向工裰进行了简单介绍,说明了本论文研究内容在逆向 工羧率耩熊鹣霞置,势篱攀奔绥鬻重点磷炎稳内蜜。第二章走甍纂攘述了t e s t 3 d 软件的基本功能,然届介绍了三维图形编程所需要的一些基本联论。第三章介绍 了软件中用判的三项关键技术:面向对象技术、o p e n g l 以及多线程编程技术。 第魏拳对庆凑数点秘建熬线遴行了研究,绕避嚣淤楚箨式遂,撼建k 个繇除嚣 b e z i e r 曲线拼合产生的复合曲线来代替单一的商阶b e z i e r 眭趋线,并保诞曲线之 溺囊尊光漤避渡。第五搴磷究了热褥鸯动由患我寻我姆,霞点云豢。邋过零技邻近点 计算曲率,并通过曲率大小得到特征点云带。第六章探讨了由海登散乱点重构曲 面的技术,并提出了种简单高效的曲面熬构方法。第七章介绥了f o e s 接口, 并说明努簿实现这秘接弱。第八蕈对全文遴雩亍了总缝。 关键词:逆向工程;海鼙散氖点;点云处理;缓线云i耨校曲线; 麴嚣重梅 a bs t r a c t 3 dm o d e lr e c o n s t r u c t i o nb a s e do np o i n t c l o u d si nr e v e r s e e n g i n e e r i n g h a s s i g n i f i c a n ta p p l i c a t i o ni nm a n ya r e a s h o w e v e r m e a s u r e m e n ts y s t e mc a nn o tl i n k w i t l l3 dc a d s y s t e md i r e c t l yb e c a u s et h em e a s u r e dd e n s es c a a e r e dd a t ac a r n o tb e p r o c e s s e de f f e c t i v e l yb y 3 dc a ds o f t w a r e t i i si sac h o k e p o i n t i nr e v e r s e e n g i n e e r i n g n l i s p a p e r r e s e a r c h e sa n dd e s i g n sas o f t w a r en a m e dt e s t 3 dt h e f o l l o w i n g i st h em a i ni d e a s :f i r s t l y , i ts h o u l db e c o m et h el i n k e d p a r t b e t w e e n m e a s u r e m e n ts y s t e ma n d3 dc a d s y s t e m t h e n ,i ts h o u l dc a nr e c o n s t t a c ts u r f a c e f r o mp o i n t c l o u d sd i r e c t l yi no r d e rt oo u t p u ts u r f a c em o d e lt h a tc a l lb eu s e db yc a m s o f t w a r ed i r e c t l y i nt h i sp a p e r , t h ec h a p t e r1 i n t r o d u c e st h ec o n c e p to fr e v e r s ee n g i n e e r i n g ,s h m a7 s t h ep o s i t i o nt h a tw h a tw er e s e a r c hl i e si nr e v e r s ee n g i n e e r i n ga n ds k e t c h e st h em e i n c o n t e n to ft h i sp a p e r i nc h a p t e r2 ,t h eb a s i cf u n c t i o n so ft e s t 3 da r ed e s c r i b e ds i m p l 3 t h e n ,s o m eb a s i ct h e o r i e sa b o u t3 dg r a p h i cp r o g r a m m i n ga r ei n t r o d u c e d t h r e ek e y t e c h n i q u e s a r ed e s c r i b e di n c h a p t e r3 t h e y a r e o r i e n t e d o b j e c t ,o p e n g i a n d m u l t i t h r e a d i nc h a p t e r4 w er e s e a r c haw a yh o wt og e n e r a t ec u r v eb yd i s c ;e l :ep o i n t s , t h ew a yu s e ss e v e r a ll o w - o r d e rb e z i e rc u r v et os u b s t i t u t eo n eh i g h - o r d e rb e z i e r c h i v ei no r d e rt oa v o i dc o m p u t i n g h i g h o r d e rn e g a t i v em a t r i x t h ec u r v ep r o d u c e db y t h i sw a yh a sg o o ds m o o t h n e s s t h ec h a p t e r5s t u d i e sh o wt og e n e r a t ef e a t u r ec u r e a u t o m a t i c a l l yf r o mp o i n t c l o u d s at e c h n i q u et h a ts e a r c h e sc l o s ep o i n t sa n dt h e ng e t s f e a t u r ed o m a i nb yj u d g i n gt h ec u r v a t u r ei nc h a p t e r6 ,w ed i s c u s st h et e c h n i q u ea b o t l t s u r f a c er e c o n s t r u c t i o na n d p r e s e n t a s i m p l e a n de f f e c t i v e w a y t h ec h a p t e r 7 i n t r o d u c e st h eb a s i cc o n t e n to fi g e sa n ds h o w sh o wt or e a l i z ei t w ec o n c l u d e di n c h a p t e r 8 k e v w o r d s :r e v e r s e e n g i n e e r i n g ,d e n s es c a t t e r e dd a t a ,p o i n t - c l o u d sp r o c e s s i n g , c l o u ds e c t i o n s ,f e a t u r ec u r v e ,s u r f a c er e c o n s t r u c t i o n 学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表或撰写过的研究成果,也不包含为获得东南大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 、 j, 签名:赶垂兰日期:型生立2 古 关于学位论文使用授权的说明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位 论文的复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人 电子文档的内容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论 文被查阅和借阅,可以公布( 包括刊登) 论文的全部或部分内容。论文的公布( 包 括刊登) 授权东南大学研究生院办理。 签名:兰霉墨垂导师签名:蕴皇丝 日 期:左翌主:兰:墨垂 ;哿量数据柱三维重掏必继投求研究f _ 心用 第一耄绪论 刘- 1 逆向工程的产生背景与广泛应用 随着社会需簧帮科学技术的发展,产品的竞争曰益激烈,市场对产品的输格 和性能更加敏感,产品更新的周期也越束越短,产品需求品种增多,产品的更新 换代菝繁、懿羹变夸。嚣瑟要求滚诗考不毽缝穰攒专场豹要求缀浚遣设诗密薮产 品,而凰能在尽可能短的时间内制造出成品,进行必要的性能测试,征求用户意 跫,荠遴毒亍修改,最爱影残投救毒场豹定型产熬。恧黪统熬产燕开发方式逐灏 难以满足这种要求。逆向工程技术 l 卅,尤其是快速逆向工程技术则以其独特的 忧势在产品开发中发挥越来越大的作用。 逆向工程技术在实践中其有十分广泛的需求。概括起来,逆向工程可以在以 下诸多方面发挥霭要作用1 5 1 : ( j ) 屠蘸,诤多努形浚诗瑟还难疆誊接焉诗冀辍透纾菜整赘体( 如复象静艺术 造型、人体和其他动植物外形等) 的三维几何设计,而更倾向于用黏土、木材或泡 沫望辩进行褪娥乡 影设诗。这羧瀑要遴过遂彝王程将实物模型转化荛三维c a d 模型。 ( 2 ) 由于工蕊、美观、使用效果等方霾的原隧,人 j 经掌要对已有的构件馓髑 部修改。在原始设计没商三维c a d 模型的情况下,若能将实物构件通过数据铡量 与处理产生与实际相符的c a d 模型,对c a d 模型进行修改以后再进行加工,将显著 提高生产效率。困魏,逆向工程在改墅设计方蠢筲戳发挥不可替代的捧并i 。 ( 3 ) 以已有产品为基准点进行设计已经成为当今的一条设计理念。目前,我国 在浚诗铡造方瑟疆发达辫家还煮定懿麓歪,剥爝遂意工程技术可鞋充分啜| | 殳国 外先进的设计制造成果,使我国的产品设计立于匣高的起点,同时加速菜些产品 瓣国产他速度。 ( 4 ) 某些大烈设备,如航空裁动机、汽轮机组锌,常会因为某一零部件的损坏 丽停止运行,通过逆向工程手段,可以快速生产这些零部件的替代件,从而提高设 备的利髑率和使用寿命。 ( 5 ) 借助于朦析x 射线摄影法( c t 技术) ,逆向工程不仅可以产生物体的外部 形态,焉盈可以浚速发现、度量、定位麓俸的凌部缺貉,驮嚣残为王监产麓无损攘 伤的重臻手段。 ( 6 ) 裂震遂蠢工程手段,可以方便遗产生基予模型懿计箕捉援觉。 ( 7 ) 通过实物模型产生其c a d 模型,可以使产品设计充分利用c a d 技术的优势 并适应镪能化、集成化的产品设计制造过程中鲍信息交抉。 东南入学烦l 论义海量数据点三维重掏关键技术研究与j 训羽 1 2 逆向工程概念 传统的产品开发,一般是首先有设计人员根据市场需求抽象出产品的功能描 述,接着在c a d 造型软件中进行产品的概念设计,再在此基础上进行详细设计, 最后完成其物理实现,即制造出产品。 为了实现快速产品开发,设计工程师常常需要以己知的样件( 模型) 为依据 或参考原型,进行仿形、改型设计或工业造型设计。比如,在摩托车、汽车车身 和覆盖件装饰件等的工业设计和详细设计中,形状独特而复杂的自由曲面件一 般不能直接建立c a d 模型,往往是以制件模型( 如粘土模型等) 或经手工进行修 改后的样件为设计原型;没有图纸和图纸无法得到的已知复杂形面的产品造型或 磨损零件,等等。这时就要求根据这些模型的表面测量数据,基于新的设计概念 和功能描述重构c a d 模型,然后用快速原型或数控加工方法得到样件并进行反复 优化评估,直至得到满意的设计结果。这种对实物模型先后进行仿形测量、c a d 模型重构、模型加工并进行优化评估的设计方法称为逆向工程( r e v e r s e e n g i n e e r i n g ) 。 随着计算机技术、快速仿形测量与数据处理技术、曲面重构技术、快速原型 技术等发展兴起,快速逆向工程技术( r r e :r a p i dr e v e r s ee n g i n e e r i n g ) 应运 而生,并迅速发展而趋向成熟,逐渐应用到生产实践中。这进一步提高了开发速 度,缩短了开发周期。r r e 技术主要包括以下三个方面: ( 1 ) 快速仿形测量0 1 在满足既定要求( 如功能关系、装配关系、精度要 求等) 条件下,用三维数字化仪和其他测量系统对模型表面进行三维快速扫描测 量,得到大量的模型表面离散数据。 ( 2 ) 曲面重构技术 1 1 - 2 0 首先将仿形测量的模型表面数据进行处理,然后 进行曲面拟合,实现曲面的模型重构,并进行修改和优化设计。 ( 3 ) 快速原型技术 2 1 - 2 4 1 利用快速原型技术实现c a d 模型的快速加工,并 对设计结果进行评估检验。 通常快速逆向开发系统由以上三个模块组成,系统框图如图1 i 。 图1 i 快速逆向开发系统框图 簿蹙敬掩舞二缝羲钩关整技戚l t 拜梵。l 随豫 1 3 本课题的意义 在逆向工程中,我们一般是通过三坐标测量机( c m m ) 、激光测量机、光栅扫 攒仪或工监c t 等先遴躺快速涮量系绕获毅海量教琵数据点( 点云) ,经过对这些 点露数据的过滤处理和无缝拼谈,由攒接瑟瓣点云块速季亍锈餐褥蚕截线云,再在 点兢线的基础上构造丽。其中,测量部分篇予硬件模块,而其聪续操作属于软件 模块。目前,国际市场最有影响的c a d 软件谢:c a t i a 、p r o e n g i n e e r 、u g 、i d e a s 、 e u c l i d 等,这些国外的软件占据了c a d 软件市场的7 0 以上的份额,每年的销 售额数菩琵美元。然露露,象c a t i a 、p r o e 黼i n e e r ,u g 等这几个蘑际上最流行的 c a d 软件都无法对海爨散乱数据点壹菝送簿楚理,嚣溅量霉蘩豹点云壹予产品尺 寸、拓扑等各种原因谯绝太多数情况下都怒经过多次测量拼接稻得到的散乱的海 熬数据。因此,对于广大的c a d 软件的使用者,需要能对散乱海量数据进行点的 先期处理、得到有序的点、实现取线功能的中间软件模块。所以,当前国内急需 开发毒鸯圭躲识产权黥点云处理软件。遮对于鼹决逆向工程的瓶颈阔题、逆向工 稔亵我国静应爱露箍广骧及提裹我国毒逡簸豹竞争力裁有t 分鬟要熬意义。 本软件的设计思想是:第一步作为三绒扫描系统和三维c a d 软件的接口模 块,搭起二者之间的桥梁,然后在此基础上研究直接由点云做筒的方法目的是 通过对点云处理后能崴接输出可供c a m 软件使用的曲面。 。4 主要技术灌点与重点开展的王 乍 本课题主要开展的工作包括对整个系统的结构的设计:实现三维图形的显 示;点云的预处理;荻取有序的截线云:构建曲线:自动生成特征曲线;由点云 熏构曲面。 要瓣凌懿技拳涟爨主要热下: 数据输入输獭速度。本文针对豹始理数据是海量散氖数据,经常达黉上 百万个点。因此读和写数据模块应设计得简洁高效,以降低读、写数据的等待时 i 司。 2 内存的分配。闲为海量的数据,对内存的需求就很大,怎样合理的利用 渴露,爱之跌寿强弱餐餐发挥塞器量大黪凌效,对于整个软 孛懿瞧裴是至关重要 静。可以说是整个系绞中懿瓶颈遗带。 3 数据结构的设计。良好的符合实际需要的数据结构能使对数据的操作简 便、直观、高效。本软件对数据的操作频繁,数据结构的好坏将极大的影响系统 f ; ) 性能好坏和编程的方便与否。我们把爱操作的点、点云、线、面等都用对象来 泰褒夫学礞七论吏海潼数籀点= 维垂捣关毽技零辑究每癍臻 表示,把基本的操作封装起来,并用适当的数据结构进行组织,使操作简单、禽 效。 4 由型值点反求控制点,o p e n g l l 2 5 - 2 s 1 提供的算法是由融知控制点求曲线, 然露诗冀出斡篷线势不经遥控制患。露我髓实际工终中往往嚣黉麴线经过一组点 ( 帮整值点) 。怎样囱缀型蓬点霞楚抉瀵遣得至8 控裁赢是一个难点。在计算橇 上究成这种型值点反求控制点就要用到短阵求逆。这样,照勰值点数目增加, 矩阵的阶数也便随之增加,求逆的运算量就会急剧增长。我们孝巴由k 个低阶的 b e z i e r 曲线拼合产生的复合曲线来代替单一的商阶b e z i e l :,避开高阶矩阵的求 逆麓蘧,劳保迂簦线之阀髂光滑过渡。 5 。求特征鏊线。簌实际貔薅主,慧蠢一些表征它兹主要媾征懿透赛整线。 怎样由散乱的海量数搬自动求得特征曲线怒一个复杂的问题。我们先找出特征点 云带,考虑到特征曲线所在之处往往曲率比较大,因此可利用曲率来求取特征曲 线。首先求取一个离散点的n 个邻近点,掰由邻近点用最小= 乘法求取法线,再 求餐热率。郧么我们撼趣率较大兹点找出来就是特征点云带。下一步的工作是搬 秘对特薤熹云繁迸行缓谨,穗确熬蔽爨褥缓麴线。 6 离散点的网格化与曲面重构。由于簧处理的点云都是缀过多次拼接的杂 乱的离散点,无法从像的存储顺序得到它的拓扑结构,即没法得知一个已知点的 邻接点,这样对点云谶行三角网格化就要丽临很多困难。我们先对离散点云进行 切割得到截线云,然聪瓣截线云进行排序,霉在两条有序的截线云之间梅建三角 瓣穆。然莓怼这些三麓瓣揍迸雩亍竞照、瀵絷麸瑟显示錾嚣。嚣蘩逶一步磁究载方 肉悬用低阶的b e z i e r 黼丽去遥近每子魏瑟片,并保证曲面片闽的光滑拼接。 7 i g e s 接口。各个三维c a d 软件在内部对于数据的描述芹日存储可能不一样, i g e s 为各个软件之阗的数据交换提供了统一的接口。因此,它也成了本软件和 其它c a d 软件接口的蓠逑。但 g e s 因其强大的描述能力和普遍适应性瓶变得十 分复杂,辍这撙酶令逶零接墨是箨王嚣爨绥大缦颓杂数王謦。 东南大学碳f 二论文海量数据点三维重构关键技术研宄与艇用 第二章软件基本功能与图形学理论基础 我们开发了一个三维点云处理软件t e s t 3 d ,开发此软件的主要目的是对在 逆向工程中由测量设备测得的点云进行先期处理,以提供给三维c a d 软件构建 模型使用。此外,在本软件中也完成了一些初步的曲面构建的探索。本章先对 t e s t 3 d 的一些主要功能进行简要介绍,然后对三维物体在显示器上显示变换的 图形学理论基础进行简单论述。 2 1 软件的基本功能介绍 开发平台 本软件以p c 上的w i n d o w sn t 为开发平台,以v i s u a lc + + 6 0 为开发环境, 利用集成在v i s u mc + + 中的三维图形软件接口的新一代标准o p e n g l 进行编 程。用v i s u a lc + + 编的程序相对于其它编程工具有运行效率高的优势,而且 功能强大,而三维图形处理运算量大,对效率要求高,因此选用v i s u a lc + + 作为开发平台。而o p e n g l 始终贯彻了独立于软件平台的精神,它可以在w i n d o w s 系列、u n i x 、l i n u x 等不同系统上实现与v i s u a lc + + 的完美结合,使得o p e n g l 编程得心应手。 功能介绍 对点云操作的主要功能如下:读写数据和显示、平移、旋转、放缩、稀释、 删除点、拼接、切块、取截线云、构造曲线、求特征点云带以及构面。 读写数据和显示 由于逆向工程中由扫描系统得到的数据量极大,经常达到上百万个点,这样 海量数据的读写与显示极其费时,为了把数据图形快速显示,对程序的算法执行 效率要求极高。本程序算法运用v c 和o p e n g l 中的一些函数功能进行语句优化组 合,使数据的读取与显示速度比常规情况下有了极大的提高。 平移、旋转、放缩 三维图形比之二维图形的优势之一在于,我们能够从不同的角度对之进行观 察和研究,然而计算机的显示屏幕却只是二维的,我们可以通过设置景深的灰度 来展现整个画面的纵深感,但要想观测到三维对象的不同侧面,这还是不够的。 既然观察者的位置是固定的,我们就想办法让图形对象动起来。所以在这个软件 东南太学硕上论立海量数据点三维重壮j 关键技术研究t _ 脚用 中,我们设置了平移、旋转操作,而徽多时候,要想知道画面继节,需要对画蕊 的局部地方进行很清楚的观察、操作。故而在这个软件中我们媳加入了相应的放 缩功麓。 平移、旋转、放缩由于都是对整个对象的海量数据操作,计算量十分巨大, 较费时,霞藏澍算法黉求较裔。 稀释 输入数据的数据懋如果太大,会使平移、旋转、放缩的逶弹量太大,从而反 应对闽遣会相应豹增擞。嚣越,本软传提供稀释功能,这撵平移、旋转、放缨姻 运算爨可以仅为原先的几十分之一。用户可以先对图形进行稀释,当孛巴图形转换 到想要理察的部分,褥对它进行复原掇作。鸯时候,髑户不嚣要太高的精度,数 据量太大,给出很多用户觉褥是冗余的信息,也可对点云块进行稀释,再以稀释 后的点云为基础进行操作。从疆大大减少运箕量。 删除 蠡然凌套瓣溺量系统懿磷究己经取得了故起进步,溺量褥列斡数搭篷已綦本 满足骚求,特别是精度可达0 1 m m ,然而其还朱能达到智能化的水平,因此无法 鸯嚣分辨出潮鲞耱 摹譬鹜景貔。虽然譬攀景爵叛耀爱莉靛麓禳茇豹黑色,惶大多数 情况还是不可避免地带入很多无用的杂点,如果不把这些杂点去掉,将会影响后 矮取线稻 薮甏豹效暴,镬其天法精确瓣复瑰测量秘的缀貌。嚣窍些对嫉,我们强 然测遭到整个物体的点云数据,但我们只对其中的一部分感兴趣,这时,也需要 翮去其它我袋不霉要黢部分以减少点云处理熬工终蛩,扶焉攘块处理对闽。 拼接 程产品外形的测嚣过程中,通常不能在同坐标系下将产晶静凡何数据次 测出,其原因之一是产品的尺寸超出了测量的行程,二是在部分区域测量探头受 被溺实物的几何形状的干涉隧褥,不髓融及产晶的反鞭,蠢鹰将这些不同坐豁系 下的震定位数据变换劐同一坐标系中,这个过程称之为测量数据( 多视角数据) 的重定位,落帮捞餐。 切块 有的时候,需要把整块大的点云数据分割成几份到上百份。比如肖数据鬣极 大,一下予对整块点器对象避 亍处理可驻由予运算量匿大,运算太慢,造成等待 时间过长。所以我们考虑把点云以某矢量为轴,切割成n 等分,再分别对潺些 小块避行处理。这样就能热炔运行遮度。 取截线云 东宿大学矮t 论史 海鬣数接点三维熏鼹关键接拳磷宠逝臻 由于国际流行的三维设计软件无法对散乱的海量数据进行处理。因此,必须 对点云进行先期处理,对点进行排序等操作,使其以能被三维设计软件识别的格 式与数据结构重新存储的处理就显得尤其熬幕。其中,以线作为输出方式提供给 三维没诗竣 牛迸抒楚聪鹱是一静重要的方式。缀多流行旋三维设诗较馋都其有出 绘定线来褐造瑟戆强大功戆。线不瞧髓器定一个怼象戆基本轮臻,省去了设计簿 的大量前期工作量。而且,如果线取得足够密集,它就能提供构面的精确信息, 构造出来的面直接就能满足加工的要求。此外,线也可以直接掇供给c a m 进行控 制造型。 在本软传中,对线瓣抽取可以是任意憋一条线,也可以楚镶禽整个点云信息 戆缀磐。在多大赣废上褥现霹象模型,胃以透过调节线之麓熬鞭离,瓿瑟茬翻褥 刘线豹疏密程度。尤獒煎要的是本软件述撬供对线上的点进行排序的功能。经过 澍点线进行排序,为构造曲线、曲面提供了极大的方便。使构造谣的运算量大大 减少,从而使构造面农时间的性能上显示了巨大的优越性。 取点云线时为了馒生成斡点云更规则,往往并不是从原始点云中直接得到点 云,嚣是骞令重纛诗彝豹过程,生藏一些纛羧点。魏露稼谨生藏麓虚瓠点器量穰 掩臻始物体的信息、保证精度是一个需爨严谨的考虑和分析酌阀题。 构造曲线 可以由得到的脊序点构造b e z i e r 或n u r b s 曲线,再以曲线的形式把信息传 遴给三维c a d 软襻。我们要求生成静益线经过这些霄序点,这榉这些毒序点懿售 稳藏可以由錾线完整豹髂魏。孬把这些麴线存锫袋i g e s 酌文件形式。由于三维 翻口软件对曲线的操纵和表达能力较强,这样这些软件处理越来效率较高。在由 有序点生成曲线的过程中涉及由型值点反求控制点的问题。因为b e z i e r 或n u r b s 把输入的点作为控制点,而生成的曲线并不插值于这些点,因此,应通过一定的 冀法龙恕受僮点生成羧露l 点,再由这些裳戏鸵控制点擒建曲线,这条蓥线正好经 过覆先靛青穿点。爨髂舞法觅嚣。 求特征点云带 从海量点云数据中,寻找物体的特征区域,不仅是做特锻曲线的直接前提, 祗臆在滤出杂点,拼会蟪丽,由点生成抽磷( 根据特征区域,将熬个点云分割成 不瓣缝箨( 蚤令点云) ,鼹各个点云生成多令小冀夔藿,霉壤撵嚣要攒台) ,都鸯 十分重要的意义。本软停先对点云送行空澜划分,在照基璃上求取每个点翡邻邋 点,然后由这些邻近点用最小二乘法求取此点法向量,再由法向量根据一定的算 法求得此点曲率。我们知道,在特征区域,由于形状变化剧烈,曲率比较大。因 此出曲率的大小就可以分割整个点云数据,从而得到特征点云带。 9 末蠢又学壤 论文海燕鼗摇点三箍垂穆关淫技术麟宠与癌餍 构面 在机械c a d 作业中,会遇到大量的自内曲线、曲面设计问鼷,如汽车、飞机、 黔侮、楱其等的外形袭蕊,型腔表面的设计。基兹,在c a d c a m 皮爱方瑶,针对 爨巍麴垂静造鍪和燕工掰骰静大量骚究王幸筝,基本上帮是嚣绕入梳交互豹造型凌 讨方法和已知数学摸捌的情况下,走刀轨迹规划方面展开的。而对现有的自由曲 筒谶行重建和还原制造则是整个逆向工程中最为关键的技术之一。对于简单几何 形状的零件,建立其几何型面的数学模型比较容易,而对于复杂的自由曲面的零 件,则传统的数学分析方法难戬实现其仿澎魏工。因此,从邑测点云数据重建皇 囊麴瑟激实现蕊形麓王藏笼为重要。本软 串梅建蓥嚣豹方法麓,笼对点云遗嚣韬 割取得截线云,再对截线云排序,然后在此萋础上三角网格化,最后经过光照渲 染照示曲面。 2 2 相关的图形学理论基础6 刀l 2 2 。1 三维蚕影麓凡隽变换 三维几何变换煨二维几何变换的简单推广。二维几何变换在齐次坐标系空间 可用3 3 的变换矩阵液示,类似的,三维几何变换在齐次坐标空间中可用4 4 的变换矩阵表示。三维空间中的点( 墨y ,z ) 的齐次坐标定义为( ,y 。,孔,h ) ,其中, h 为不等予0 兹 壬慧嚣数,南= h x ,y h = h y ,屯= h z 。遴豢舞筵擎起觅,敬 ( x ,y ,;,1 ) 为( x ,y ,= ) 瀚齐次坐标。 为了建立三维空间中的几何变换,首先得建立三维坐标系,本次设计采用的 魑右手坐标系,即当拇指与某一坐标轴闭向时,四指所指的方向为该轴的正的旋 转方向。图2 1 说明了右手坐标系中的旋转方向。正确选择坐标系对于几何变换 鬻重要。 y z 旋转轴 x v 图2 1 三维坐标系 正的旋转方向 v 一= z 呻x x 呻v o 海量数据氯三维重掏天键技术研究1 与应用 如前所述三维图形的几何变换矩阵可用l 。= a 1 i ( 1 2 a 2 ia 2 : g i3i 口1 4 : a 2 3 - a 2 4 表示。平移 ld i l d 1 2口l3 i 变换从变换功能上乃d 可分为4 个子矩阵,其中:ld :;口:口:,l 产生比例,旋 l q 。 吒: d 。j h 转,错切等几何变换;k 。口。:a 4 3 】产生平移变换;ld :。l 产生投影变换;k 。】 l a 3 4 j 产生整体比例变换。 ( n ) 平移变换 平移变换将点p ( x ,y ,z ) 在三个坐标轴方向上分别移动距离f ,r 。和f :,得到 新的一点尸f ( 一,y ,z ) ,它们之间的关系表示为:p = p + r ,其中 t = i ,f ,: 。三维平移变换在齐次坐标系下的矩阵表示为: 如图2 2 所示 l0 01 00 txty oo 0 0 10 ,1 z ) : 图2 2 平移变换 ( 6 ) 比例变换 与二维变换类似,相对于参考点f 伍,弓,z ,) 作比例变换,旋转变换的过程 亦分为以下三步: ( 1 ) 把坐标系原点平移至参考点f ; ( 2 ) 在新坐标系下相对原点作比例,旋转变换: ( 3 ) 将坐标系再平移回原点。 : 口一口 ” d 让一 蛇 口一口 : 盯,口 簿蕊魏挺矗二维重籀关罐鼓最 # 究旖爱 若比例变换的参考点为,一,z ,) ,其变换矩阵为 i 100 0 ik 000 l 0l00 l l 0屯0 0 0 01 0 l l0 0s 0 l x f y sq ,1 j1 0 001 ( o ) 旋转交换 o s y o ( 1 一s y ) + y s 0 0 s = ( 1 s :) 1 l i ; z | 1 00 l0 01 y sz | 给定一点p ( x ,y ,g ) ,首先将p 点的y 和z 坐标表示成檄嫩标的形式,即 ( 薯孔z ) = 墨r c o s p ,r s i n 秽) ,其孛r = 0 _ y 2 + x 2 。将p 点绕x 麓旋转疗受磊, :霉鬟 阡晤祧 r l00o 10c o s o s i n o 0l 冀一( 学) 2 os i n oe o s 00 l b 。o , ( 2 ) 绕y 轴旋转 rc o s 00s i n o0 1 霞,e 移,一l 一:乎:。墨黟:l l 000 1 、 ( 3 )绕:轴麟转 x 虬o o 一 p。,。l = 东甜入学+ n p ! j j 论芷海量数据点三维重构关键技术研究+ 引通j r ,( 臼) = c o s 0 s i n 曰 0 o s i n 0 c o s 0 0 o oo 00 lo 0l 、 如果要绕空间任意轴r 只旋转口角,可按如下步骤实现: ( 1 ) 以r 为原点o ,r 鼻轴为o z 轴建立新的坐标系o x y z ; ( 2 ) 求出从坐标系o x y z 到坐标系o x y z 的变换m ; ( 3 ) 将图形对象变换到坐标系o x y z 中; ( 4 ) 在新的坐标系石面中绕晓轴旋转口角,变换为r :( 口) ; ( 5 ) 将图形对象变换回原坐标系o x y z 中,变换为m 。 这样绕尸。鼻旋转口角的变换为m r :( 臼) m 。 2 绕任意轴的旋转变换 设旋转轴a b 由空间任意一点a ( x 。,y 。,= 。) 及其方向数( 口,b ,c ) 定义,空间一一 点p ( x ,y ,:,) 绕a b 轴旋转目角到p 0 ,。,y ,。,z ,。) 。即要使 b ,y p z p 1 1 = i x ,y ,:,1 r 。 其中r 。为待求的变换矩阵。 求r 。的思路:以( x 。,儿,:。) 为新的坐标原点,并使一b 分别绕x 轴,轴旋 转适当的角度与z 轴重合,再绕z 轴旋转口角,最后再作上述变换的逆变换,使 之回到原点的位置。 整个过程中所求的中间变量有v = c 2 十62 ,c o s t 2 = c v ,s i n = b v , “:l o a l :口2 + 6 2 + c2 ,因为o a 为单位矢量,故“= 1 ,c o s f l = v l u = v , s i n 口= 一a “= 一a ( 1 1 使坐标原点平移到a 点,原来的a b 在新的坐标系中为0 。a ,其方向数 海量数据点三维重构建键技术研究l j 应用 为( x 。,y 。,:。) 。此变换矩阵为l 1 0 o x 。 0 l o y 。 ( 2 ) 使平面a o a 绕x 轴旋转口角,有r ,= l0 0c v 0 一b v oo ( 3 ) 让0 。a 。绕y 轴旋转角与y + 重合,有r 。= v0 00 oo 一口o o0 b v0 c vo o1 ( 4 ) p 再绕a b 轴旋转变为在新的坐标系中p 绕z 轴转口角, r = c o s 目s i n 目00 一s i n 目c o s 00 0 ool0 0oo1 ( 5 ) 再求r 。,r 。,l 的逆矩阵,求得 r 。= l r ,r ,r :r ,。r 。l 一 2 2 2 三维图形的显示 到 有 不管是对输入的三维数据进行各种处理,还是对处理过程中的数据进行再处 理,都必须“显示”出来给用户观察交互才能继续,但显示器屏幕或绘图纸,它 们都是二维的,如何将三维的物体( 图形) 在计算机的二维屏幕上显示出来,并 使之有立体感,这就需要将图形的三维坐标按一定的规则转换成二维屏幕坐标。 三维重构中运用上一节讨论的三维图形变换通过各种变换来实现,下面就介绍一 下三维显示的方法和相关概念。 2 2 2 1 三维图形的显示流程图 物体最初定义自己的局部坐标系( 模型坐标系) 中,经过适当的几何变换,它 以一定的形状、尺寸存在于世界坐标系的某个位置。在经过观察变换获得物体在 坐标系中的表示。观察坐标系中的视见体划定了可见物体所在的范围,裁剪之后 剩下的物体被投影到投影平面上的窗口之内,再由窗口至视区的变换将其变换 到设备坐标系中用于显示。整个过程如下图2 3 所示: o o o l d o 0 ,z 海鼙数据点二维重社j 关罐技术研究t j 膊川 图2 3 三维图形的显示流程图 世界坐标系:( w c :w o r l dc o o r d i n a t es y s t e m ) 为了使被显示的图形对象数字化。用户需要在图形对象所在的空间定义一 个坐标系,这个坐标系的长度单位和坐标轴之间要便于对显示对象的描述,此坐 标系就称为世界坐标系,也叫用户坐标系。它是右手三维直角坐标系,一般与用 户定义的形体和图素的坐标系一致。但它用于定义用户整图或最高层图形结构, 各种子图、图( 段) 、图素经调用屠都放在用户坐标组系的适当位置。 观察坐标系:( v c :v i e w i n gc o o r d i n a t es y s t e m ) 它是左手三维直角坐标系,可在用户坐标系的任何位置、任何方向定义。 它有两个主要用途,一是用于指定裁剪空间,确定形体的哪一部分要显示输出: 二是通过定义观察( 投影) 平面,把三维形体的用户坐标变换成规格化的设备坐 标。观察平面是在观察坐标中定义的,通常其法向量与z 重合,和d 。间的距 离0 。0 ,为r ,用户在此平面上定义观察坐标窗口。 局部坐标系: 有时用户采用相对于物体的坐标系,此坐标系称为局部坐标系。 设备坐标系: 计算机对数字化的图形对象作了必要的处理后,要将它在图形器或绘图纸上 绘制出来,这就要在显示屏幕上或绘图纸上定义一个二维坐标系,这个坐标系就 称为屏幕坐标系,也称为设备坐标系。该坐标系的坐标轴常取为平行于屏幕或绘 图纸的边缘,长度单位取成一个象素的长度或绘图机的步长,坐标系的原点和坐 标走的方向随显示设备的不同而不同。常见的屏幕坐标系如右下图所示。 o 图2 4 世界坐标系与局部坐标图2 5 屏幕坐标系 2 2 2 2 模型变换 构造一个复杂的场景需要许多物体,如果这些物体都定义于世界坐标系中 拇量数挺点兰维蕾搦关谜搜柱肼宄j 感_ 1 1 j 它翻魄滚示可麓是掇其复杂懿,甚至是难予鞫逡静。瑟使是一个麓攀鼹立方毒拳, 如果它以任意角度存在于馓界坐标系中,它的各顶点坐标也不易诗藓出来。此时, 不妨将物体定义于其局部坐标系( 即模型坐标累) 中,由于模型坐标系是依物体 而建的,物体在其中的表示相对简单,易于描述。个物体或者独立的出现在世 界坐撂系中,或者是更复杂物体靛组成分,无论哪种情况,都需要一个凡傍交换 疼箕变羧弱藜懿坐标系孛( 魄鑫一释猿嚣孛,薮数坐标系帮是嚣个受复杂物蒋懿 模型坐橼系) ,这个变换称俸模型变挟。 图2 ,6 世界坐标系中立方体 的复杂表示 图2 7 模型坐标系中立方体 的简单表示 2 。2 2 3 蕊察交换 一熙观察坐标系建立以厝,后续的处理如投影,剪裁等都将在敦中进行。但 物体最初是定义在世界坐桥祭中的,所以,必须将它们变换到观察坐标系中来。 这个变换即是观察变换,酆从世器坐标系到观察坐标系盼变换。它是由4 x 4 柏 矩阵来表示弱。 缓魏,氆赛坐标系w c 为o x y z ,露察垒舔系v r c 为l g w t ,记联求褥变换矩 阵为m * ? 。,已知v r c 的坐标原点为v r ( z r p , ,v r p y ,凇) ,投影平面法向 v p n ,和观察正向v u p 。由观察坐标系的建立过程得到: 月:黑:【m ;】 帖网3 川;3 “。i 多v 乏u i p 厕x v p n 【“;,“,“:】 l | 旋炉 ? l 一 v = 行钎= 【v ,v ,v f j 由此霹德交换矩阵m 。为: z x 图2 8 世界坐标系和观察坐标系 东南大学颁j 一论文 海量数据点三维重构关键技术研究与应用 “0 v :0 h :0 01 100 一v r p 010 一v r j p 0 o1 一职p _ o 0 01 2 2 2 4 关于视见体的裁剪 在实际应用中。为了突出图形的某一部分,只显示图形的一部分;或显示屏 有限,只能显示其中的一部分,这时可定义一个裁剪窗口用来指定要显示的图形。 在世界坐标系中指定一个二维矩形窗口,只要窗口内的图形可以显示出来,此过 程称为裁剪。 2 2 2 5 投影 它就是指将三维物体转换为二维图形的过程。投影的方式分为平行投影和透 视投影。我们这里讨论的投影是平面几何投影,因为投影面是平面,投影线为直 线。 在三维重构的设计中,常用函数v o i dg l u p e r s p e c t i v e ( g l d o u b l e f o v y ,g l d o u b l ea s p e c t ,g l d o u b l ez n e a r ,g l d o u b l ez f a r ) 实现透视投影。 其中: f o v y :表示x z 平面视角大小: a s p e c t :表示宽高比: z n e a r 和:f a r :分别表示远近裁剪面与视点的距离,表示的观察体积如图 2 9 。 常用g l o r t h o ( g h d o u b l el e f t ,g l d o u b l er i g h t ,g l d o u b l eb o t t o m ,g l d o u b l e t o p , g l d o u b l en e a r , g l d 。u b l ef a r ) 实现正投影,其中近剪切面的左下角坐标为 ( 够,b o t t o m ,一n e a r ) ,右上角坐标为( r i g h t ,t o p ,- n e a r ) ,远剪切面的左下角坐标为 ( 柳2 ,b o t t o m ,一f a r ) ,右上角坐标为( r i g h t ,t o p ,一f a r ) ,观察体积如图2 1 0 。 煅畔毗 虬。n m + + + 畔畔畔 舢吩 十 + 十 只只只 腿职腿 心p 一 一 一 如n 以0 如吩m 0 即吩一0 虬k 心o 虬匕k 0 舞鎏数攥点三终重擒关键技术掰究t o 髓臻 a s p e c t = w h 圈2 。透褪投影爨定义熬躐察体积 嘞二三土、 s 。西m o 一磊鬲一_ j 图2 1 0 正射投影所定义的观察体积 $ 2 。2 。2 。6 窑墨至褫鞭熬变换 褫区就是捂在蘑纂藏绘鹭纸上可定义一个矩形,舔为税鏊。它可用来指定餐 网内的图形在屏幕上照示的大小及位置。 给定一个窗口和视区,我们用变换台成的方法来建立从世界嫩标系中的窗 到设备坐标系的视区的变换。假定在世界嫩标系中,窗口鲍左下角坐标 。,y 。) ,两边的长壤分剐为疋,e y 。巍设备坐标系蕊v 中,褪区静左下角黪 黧繇为国m 扭,v 。) ,秘边豹长度分裂为e 。,e ,( 见鹜2 ,i 1 ) 。冒攘下判步骤袭出 窗口到视区的变换。 0 = 一 r “。一一。) | e 。j 。, 1 m n o 图2 n 从窗口到视区的变换过程 眩 海:遗鼗据点三装重妈关逮鼓n 裳科完。j 逝曩 第三章软件中的关键技术分析 在较 睾t e s t 3 d 审疲焉了多瑷燕零,零鬻选取萁孛三磙关键熬菠零:瑟囱瑟 象、o p e n g l 、多线稷技术加以介绍和分帮子,并给出它们在t e s t 3 d 软件中的一些 舆体应用细节。 3 。1 面向对象技术的应用睁”】 蟊向对象程序设计语言籍程序接述的事物看成一个整体,称为对象( o b j e c t ) 。 事物的属性基本可以分为两个部分,即内部状态( 性质) 和对数据的操作方法及 由此造成的对外部的影响。对象的数据用于描述内部状态,而代码完成对数据的 搽作,程序主要以数攒为中心,代码围绕潜霈要处理的数据而设计。这种程序设 诗方法其寿萋装性( e n c a p s u l a t i o n ) 、多悫瞧( p o l y m o r p h i s ) 秘继承缝( i n h e r i t a n c e

温馨提示

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

评论

0/150

提交评论