基于三角面片模型的拓扑面分离方法技术

技术编号:8241681 阅读:283 留言:0更新日期:2013-01-24 22:38
本发明专利技术涉及一种基于三角面片模型的拓扑面分离方法。所述方法包括以下步骤:1)对所述三角面片模型中的三角面片进行数据预处理;2)利用三角面片的合并从所述三角面片模型中分解拓扑面;3)建立所述拓扑面的基本几何信息;4)判断是否已经为所述三角面片模型中的所有三角面片分解拓扑面,如果还没有为所述三角面片模型中的所有三角面片分解拓扑面,则返回至步骤2),否则结束所述方法。

【技术实现步骤摘要】

本专利技术涉及CAD建模技术,更具体而言,涉及一种。
技术介绍
在现有技术中,用许多空间三角形小平面来表示CAD实体表面的数据模型在三维建模中是很常用的一种方法。这种方法将CAD表面离散化为三角形面片。不同的精度时有不同的三角形网格划分。通常每个三角形面片有4个数据项表示,即三角形的3个顶点坐标和三角形面片的外法线矢量,整个CAD实体数据模型由多个三角形面片的集合表示,数据结构简单,而且与所使用的CAD系统无关。但是这种表示方法只是无序地列出构成实体表面的所有三角形的几何信息,不包 含任何三角形之间的拓扑相邻信息。因此当用三角形面片这种表示方法生成的文件重建实体模型会遇到如下两个问题一是由于导入的三维实体模型是经过三角化处理后的模型,拓扑信息匮乏,只能知道构成模型的点及三角面片信息,而无法得知模型的各个面的拓扑信息;二是构成零件的三角面片数量过于庞大,一个简单的球体模型约为5000个三角面片,而面片之间有着大量的冗余数据,甚至有许多错误和缺陷。因此需要设计一种能对缺乏拓扑信息却又数据量庞大的三维模型进行处理的通用方法。
技术实现思路
本专利技术是基于OSG等三维图形仿真环境,针对目前应用较为广泛的一类虚拟实验——机械类虚拟实验,公开一种通用的数据预处理方法,可以对三维模型进行拓扑重建,实现模型的拓扑面分离,提取三维模型的几何特征。在本专利技术中,术语“三角面片”表示组成几何模型的三角形,三角面片有4个数据表不项,即三个顶点和一个外法向量。术语“顶点坐标表”代表存放三角面片顶点的链表,记录了三角面片的顶点以及顺序号。术语“相邻规则”表示判定两个三角面片是否相邻的规则,其被定义为若两个三角面片有两个顶点相同则认为这两个三角面片是相邻的。术语“三角面片对象”代表一种采用面向对象的方法表示的数据,该数据记录了三角面片的三个顶点坐标,三角面片的外法向量,三角面片序列号以及与它相邻的三角面片序列号。术语“拓扑面规则”代表拓扑面应该满足的几何特征规则,用来区分各个拓扑面,例如平面应该符合组成平面的各个三角面片的法向量方向一致。本专利技术提供一种,包括以下步骤I)对所述三角面片模型中的三角面片进行数据预处理;2)利用三角面片的合并,从所述三角面片模型中分解拓扑面;3)建立所述拓扑面的基本几何信息;4)判断是否已经为所述三角面片模型中的所有三角面片分解拓扑面,如果还没有为所述三角面片模型中的所有三角面片分解拓扑面,则返回至步骤2),否则结束所述方法。优选地,所述数据预处理进一步包括以下步骤21)读入数据文件,所述数据文件记录所述三角面片模型中的三角面片的顶点坐标和外法向量;22)对所述三角面片模型中的三角面片的顶点坐标进行排序; 23)将重合的顶点归并为一个顶点,并将归并后的顶点坐标存入顶点坐标表中;24)为一个三角面片建立一个三角面片对象,所述三角面片对象根据顶点坐标表的读取顺序记录所述三角面片的序列号,并为所述三角面片的顶点与顶点坐标表建立对应关系;25)判断是否已经为所有三角面片建立了三角面片对象,如果还没有为所有三角面片建立三角面片对象,则返回步骤24),如果已经为所有三角面片建立了三角面片对象,则前进至步骤26);26)读取一个三角面片对象,根据相邻规则,为所读取的三角面片对象在其他三角面片对象中寻找相邻的三角面片对象,并且为所读取的三角面片对象和所述相邻的三角面片对象建立相邻关系;27)将所述相邻关系记录在所读取的三角面片对象和所述相邻的三角面片对象中;28)判断是否已经为所有的三角面片对象记录了相邻关系,如果还没有为所有的三角面片对象记录相邻关系,则返回至步骤26),如果已经为所有的三角面片对象记录了相邻关系,则所述数据预处理结束。优选地,分解拓扑面进一步包括以下步骤31)选择一个用于生成拓扑面的种子三角面片以及拓扑面规则;32)找出与所述种子三角面片相邻的三角面片;33)判断所述种子三角面片与所述相邻的三角面片是否满足所述拓扑面规则,如果所述种子三角面片与所述相邻的三角面片满足所述拓扑面规则,则前进至步骤34),如果所述种子三角面片与所述相邻的三角面片不满足所述拓扑面规则,则前进至步骤39);34)合并所述种子三角面片与所述相邻的三角面片,获得种子多边形;35)以得到的种子多边形的边界为依据,寻找与所述种子多边形相邻的三角面片,;36)判断所述种子多边形和与其相邻的三角面片是否满足所述拓扑面规则,如果所述种子多边形和与其相邻的三角面片满足所述拓扑面规则,则前进至步骤37),如果所述种子多边形和与其相邻的三角面片不满足所述拓扑面规则,则前进至步骤38);37)合并所述种子多边形和与其相邻的三角面片,并且继续到步骤35);38)判断是否已经找到与所述种子多边形相邻的所有三角面片,如果还没有找到与所述种子多边形相邻的所有三角面片,则返回步骤35),如果已经找到与所述种子多边形相邻的所有三角面片,则结束分解拓扑面;39)判断是否已经找到与所述种子三角面片相邻的所有三角面片,如果还没有找到与所述种子三角面片相邻的所有三角面片,则返回步骤32),如果已经找到与所述种子三角面片相邻的所有三角面片,则结束分解拓扑面。优选地,数据文件是STL文件。优选地,相邻规则被定义为如果两个三角面片有两个顶点相同则认为这两个三角面片是相邻的。优选地,拓扑面规则是平面符合组成平面的各个三角面片的法向量方向一致。优选地,顶点坐标表是存放三角面片顶点的链表。优选地,拓扑面的基本几何信息包括拓扑面的中心位置以及边界。附图说明 图I是根据本专利技术的的流程图。图2是根据本专利技术的三角面片的数据预处理的流程图。图3是根据本专利技术的分解几何拓扑面的流程图。图4是应用本专利技术的方法进行特征提取的效果图,其中图4a是齿轮的三角面片图,整个齿轮模型由上下端面,齿廓面,轴孔面组成,各个面由三角面片表示而成,图4b与图4c是经过对齿轮的各个拓扑面提取之后的效果图,图4b提取出了齿轮的齿廓面,图4c提取了齿轮的端面。具体实施例方式现在,将详细参考本专利技术的不同示例性实施例来描述本专利技术。应指出,虽然将结合示例性实施例描述本专利技术,但该描述并非要把本专利技术限制于该示例性实施例。相反,本专利技术将不仅覆盖该示例性实施例,而且还覆盖各种替换的、改变的、等效的和其他实施例,本专利技术保护范围应以权利要求为准。下面参考图I来描述根据本专利技术的。在步骤S11,首先对三角面片进行数据预处理。本领域技术人员已知,三角面片仅仅包含模型的几何位置信息,而且三角形顶点是重复记录的。例如,一个具有13100个三角面片的网格模型,就使用了 39300个顶点数据,而实际不重复的顶点仅有6556个,因此数据预处理的主要目的是数据去重和记录三角面片之间的相邻关系,方便后续操作。如图2所示,三角面片的数据预处理主要通过以下步骤来实现。首先,在步骤S21,读入数据文件,该数据文件例如可以是STL类型的。该数据文件记录了三角面片模型的三角面片数据,包括三角面片的顶点坐标和外法向量。然后,在步骤S22,对三角面片模型中的三角面片的顶点坐标进行排序。本领域技术人员可以构思各种方法对顶点坐标进行排序,例如根据数据文件的读取顺序对顶点坐标进行排序。排序之后,在步骤S23,将重合的顶点归并为一个顶点,并将归并后的顶点坐标存入顶点坐标表中本文档来自技高网...

【技术保护点】
一种基于三角面片模型的拓扑面分离方法,包括以下步骤:1)对所述三角面片模型中的三角面片进行数据预处理;2)利用三角面片的合并从所述三角面片模型中分解拓扑面;3)建立所述拓扑面的基本几何信息;4)判断是否已经为所述三角面片模型中的所有三角面片分解拓扑面,如果还没有为所述三角面片模型中的所有三角面片分解拓扑面,则返回至步骤2),否则结束所述方法。

【技术特征摘要】

【专利技术属性】
技术研发人员:文福安孙燕莲王志远章一通
申请(专利权)人:北京邮电大学北京润尼尔网络科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1