三维模型的边界面网格单元的处理方法和装置的制造方法_2

文档序号:8260303阅读:来源:国知局
块,用于依序计算距离序列中两两平均距离之间的比值,若比值 大于第一预设阈值,则检测出距离序列中两两平均距离中排序在后的边为密集边;第一确 定模块,用于若面信息所指示的面为平面,且平面的非密集边长度与密集边长度之比小于 第二预设阈值,则确定平面为第一密集面。
[0017] 进一步地,密集边处理模块包括:稀疏处理模块,用于对第一密集面的密集边进行 稀疏处理得到处理后的第四密集面,其中,对第一密集面的密集边进行稀疏处理包括:获取 第一密集面的密集边的映射点数量〇和第一密集面的密集边的节点数量k;删除密集边中 下标非为1 ?n-1+l的节点,得到第四密集面,1 = 0,1,2…,n=k/o;单元构造模块,用于 获取第四密集面的密集边点集合《 = 1>1,y2,…,yp},依次从密集边点集合中取yi、 ui+1以及第一密集面的密集边的密集边的映射点集合供中的节点Gi(i= 1,2,3…),构 造第三单元,得到第二密集面,其中,i〈P。
[0018] 进一步地,重构处理模块包括:第一获取模块,用于获取与第二单元邻接的第四单 元;记录模块,用于若第四单元为尖锐单元,则将第四单元记录为第一单元,直至第四单元 不为尖锐单元;第二获取模块,用于获取第一单元、第二单元和第四单元构成的图形的最外 层节点的节点数据;重构子模块,用于调用多边形网格剖析算法对节点数据所包围的多边 形区域进行网格重构处理,得到第三密集面。
[0019] 进一步地,位姿调整模块包括:第二判断模块,用于判断第一单元中内角角度小于 预设角度值的内角个数;第三判断模块,用于若内角个数为1,则判断出第一单元为狭长三 角形单元,判断狭长三角形单元的三个顶点是否均在第二密集面的边界上,其中,三个顶点 包括第一节点、第二节点和第三节点,其中,第一节点的角度小于预设角度值。第一单元处 理模块,用于若狭长三角形单元的三个顶点未均在第二密集面的边界上,且第二节点和第 三节点均具有四个邻接单元,比较第二节点和第三节点对应狭长三角形单元的第一角度和 第二角度;若第一角度大于第二角度,则获取四个邻接单元的五个节点,删除五个节点中的 第三节点,按照逆序生成第五单元和第六单元,得到第三密集面,其中,第五单元的顶点包 括第一节点、第二节点和五个节点中的第四节点,第六单元的顶点包括第二节点、第四节点 和五个节点中的第五节点,五个节点包括第一节点、第二节点、第三节点、第四节点和第五 节点。第二单元处理模块,用于若狭长三角形单元的三个顶点未均在第二密集面的边界上, 且第二节点或第三节点具有四个邻接单元,获取四个邻接单元的五个节点,删除五个节点 中具有四个邻接单元的第三节点,按照逆序生成第五单元和第六单元,得到第三密集面,其 中,第五单元的顶点包括第一节点、第二节点和五个节点中的第四节点,第六单元的顶点包 括第二节点、第四节点和五个节点中的第五节点,五个节点包括第一节点、第二节点、第三 节点、第四节点和第五节点。
[0020] 第三单元处理模块,用于若狭长三角形单元的三个顶点均在第二密集面的边界 上,则获取第二节点与第三节点的共同的共面邻接单元,获取共面邻接单元的第四节点,按 照逆序生成第五单元和第六单元,得到第三密集面,其中,共面邻接单元的顶点包括:第二 节点、第三节点和第四节点,第五单元为共面邻接单元,第六单元的顶点包括:第一节点、第 二节点和第四节点。
[0021] 第四单元处理模块,用于若内角个数为2,则判断出第一单元为扁平三角形单元, 获取扁平三角形单元的第一节点、第二节点和第三节点,其中,第一节点和第二节点的角度 小于预设角度值。第四判断模块,用于判断第一节点和第二节点是否均在第二密集面的边 界上;第五单元处理模块,用于若第一节点和第二节点不同时在第二密集面的边界上,则获 取第一节点与第三节点的共同的共面邻接单元,获取共面邻接单元的第四节点,按照逆序 生成第五单元和第六单元,得到第三密集面,其中,共面邻接单元的顶点包括:第一节点、第 三节点和第四节点,第五单元为共面邻接单元,第六单元的顶点包括:第二节点、第三节点 和第四节点。第二计算模块,用于若第一节点和第二节点同时在第二密集面的边界上,则计 算第三节点的共面邻接单元的数量。第六单元处理模块,用于若共面邻接单元的数量为1, 则获取共面邻接单元的第四节点,按照逆序生成第五单元和第六单元,得到第三密集面,其 中,共面邻接单元的顶点包括:第一节点、第三节点和第四节点,第五单元为共面邻接单元, 第六单元的顶点包括:第二节点、第三节点和第四节点。第七单元处理模块,用于若共面邻 接单元的数量为3,则获取三个共面邻接单元的四个节点,将三个共面邻接单元的并集作 为第五单元,得到第三密集面,其中,三个共面邻接单元的四个节点包括:第一节点、第二节 点、第三节点和第四节点,第五单元的顶点包括第一节点、第二节点和第四节点。第八单元 处理模块,用于若共面邻接单元的数量为4,则获取四个共面邻接单元的四个节点,其中,四 个节点包括:四个共面邻接单元的并集组成的图形的四个顶点,四个顶点包括:第一节点、 第二节点、第四节点和第五节点。比较模块,用于比较第四节点的第一角度与第五节点的第 二角度;第九单元处理模块,用于从第一角度与第二角度之间大的角度对应的节点引出对 角线,重新划分四个共面邻接单元的并集组成的图形,得到第五单元和第六单元,得到第三 密集面。
[0022] 根据发明实施例,可以在尽量保留原始拓扑信息、不牺牲优化效率的前提下,将边 界离散网格单元质量较差单元(密集面的尖锐单元)进行特征化区分,针对不同类型采用 不同的高效优化方法,完成全部网格单元的质量调整任务,从而通过局部光顺的手段得到 高质量的网格单元。通过本发明实施例,解决了现有技术中得到高质量的三维模型中网格 的方法耗时长、效率低的问题,实现了快速高效地调整边界网格单元的质量的效果。
【附图说明】
[0023] 构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实 施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0024] 图1是根据本发明实施例的三维模型的边界面网格单元的处理方法的流程图;
[0025] 图2是根据本发明实施例的第一种可选的三维模型的边界面网格单元的处理方 法的流程图;
[0026] 图3是根据本发明实施例的三维模型的平面和曲面连接处节点分布类型和密集 边的示意图;
[0027] 图4是根据本发明实施例的第二种可选的三维模型的边界面网格单元的处理方 法的流程图;
[0028] 图5是根据本发明实施例的三维模型的尖锐单元的延拓示意图;
[0029] 图6是根据本发明实施例的第三种可选的三维模型的边界面网格单元的处理方 法的流程图;
[0030] 图7是根据本发明实施例的第四种可选的三维模型的边界面网格单元的处理方 法的流程图;
[0031]图8是根据本发明实施例的尖锐单元的分类的示意图;
[0032] 图9是根据本发明实施例的三维模型的边界面网格单元的处理前后的对比图;以 及
[0033] 图10是根据本发明实施例的三维模型的边界面网格单元的处理装置的示意图。
【具体实施方式】
[0034] 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相 互组合。下面将参考附图并结合实施例来详细说明本发明。
[0035] 为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的 附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是 本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术 人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范 围。
[0036] 需要说明的是,本发明的说明书和权利要求书及上述附图中的术语"第一"、"第 二"等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使 用的数据在适当情况下可以互换,以便这里描述的本发明的实施例。此外,术语"包括"和 "具有"以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元 的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有 清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0037] 本发明实施例提供了一种三维模型的边界面网格单元的处理方法。
[0038] 图1是根据本发明实施例的三维模型的边界面网格单元的处理方法的流程图。如 图1所示,该方法包括步骤如下:
[0039] 步骤S102:查找边界网格单元数据中的密集边,并基于密集边确定第一密集面; [0040]步骤S104:对第一密集面的网格数据进行密集边处理,得到第二密集面;
[0041] 步骤S106 :判断第二密集面上的为尖锐单元的第一单元是否具有与其邻接的为 尖锐单元的第二单元,其中,尖锐单元为至少有一个内角的角度小于预设角度值的三角形 单元;
[0042] 步骤S108:若第二密集面上的为尖锐单元的第一单元不具有与其邻接的为尖锐 单元的第二单元,按照第一单元的类型对第一单元进行位姿调整操作,得到第三密集面;
[0043] 步骤S110:若第二密集面上的为尖锐单元的第一单元具有与其邻接的为尖锐单 元的第二单元,对第一单元和第二单元的区域进行重构操作,得到第三密集面。
[0044] 采用本发明实施例,对三维模型的边界网格单元数据进行处理,并且在处理过程 中,先确定密集面,对密集面进行密集边处理,然后判断第二密集面上的为尖锐单元的第一 单元是否具有与其邻接的为尖锐单元的第二单元,也即判断第二密集面上的尖锐单元是否 为独立的,若第二密集面上的尖锐单元可以连成一个区域,则对该区域执行重构操作;若第 二密集面上的尖锐单元为单个的单元,则针对其的类型对其进行位姿操作。通过上述实施 例,可以在尽量保留原始拓扑信息、不牺牲优化效率的前提下,将边界离散
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1