




已阅读5页,还剩59页未读, 继续免费阅读
(材料加工工程专业论文)基于stl文件的阶梯剖分算法研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华中科技大学硕士学位论文 摘要 快速成形技术发展至今,无论在工艺、材料和制件质量方面都已取得令人瞩目的 成就。作为该领域关键技术之一的数据前处理工作,除了直接关系到产品加工的质量 好坏,对加工的效率和适应性也有着重大的影响。本文针对这一方面的问题展开研究, 在v i s a u lc + + 6 0 环境下开发了一个集s t l 模型显示、阶梯剖分、编辑、拼合等多种 功能于一身的数据处理软件。 为了提高程序处理的速度,减少数据冗余带来的问题,读入s t l 模型后,重新 建立了所有三角面片间的拓扑关系。利用o p e n g l 开放式图形处理工具完成了对s t l 模型的真实感显示和多角度查看,所有功能均具有良好的人机界面,能方便的实现交 互式操作。 针对制件规模受快速成形设备工作空间限制及后处理时粘接精度难以保证的实 际问题,系统地提出了基于s t l 文件的任意形状阶梯剖分算法。介绍了阶梯剖分原 理,详细阐述了分割、封闭、三角化等具体实现步骤和算法,对可能出现的极限情况 进行了分类讨论,提出了有效的处理方案,保证了剖分的顺利进行和结果的正确完整。 利用该算法,可以在保证粘接精度的前提下使快速成形系统能够对大型实体进行分割 制造,扩大了该技术的适应性,提高了生产效率。 为了节省加工时间和成形材料,最大限度的发挥快速成形技术的优势,加工前需 要对一个或多个s t l 模型进行单位、比例、摆放方向或者相对位置的变换。本文分 析了s t l 模型拼合对加工效率的影响,讲述了编辑、拼合的基本原理,讨论了具体 实现方法。 最后给出了剖分、拼合等多种功能综合应用的实例,并对相关技术的未来发展进 行了展望。 关键词:快速成形s t l 文件 轮廓封闭三角化 阶梯剖分 拼合 l 华中科技大学硕士学位论文 a b s t r a c t r a p i dp r o t o t y p i n gm a n u f a c t u r e ( r p m ) h a sg r e a t l yd e v e l o p e d i nt h e p r o c e s s i n g , m a t e r i a l sa n d q u a l i t i e so fp r o d u c t sf r o m i t si n i t i a ls t a g e a st h ek e yt e c h n o l o g yi nt h ef i e l d o fr p m ,d a t ap r o c e s s i n gh a sg r e a ti n f l u e n c e so nt h ee f f i c i e n c ya n da d a p t a b i l i t yo ft h e m a n u f a c t u r e b a s i n g0 1 2t h ee n v i r o n m e n t o fv i s u a lc + + 6 0 ,t h i sr e s e a r c hd e v e l o p e dad a t a p r o c e s s i n g s o f t w a r ew h i c hc a l ln o to n l yd i s p l a yt h es t lm o d e lb u ta l s ot a k el o t so f o p e r a t i o no n i ts u c ha sl a d d e r l i k ed i v i s i o n ,e d i t i o n ,c o m b i n a t i o na n ds oo n t oi m p r o v et h er a t eo fc o m p u t i n ga n da v o i dt h em i s t a k e sc a u s e db yd a t ar e d u n d a n c y , t h e t o p o l o g y s t r u c t u r ew i l lb er e c o n s t r u c t e da f t e rt h es t lm o d e lb e i n gr e a di n t ot h e p r o g r a m u s i n g t h eo p e n g r a p h i c p r o c e s s i n gt o o lo fo p e n g l ,t h es o f t w a r ec a ns h o w u st h e s t lm o d e lv i v i d a l lo p e r a t i o n sh a v eg o o du s e ri n t e r f a c e sa n dc o m f o r t a b l em a n - m a c h i n e c o m m u n i c a t i n ga b i l i t y t os o l v et h ep r o b l e mo fl i m i t a t i o nc a u s e d b yl a r g es i z eo fp r o d u c ti nr a p i d - p r o t o t y p i n g f i e l da n dt h ed i f f i c u l t yo f c o m b i n i n g ,am e t h o df o rl a d d e r l i k ed i v i s i o nf o rm o d e lb a s e do n s t lf i l ef o r m a tw a sg i v e n ,t h e p r i n c i p l e a n da p p r o a c hf o rl a d d e r l i k ed i v i s i o nw e r e d e s c r i b e di nd e t a i li n c l u d i n gc u t t i n g ,c l o s i n ga n dt r i a n g u l a r i z a t i o n a l lk i n d so fc r i t i c a l i n s t a n c e sw e r ed i s c u s s e d ,a n dt h es o l v em e t h o dw a s g i v e n t oe n s u r et h er e s u l t sc o r r e c t n e s s u s i n g t h i s m e t h o d ,t h el a r g ep r o d u c t c a nb ed i v i d e dt os e v e r a ls m a l l p a r t s f o r r a p i d - p r o t o t y p i n gm a k i n g ,a tt h es a m et i m e ,h i g hp r e c i s i o no fc o m b i n i n gi si n s u r e d i t b r o a d e n st h ea p p l i c a b l er a n g ea n d i m p r o v e st h ee f f i c i e n c yo f r a p i d - p r o t o t y p i n gs y s t e m t os a v et h em a t e r i a la n dt i m eo nm a n u f a c t u r e ,i ti sn e e d e dt om o d i f yt h eu n i t ,s c a l e , p o s i t i o na n dr e l a t i v el o c a t i o no fo n eo rm o r es t lm o d e l s t h ei n f l u e n c eo ne f f i c i e n c v c a u s e db yc o m b i n i n gw a sa n a l y z e d ;t h eb a s e t h e o r y o fe d i t i o na n dc o m b i n a t i o nw a s e x p a t i a t e d a tl a s t ,a n e x a m p l eo fu s i n gt h i s s o f t w a r ea n ds o m ee x p e c t a t i o n so nc o r r e l a t i v e t e c h n o l o g yw e r eg i v e n k e y w o r d :r a p i dp r o t o t y p i n g f i g u r ec l o s i n g s t l f o r m a tf i l e t r i a n g u l a rm a s h l a d d e r l i k ed i v i s i o n c o m b i n e i i 独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的 研究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个 人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体, 均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:豫圈 日期:a m 中年中月o 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有 权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和 借阅。本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密口,在年解密后适用本授权书。 本论文属于 不保密日。 ( 请在以上方框内打“”) 学位论文作者签名:陈圈 品期:一口牛年中月乱口日 指导教师签名: 1 埒 日期:例年驴朔万臼 华中科技大学硕士学位论文 1 1 快速成形技术简介 1 绪论 9 0 年代开始,市场环境发生了巨大的变化,产品制造商们不但要很快地设计出符 合人们消费需求的产品,而且必须很快地生产制造出来,抢占市场。因此,面对一个 迅速变化且无法预料的买方市场,以往传统的大批量生产模式对市场的响应就显得越 来越迟缓与被动。快速响应市场需求,己成为制造业发展的重要走向。与此同时,计 算机、微电子、信息、自动化、新材料的发展日新月异,这些技术的发展与进步,给 产品创意、研究开发带来了重大变革。快速成形技术就是在这种背景下逐步形成并得 以发展,它使得产品设计、制造的周期大大缩短,提高了产品设计、制造的一次成品 率,降低产品开发成本,从而给制造业带来了根本性的变化。 快速成形英文名称为r a p i dp r o t o t y p i n g ,常常简称为r p 【2 】。该技术在成形概念上 以离散堆积为指导,在控制上以计算机和数控技术为基础 3 】,大多以激光作为加工工 具,也有少数使用刀具,是集计算机、数字控制、激光、材料等多种技术于一身的交 叉学科【”。 根据成形材料和工艺的不同,快速成形系统大体可分为四类:激光固化成形法 s l a ( s t e r e o l i t h o g r a p h ya p p a r a t u s ) 、选择性激光烧结法s l s ( s e l e c t i v el a s e r s i n t e r i n g ) 、分层实体制造法l o m ( l a m i n a t e do b j e c tm a n u f a c t u r i n g ) 、熔化沉积成形 法f d m ( f u s e d d e p o s i t i o nm o d e l i n g ) 。 快速成形技术的优点有:制造原形所用的材料不限,各种金属和非金属材料均可 使用:原形的复制性、互换性高;制造工艺与制造原形的几何形状无关,在加工复杂 曲面时更显优越;加工周期短、成本低、与产品复杂程度无关;高度技术集成,可实 现设计制造一体化【5 】。 快速成形技术的主要应用领域包括 6 】: 功能验证原形可直接用来进行装配检验、干涉检查和模拟产品真实工作情况 的。些功能试验,如运动分析、应力分析、流体和空气动力学分析等。 快速制模技术利用硅胶模、环氧树脂与精密铸造等工艺结合制造模具,经过 。次或多次转换后制造最终产品,或者将快速成形得到的工件直接用作产品的试制模 具,或者将此工件当作母模,制作生产用的模具,加快模具的制作过程。 1 华中科技大学硕士学位论文 非功能性样品制作在新产品正式投产之前或按照定单制造时,需要制作产品 的样品或摄制样本照片,快速成形技术是提供物理原形的理想方法。 1 2 课题的来源与意义 1 2 1 课题的来源 华中科技大学( 原华中理工大学) 快速制造中心自1 9 9 1 年开始快速成形技术的 研究工作以来,先后获得了国家自然科学基金、国家科技部攻关项目基金、国家教育 部博士点基金、湖北省科技厅重大攻关项目基金和武汉市科委重点攻关项目基金的支 持。本课题的研究内容隶属于其中的国家自然科学基盒重点资助项目“快速原形制造 系统研究”,主要解决h r p 系列快速原形制造系统在研究和应用过程中遇到的一些关 键问题,拓宽该系统的应用范围。 1 2 。2 课题的意义 加入世贸后,中国的制造业面临着更大的挑战。必须解决下面三个问题:“减少 丌发时阳j ,提高产品质量,降低生产成本”,中国制造业才会具有国际竞争力,而r p 技术的运用有助于解决这三方面的问题。r p 技术在中国将有巨大的市场,高等院校 在r p 技术的推广及应用中也应该起到相应的作用1 7 】。 华中科技大学自1 9 9 1 年开展快速成形技术研究以来,在国家自然科学基金委员 会等单位的支持下,投入了大量人力物力,开发出高可靠、高性能和低成本的h r p 系列薄材叠层成形( l o m ) 快速成形系统、h r p s 系列选择性激光烧结成形( s l s ) 快速成形系统、液态树脂光固化快速成形( s l a ) 快速成形系统。 在快速成形设备的开发研制和对外服务过程中也发现了许多急待解决的实际问 题,例如:被加工c a d 模型的尺寸有时会超出设备的成形空间( 工作台尺寸) ,无法 高效快速的加工出大尺寸零件;由于快速成形技术总是沿高度方向进行新材料的叠 加,而当c a d 模型是薄壁件或沿高度方向有细长凸起的零件时,模型在生长方向的 截面轮廓过于狭窄,很可能因为散热不均而发生翘曲变形,进而会影响产品的成形精 度和其他性能指标;还有一种情况,当被加工c a d 模型的尺寸远小于设备工作空间 时,单个的加工它们会造成大量的材料浪费,同时也不能充分发挥设备的生产能力, 降低了快速成形技术的市场竞争力。 为了解决大尺寸零件难以一次成形的问题,通常将它分割成几个子块分开加工, 华中科技大学硕士学位论文 然后再粘接起来,从而扩大快速成形系统的适应范围( 如图i - 1 ) : 睡嗡 图1 1 丈尺寸零件的分割 对于薄壁件,则应该将薄壁部分单独划分出来,把壁厚方向作为加工高度方向进 行制造,然后再粘接到其他部分上,从而避免翘曲( 如图1 2 ) ; 倒1 2 薄壁零件的分割 而对于小尺寸零件,则应该在加工之前进行组合操作,从而达到一次成形多个零 件的效果,从而提高了材料的利用率和加工效率( 如图1 3 ) 。 圈l - 3 小尺寸零件的组台 特别要指出的是,目前常用的分割方法是用单一平面去剖分模型,虽然可以将零 件分成几块加工出来,但是在后处理时就很难保证模型拼接精度,故而较理想的办法 是用“之”字型的阶梯面组去剖分模型( 如图l 一4 ) ,这样可以利用两个或者三个方向 的定位来保证拼接的精度。 3 华中科技大学硕士学位论文 癣建 图1 4 零件的阶梯分割 在拥有c a d 模型原始文件( 如u g 、p r o e n g i n e e r 的p r t 文件、s o l i d w o r k s 的s l d p r t 文件、c a t i a 的c t 文件) 的情况下,上述工作可以在这些常用三维造型 软件环境下方便的完成,既避免剖分时破坏孔、轴或其他工作区域,又能达到良好的 分割效果,特别是便于修改。 但有时候,客户出于技术保密等多种原因只能提供专门用于快速原形制造的s t l 文件,或者我们得到的数据本身就是反求工程中直接由点云生成的s t l 文件【8 】,这时 即使在那些强大的三维造型软件中也只能对模型进行查看,而很难完成诸如阶梯剖分 和拼接等进一步的操作。在为设备编写的快速成形系统软件中,目前只能对s t l 模 型进行旋转、平移、镜像、复制等简单操作,并末涉及剖分和拼接等较高级的功能。 因此,现在急需开发一个能够对s t l 文件进行复杂操作的第三方软件,解决这 些问题。本课题的核心内容“基于s t l 文件的阶梯剖分算法研究”正是围绕这一需 要展开的,由于在剖分过程的后期,还涉及到s t l 模型开口的封闭操作,因此本课 题的研究内容对s t l 文件缺陷修补也有重要的参考价值。 1 3 国内外相关技术的研究 软件是快速成形系统的灵魂。其中最为关键的又是从c a d 到快速成形系统接口 的数据转换和处理软件。在快速成形技术发展的初期,人们的注意力主要集中在工艺 本身,而随着应用的不断深入,软件处理的精度和速度、软件对复杂模型的处理能力 就成为应用中的一个重要瓶颈 9 】。国内外的快速成形公司和研究机构对此都非常重视 并投入大量的人力和资金进行软件的研究和开发。 在s t l 文件处理方面,国内外已经出现了很多第三方专用软件。 1 9 9 2 年美国的s o l i dc o n c e p t 公司推出了b r i d g ew o r k s 软件,经不断改进,现以 发展到4 0 版。该软件可以对s t l 文件进行特征分析,简单的查错等操作。 1 9 9 4 年美国的s o l i dc o n c e p t 公司推出了s o l i d v i e w 软件,可以在多种操作系统下 4 华中科技大学硕士学位论文 进行s t l 文件的线框和着色显示、s t l 模型的旋转、缩放等操作。 同年,i m a g e w a r e 公司也为其s u r f a c e 软件增加了专门用于快速成形数据处理的模 块。 自1 9 9 6 年丌始,美国的i g o rg t e b e l e v 陆续开发了s t l v i e w l 0 至7 0 版本,该 软件不但可以兼容i g e s 、d x f 、s t l 等多种数据格式,而且具有一定的s t l 文件错 误修复、添加支撑等功能。 软件t r i f i x 是专用的s t l 处理软件,它具有强大的缺陷修复功能,无论是漏洞、 干涉和拓扑错误,都可以结合人工干预和自动控制两种方式进行解决,其缺点是效率 较低。 可惜的是,这些软件中都不具备对s t l 文件进行阶梯剖分的功能。在这一方面 走在前面的是比利时m a t e r i a l i s e 公司推出的m a g i e s 软件,它包括m a g i c s v i e w 、m a g i c s r p 、m a g i c s s g 、c o n t o u r st o o l s 、c t - m o d e l l e rs y s t e m 、m i m i c s 、c t m 等七大模块, 可以进行基于s t l 文件的显示、错误检验、自动添加支撑、分层、制造时间估计等 处理;最值得一提就是m a g i c s 在最新的版本中提供了针对s t l 文件的阶梯剖分、甚 至模型间的布尔运算功能。该软件功能广泛、性能优良、是目前较优秀的第三方处理 软件。 从技术角度来讲,数据转换和处理软件的难度集中在s t l 自动纠错、支撑的自 动添加、大型实心零件制造时的内部镂空、扫描矢量的生成等环节。目前国外软件综 合起来在这些方面都处理的比较好。 国内方面,华中科技大学、清华大学、南京航空航天大学、浙江大学、上海交通 大学等单位都在进行这方面的研究。其中,清华大学、南京航空航天大学在s t l 文 件的缺陷修复方面进行了研究 1 0 , 1 1 ,浙江大学人工智能研究所在s t l 实体分割算法方 面进行了初步探索蛆1 ,上海交通大学对轮廓封闭专题展开了研慰1 3 1 ,华中科技大学快 速原形制造中心则已经成功的实现了针对s t l 文件的大型实心零件实体镂空功能,粉末 烧结和光固化成形中自动添加支撑功能和基于单一平面的实体剖分功能,同时还在阶梯 剖分方面作了探索l 生的研究( m 1 6 。其中一个方案就是利用多次平面剖分然后再重组模型 以实现阶梯剖的效果,但这条思路在实现过程中遇到以下几个较难克服的问题: ( 1 ) 剖分阶梯的数目受到很大限制,不能根摄复杂的零件的具体情况实现普遍 意义上的多阶梯剖分; ( 2 ) 剖分面的形状单一,不能很好的切分出利于拼接的契型阶梯; 华中科技大学硕士学位论文 ( 3 ) 对许多不需要分割的三角形面片进行了操作,浪费了大量的时间,并使结 果文件的大小增加了许多,剖分的阶梯数目越多,这一情况越明显; ( 4 ) 模型重组后很难确定剖口的边界,s t l 模型不能封闭,进而影响了其完整 性,给切片处理埋下了错误隐患。 总之,在针对s t l 模型的阶梯剖分算法研究上还有待进一步深入。 1 4 本课题主要研究内容 虽然针对s t l 文件的处理与转换软件技术已经获得了大量的研究成果,但是与 目前r 益增长的实用需求相比较,仍然有很多工作要做,比如编写集合实体模型的空 间移动、旋转、缩放、拼接、阶梯剖分等多种功能于一体的s t l 编辑软件。因此, 本课题的主要研究内容就是使用面向对象的程序设计思想开发一套针对s t l 实体模 型的商品化实用编辑软件。具体的包括以下一些内容: 首先,完成对s t l 格式文件的正确加载,同时对s t l 文件的拓扑结构进行重构, 减少数据冗余。 其次,利用o p e n g l 开放图形处理软件实现s t l 模型的真实显示( 包括渲染模 式、线框模式和点阵模式) ,进一步的操作包括对模型进行缩放、旋转查看,以便完 按的了解s t l 模型的每一个具体的细节。 第三,实现任意折线面组的阶梯剖分,根据零件的具体形状和设备加工尺寸确定 合理的分割剖面,对原有的三角形面片做分割,然后对产生的开口进行封闭和满足 s t l 文件标准的三角化处理。 第四,实现s t l 模型的拼合,即将多个零件按照最有利于保证加工精度和加工 效率的方式进行空间排列,撮后保存成一个s t l 文件输出,涉及的具体操作包括平 移、旋转、等比缩放等。 最后,要保证软件既有运行可靠性,又有良好的可操作性和友善的人机界面,使 它达到商业应用的标准。 1 5 本章小结 本章介绍了快速成形技术的基本原理、特点和应用范围,重点论述了课题的研究 价值和意义,同时分析了当前国内外相关研究的进展情况,最后简要的说明了课题研 究的主要内容。 华中科技大学硕士学位论文 2s t l 模型的导入与显示 2 1 概述 在目前的快速成形系统中,通常使用s t l 格式文件作为加工设各的原文件,s t l 文件表示立体图形的方式较为简单,对于一个独立的立体图形,它用许多空间小三角 面对其进行逼近,通过记录各小三角面的顶点和法向矢量信息来间接描述原来的立体 图形【1 7 1 。随着快速原型制造技术的发展与应用,s t l 文件格式也得到了各c a d c a m 软件公司的广泛支持,目前几乎所有的三维造型软件( 如u g 、p r o e n g i n e e r 、 s o l i d w o r k s 、c a t i a 等) 都支持s t l 格式文件的输出与显示1 1 ”。 但是s t l 文件的一个重要不足在于它的数据有大量冗余,而通常需要进行分割 处理的零件的体积都比较大,相应的,在保证加工精度的情况下,描述它们的s t l 文件也很大( 一般在2 m 以上) ,为了有效利用有限的计算机资源,同时避免后续处 理时数据冗余可能带来的歧义问题,首先要对读入的s t l 文件进行拓扑结构的全面 重新组合,把它的数据冗余量减少到最小的程度。 在得到合理的数据描述后,接下来就要将s t l 模型在计算机屏幕上真实的展现 出来,同时通过旋转、缩放等方式来查看模型的细节,另外还要绘制剖分线,这些功 能将在强大的o p e n g l 函数库支持下实现。 2 2 s t l 文件简介 s t l 模型是空间封闭、有界、正则、唯一表达物体的模型【l9 1 。它包含点、线、面 的几何信息,能够完整表达实体表面信息,无论是利用c a d 系统对产品进行三维设 计,还是利用三维数字化测量仪或c t 对实体进行扫描,最终都要转换成s t l 文件格 式以实现与快速成形系统的数据通信。s t l 文件标准是由美国3 ds y s t e m 公司于1 9 8 8 年制定的,它在快速成形领域得到了广泛应用,现在已经成为事实上的行业标准。 s t l 文件格式类似于有限元网格划分,以三角面片来拟合逼近实体模型的表面轮 廓特征,由于两个不同三角形的三个顶点不可能完全一样,这样只要给出各个三角形 的顶点坐标,曲面的形状也就确定了。但是在描述一个空间实体时,除了它的形状外, 我们还关心它表面的方向问题,即哪一边表示它的外表面,哪一边表示它的内表面, 因此还应该引入三角面片的法向矢量。综上,s t l 文件格式应该保存有三角形小平面 华中科技大学硕士学位论文 的三个顶点坐标值以及该面的法矢量,规定法矢量的的模为1 ,而方向必须指向实体 的外部;三角形顶点的保存顺序与法矢量方向要满足右手定则:右手环握,四指环绕 方向与三角形顶点保存次序一致,此时拇指所指的方向即为法矢量方向。 lf l o a t x r l iy n i t r i a n g l e i = t 加f l o :a x x b a i 。y b i y a i l f l o a f x c iy c j 式2 1 绘出了每个三角面片应该包含的内容,右边第一行为三角面片的法向矢量, 第二到第四行为三个顶点的空间坐标,这样就完整的描述了逼近实体表面的三角形信 息,三角形密度越高,逼近的效果越好。 逼近效果的准确描述依赖于客户要求的精度。这里,精度由弦高( c h o r d h e i g h t ) 和夹角余弦值( a n g e lc o n t r 0 1 ) 表征,弦高指用来逼近弧线时直线与弧线最高点之间 的距离,弦高越小逼近越精确;夹角余弦值指用来逼近弧线的两相邻直线之间夹角的 余弦值,夹角余弦值越接近l 逼近越精确。当逼近达到极限时,每个三角形表示的是 实体表面的点信息,但是s t l 文件的储存量也会变得很大,结合快速成形设备的精 度,一般将弦高设为0 0 1 毫米或系统默认值的十分之一,而夹角余弦值设为o 8 就完 全可以满足生产要求。 另外s t l 模型还特别的规定了两条一致性规则【2 0 j :首先,相邻两个三角形之间 只有一条公共边,即相邻三角形必须共享两个顶点:其次,每一条组成三角形的边有 且只有两个三角形面片与之相连。因此,在后面的剖分操作中必须使生成的新三角形 之间也满足以上规则,这样才能保证输出s t l 模型的正确完整。 按照数据储存形式的不同s t l 文件可以分为b i n a r y 和a s c i i 码两种形式,为了 保证s t l 文件的通用性,这两种格式均只保存实体名称、三角面片个数、每个三角 形的法矢量以及顶点坐标值这四大类信息,而且两种格式之间可以互相转换而不丢失 任何信息j 。 b i n a r y 格式文件以二进制储存信息,表示一个三角形面片需要5 0 个字节,而 a s c i i 码格式文件则需要2 5 0 个字节,在同一精度下表示同一个实体,b i n a r y 格式文 件的大小只有a s c i i 码格式文件的五分之一左右。同时,b i n a r y 格式文件本身就是机 器码,计算机可以很快的读入处理,这对提高运算及显示速度有很大的好处,因此, b i n a r y 格式文件是目前使用较为广泛的格式。 a s c i i 码格式文件中以s o l i d 、f a c e t 、n o r m a l 、o u t e r l o o p 、v e r t e x 、e n d l o o p 、e n d f a c e t 、 江 扪剖 华中科技大学硕士学位论文 e n d s o l i d 等关键词区分各种数据的意义。每个实体的信息以s o l i d 开头,以e n d s o l i d 结 束;每个三角形的信息以f a c e t 丌头,以e n d f a c e t 结束;法向矢量以n o r m a l 引导;顶 点信息以o u t e r l o o p 开头,以e n d l o o p 结束;每个顶点的坐标以v e r t e x 引导,每个顶点 有x 、y 、z 三个坐标值。虽然在储存时关键词会被多次重复写入,占用更多的空涮, 但它的大优点是可以借助文本编辑软件直接阅读和改动,信息表达直观明了,因此 也是描述s t l 模型不可或缺的一种方式: s o l i d n 实体名称 f a c e t n o r m a l n 第一个面的法向量 o u t e rl o o p v e r t e x 第一个面上第一点的坐标 v e r t e x n 第一个面上第二点的坐标 v e r t e x 第一个面上第三点的坐标 e n d l o o p e n d f a c e t f a c e tn o r m a l o u t e rl o o p v e n e x v e r t e x v e r t e x e n d l o o p e n d f a c e t 第i 个面的法向量 e n d s o l i d 2 3 s t l 模型的导入与拓扑关系重构 ,第i 个面上第一点的坐标 第i 个面上第二点的坐标 第i 个面上第三点的坐标 2 3 1 s t l 文件的导入 这一环节的基本任务是读入已有的s t l 文件中的三角面片数据,其流程图如下 9 华中科技大学硕士学位论文 图2 1 导八s t l 文件的流程圈 在实际处理中发现个别三角形所在平面与记录的法向矢量并不保持垂直关系,所 以在读入数据的同时要重新计算所有三角形的法向矢量。设三角形的三个顶点分别为 p ta 、p tb 、p tc ,则与其法向矢量n o r m a l 之间应该有如下关系: n o r m a l x 2 p c b y p c a ) 9 4 l p t _ c z p t _ b ,z ,一 ( p t _ b z p t _ a z ) ( p t c y p tj v ) n o r m a l y = ( p c b z p t a , z ) ( p t c x p tb ) 0 一 ( p t b x p t a x ) ( p tc z p t _ b ,z ) n o r m a l z 2 ( p t _ b x p t 口x ) 4 t p t 巴y p t b 谚一 ( p c b y p l 口纠( p t c x 一户t _ 6 叫 ( 2 - 2 ) 由于规定法向矢量的模必须等于1 ,所以还要进行归整处理: 令m o l d = 4 ( n o r m a l z ) 2 + ( n o r m a l y ) 2 + ( n o r m a l z ) 2 n o r m a l x= n o r m a l x m o l d n o r m a l y = n o r m a l y m o i d n o r m a l z = n o r m a l z m o l d ( 2 - 3 ) 其中n o r m a l x ,n o r m a l y ,n o r m a l z 分别表示法向矢量沿x 、y 、z 三个坐标轴 1 0 华中科技大学硕士学位论文 的投影。 另外要注意的是,当判别指定文件是否为s t l 文件的同时,还要区分该文件是 b i n a r v 和a s c i i 码两种形式中的哪一种。首先假设是b i n a r y 形式,则从文件头偏移 8 0 个字节后读取一个长整数n ,它应该是s t l 模型包含三角面片的总个数,而保存 每个三角形所需物理空间为5 0 个字节,可以估算出文件的总大小在5 0 * n 个字节左右, 将这个数与指定文件的实际大小做比较,若相差较大则一定不是b i n a r y 形式的s t l 文件;如果文件以a s c i i 码形式储存,则可以从中搜索到s o l i d 、f a c e t 、n o r m a l 等关 键词,如果没有,则可以断定其不是a s c i i 码形式的s t l 文件。如果两种情况下均 得到否定答案,则指定文件不是s t l 文件,应该报错并退出程序。 2 3 2 拓扑关系重构 假设一个实体模型包含f 个三角面片,而每个三角形有三条边,共有3 f 条边。 根据前面所述的s t l 文件一致性规则,每一条组成三角形的边有且只有两个三角形 面片与之相连,即每一条边有两个三角形共用。除去重复的5 0 ,模型中不重复的边 数为i 5 f ,记作e 。设模型包含的不重复的顶点数为v 由欧拉公式【2 2 】可知: v + f e( 2 4 ) 其中,v 为空间模型的顶点总数,e 为空间模型的棱边总数,f 为空间模型的三 角面片总数。 将e 约等于1 5 f 带入式2 - 4 ,可以求得; v 0 5 f ( 2 5 ) 即实体模型中不重复的顶点只有o 5 f 个。根据s t l 文件的记录方式,实际被保 存的顶点数目为3 f 个,对比可知,如果直接将三角形一个一个的保存起来将会浪费 大约2 5 f 个顶点的储存空间,对于大型的s t l 文件,这势必对运算速度造成较大影 响,所以,我们只保存不重复的实体模型顶点。 这里,我们为不重复的顶点建立一个顶点坐标表,同时将表的内容按照快速分类 法排序,每读入一个三角形,依次判断它的三个顶点是否已经在表中存在,如果已经 存在,则不再保存;如果表中还没有这个点,则将它插入其中。最后,对于一个三角 形只需要保存其法向矢量和表征顶点在顶点坐标表中具体位置的索引号即可( 这里需 要说明的是,虽然在已知三角形顶点坐标的情况下,法向矢量可以通过式2 2 、式2 3 算出,但是在旋转查看模型和做阶梯分割时会频繁用到它,因此在这里保存法向矢量 将为模型的流畅显示和分割的快速完成提供有力保证) 。 1 l 华中科技大学硕士学位论文 为了实现以上的拓扑重构功能,我们引入几个基本的数据类型,它们也是后续分 割、拼合处理的数据基础。 ( 1 ) c s t l p o i n t 类 c s t l p o i m 类对应三维空间点,它的基本属性包括空间一点的x 、y 、z 坐标( 双 精度浮点类型) ,经过拓扑重构后,没有两个c s t l p o i n t 类的具体对象会是完全相同 的。该类型是整个程序中最基本、最重要的类,所有的操作都建立在它的基础上。根 据前面的要求,我们还要建立一个动态数组mp o i n t s 对实体模型的所有顶点进行统一 管理。其具体形式如下: c l a s sc s t l p o i n t p u b l i c : a t t r i b u t e s d o u b l e m _ d x ; d o u b l e m _ d y ; d o u b l e md z : ) ; t y p e d e f c a r r a y s t l p o i n t a r r a y ; s t l p o i n t a r r a ym _ p o i n t s ; ( 2 ) c s t l f a c e 类 c s t l f a c e 类对应三维空问中的三角面片,它的基本属性包括该面的法向矢量和 表征顶点在m _ p o i n t s 中位置的索引号。同样,我们也要建立一个动态数组mf a c e s 对 实体模型包含的所有三角面片进行统一管理。其具体形式如下: c l a s sc s t l f a c e p u b l i c : a t t r i b u t e s c s t l p o i n t m _ v e c t o r : n o r m a lv e c t o r i n tm p o i n t s _ n u m 3 :p o i n ti n d e x ; t y p e d e f c a r r a y s t l f a c e a r r a y ; s t l f a c e a r r a ymf a c e s ; ( 3 ) c s t l s o l i d 类 1 2 华中科技大学硕士学位论文 c s t l s o l i d 类则直接对应一个s t l 实体模型,它的基本属性包括管理模型中所有 顶点的动态数组mp o i n t s 、管理模型中所有三角面片的动态数组mf a c e s ,此外还有 整个模型在x 、y 、z 三个方向的最大、最小值。由于在以后的阶梯分割及拼合时, 会有同时处理几个s t l 实体模型的情况,所以还要建立一个动态数组m f a c e s 对对多 个模型进行统一管理。其具体形式如下: c l a s sc s t l s o l i d p u b l i c : a t t r i b u t e s s t l p o i n t a r m ym a ) o i n t s ; s t l f a c e a r r a ymf a c e s ; d o u b l em _ x m i n ,m x m a x ,m j m i n ,my m a x ,m _ z m i n ,m _ z m a x ) : t y p e d e f c a r r a y s t l s o l i d a r r a y ; s t l s o l i d a r r a ym _ s o l i d s : 至此,我们建立了由点到面、由面到体的完整数据结构,不但能清楚的描述s t l 模型,还大大减少了数据的冗余,整个系统的拓扑结构如图2 - 2 所示: 型竺! 竺! ! 堕 1 塑趔l 厂m _ v e c t o rl ! 巡! l 厂md x l 鱼业hp o i n l a 1p ! 型1 3 h md y l 墅生3 p o i n t _ b l 型! 蚓jl m _ d z i 垒! 坐l 。p o i n t c le ! 咝1 3 l:j1 图2 - 2s t l 模型拓扑结构图 2 4 o p e n g l 环境下s t l 模型显示 2 4 1 o p e n g l 环境简介 o p e n g l 原来是一个工业标准的三维计算机图形软件接口,是由s g i 公司开发出 来的。o p e n g l 是开放的,适用于多种操作系统。它功能强大,能够创建出接近光源 追踪的高质量的三维图像,是进行三维图形编程、实现科学数据可视化、实体仿真、 1 3 华中科技大学硕士学位论文 3 dw e b 可视化、三维动画乃至虚拟现实场景的重要工具 2 3 j 。用户可以方便地利用 o p e n g l 工具,创建出接近光线跟踪的高质量静止或动画的三维彩色图像,而且要比 光线跟踪算法快一个数量级【2 4 i 。o p e n g l 是一个三维图形渲染的软件接口,并且得到 了硬件加速的支持,同时,它也是一个三维图形渲染库和三维模型库。o p e n g l 得到 了各大公司和各大相关行业的认可,成为新一代的三维图形工业标准1 2 “。 从编程的角度讲,o p e n g l 是一个图形函数库,最大特点是与硬件无关,可以在 不同的硬件平台上得到实现 2 “。以下将讨论如何在m i c r o s o f t v i s u a lc + + 集成软件开发 环境下,利用o p e n g l 在微机上实现高品质的s t l 模型显示。 ( 1 ) 为了正确得到o p e n g l 图形库中的各种函数调用,还需进行一些初始化准 备工作【2 ”。如在v c 6 0 集成开发环境下,选择p r o j e c t 2 一 s e t t i n g 菜单,在l i n k 菜单下 的o b j e c t l i b r a r ym o d u l e s 编辑框中输入“o p e n g l 3 2 1 i bg l u 3 2 1 i bg l a u x 1 i b ”。一般地,在 程序中还应该包含以下3 个头文件:o p e n g l 核心函数头文件9 1 h 、应用程序库头文 件g l u 。h 和辅助库函数头文件g l a u x h 。这样,程序在编译时才能提供对o p e n g l 库的 支持。 ( 2 ) 填写结构p e l f o r m a :r 【) e s c 砌m r 来设置显示设备描述表d c ( d e v i c e c o n t e x t ) 的位图格式属性,并调用函数c h o o s e p i x e l f o r m a t 来选择与以上所定 义的位图格式晟接近且d c 支持的位图格式,然后用s e t p i x e l f o r m a t 将其设置成d c 的位图格式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年建筑结构设计师专业技能模拟题与答案详解
- 电信弱电知识培训课件
- 2025年玻璃熔化工中级实操考试面试指南及技巧
- 2025年物资仓库保管员招聘面试题详解实际案例与答题技巧
- 办公室文员实习工作报告
- 急性CO中毒的急救和护理
- 甲状腺手术的麻醉
- 甲流预防课件
- 《百年孤独(节选)》课件
- 田径跳高课件
- 备战2024年高考英语考试易错点16 阅读理解:词义猜测题(4大陷阱)(解析版)
- 奇瑞汽车使用说明书
- 癫痫病人的护理
- 动环L1试题题库(494道)
- 癫痫的治疗(讲课)
- 安顺康闽果食品有限公司年产240吨年糕生产线建设项目环评报告
- 安全生产基本知识(乡镇办人员)培训课件
- 银行安全保卫工作会议记录
- 西北地区农村生活污水处理技术指南(试行)
- 学校宿舍楼建筑装饰工程招标控制价编制技术经济分析
- 玩具厂作业指导书(含管理制度、规程)
评论
0/150
提交评论