三角网格数据的拟合优化的方法及其系统的制作方法

文档序号:6370183阅读:184来源:国知局
专利名称:三角网格数据的拟合优化的方法及其系统的制作方法
技术领域
本发明涉及几何建模领域,尤其涉及ー种三角网格数据的拟合优化的方法及其系统。
背景技术
三维几何模型分为线框模型、表面模型和实体模型三种,其中表面模型运用最为广泛,三角网格数据是表面模型的ー种常用形式。现有的几何建模软件FreeForm和Auto123D提供三维几何造型功能,但需要用户手工勾划出造型的轨迹和预期形状,该方法的缺、点是I)不能达到平滑和优化效果,不能保证三维模型的拓扑正确性。2)不能处理表面有空洞的情況。3)对复杂凸起凹陷要反复处理。专利申请号为CN201010610301,发明名称为“ー种三维模型局部匹配方法”的中国
发明专利公开了ー种三维模型局部匹配方法,该方法根据弯曲显著度生成排序列表并进行区域增长,形成ー个局部顶点集合,在该集合上进行二次曲面拟合,将拟合区域标识为三维模型局部子块并提取特征,然后先后对三维模型局部子块的特征比较和局部匹配,对三维模型全局特征比较和全局匹配。该方法主要运用于三维模型的匹配和检索,但不涉及对三维模型的优化、平滑等编辑操作。综上可知,现有的三维模型的拟合优化技术在实际使用上,显然存在不便与缺陷,所以有必要加以改迸。

发明内容
针对上述的缺陷,本发明的目的在于提供ー种三角网格数据的拟合优化的方法及其系统,以对选择的三维模型区域进行拟合优化。为了实现上述目的,本发明提供ー种三角网格数据的拟合优化的方法,所述方法包括A、根据在原三维模型上选择的三维模型区域的形状特征拟合形函数;B、根据所述形函数生成优化的拟合三角网格;C、将所述拟合三角网格拼接回所述原三维模型的三角网格中。根据所述的方法,在所述步骤A之前包括D、选择所述原三维模型上需要进行拟合优化的三维模型区域。根据所述的方法,所述步骤A包括Al、分别获取所述原三维模型的三角网格中的每个三角形的第一顶点数组、第一三角形数组以及第一相邻关系数组;A2、构建第二顶点数组、第二三角形数组以及第二相邻关系数组,以表示所述选择的三维模型区域的三角网格;
A3、标记所述选择的三维模型区域的三角网格的第二三角形数组中的边界边,将所述第二三角形数组中共享顶点的边界边连接,构成不同的集合,并提取所有所述集合中最大的首尾相连的集合作为所述选择的三维模型区域的外边界;A4、提取所述外边界边上的所有顶点坐标,并采用移动最小二乗法拟合出ー个平面,根据平面法向量与世界坐标系任一坐标轴方向的夹角计算映射矩阵;A5、将所述选择的三维模型区域的第二顶点数组乘以所述映射矩阵,并投影到所述平面,由所述外边界开始在对应的方向以特定步长向内采样,得到样本点矩阵;A6、使用移动最小二乗法计算形函数。根据所述的方法,所述步骤Al包括A12、使用线性浮点型数组保存所述原三维模型的三角网格中的每个三角形的顶 点坐标,获得所述三角网格的第一顶点数组;A13、使用线性整数型数组保存所述原三维模型的三角网格的顶点索引,获得所述三角网格的第一三角形数组;A14、使用ニ维整型数组保存所述原三维模型的三角网格中的每个三角形的顶点所属的三角形索引,获得所述三角网格的第一相邻关系数组。根据所述的方法,所述步骤A2包括A21、在所述选择的三维模型区域内的三角网格中任取ー个三角形作为种子三角形;A22、根据所述原三维模型的三角网格的相邻关系,以所述种子三角形为起始作阈值连通捜索,获得所述选择的三维模型区域的第二顶点数组、第二三角形数组,以及第二相邻关系数组;A23、将所述选择的三维模型区域的第二顶点数组、第二三角形数组以及第二相邻关系数组写入所述选择的三维模型区域的三角网格的相应的数组中,并且在所述原三维模型的三角网格中将所述种子三角形标记为应删除状态;在所述步骤A5中,所述向内采样的特定步长为ー个限定的浮点数值;或者为与所述选择的三维模型区域相关的自适应浮点数值。根据所述的方法,所述步骤B包括BI、构建第三顶点数组、第三三角形数组和第三相邻关系数组,以表示拟合获得的拟合三角网格;B2、按照所述特定步长提取所述选择的三维模型区域的对应坐标的值,井根据所述形函数计算世界坐标系中的另ー值,获得拟合点矩阵的坐标;B3、将所述拟合点矩阵作为三角化算法的输入,跟踪所述外界边的顶点顺序,并将外边界作为所述三角化算法的边界约束;B4、使用所述三角化算法计算所述拟合三角网格的拓扑结构,并将所述拓扑结构写入所述第三三角形数组中。根据所述的方法,在所述步骤A4中,若所述任ー坐标方向为Z轴,则在所述步骤A5中所述对应的方向为Χ、γ方向;在所述步骤Β2中,提供的所述对应坐标的值为提取Χ、Υ方向的值,所述形函数计算世界坐标系中的另ー值为Z方向的值;或者在所述步骤Α4中,若所述任ー坐标方向为X轴,则在所述步骤Α5中所述对应的方向为z、Y方向;在所述步骤B2中,提供的所述对应坐标的值为提取Z、Y方向的值,所述形函数计算世界坐标系中的另ー值为X方向的值;或者在所述步骤A4中,若所述任ー坐标方向为Y轴,则在所述步骤A5中所述对应的方向为X、Z方向;在所述步骤B2中,提供的所述对应坐标的值为提取X、Z方向的值,所述形函数计算世界坐标系中的另ー值为Y方向的值。根据所述的方法,所述步骤C包括Cl、构建第四顶点数组、第四三角形数组和第四相邻关系数组,以表示将所述拟合三角网格拼接回所述原三维模型的三角网格后的三角网格;C2、将所述拟合三角网格的第三顶点数组乘以映射矩阵的逆矩阵,并映射回到所述原三维模型的三角网格所在的世界坐标系;C3、将所述原三维模型的三角网格中未标记为应删除状态的三角形和所述拟合三角网格以顶点不重合的方式对应写入所述第四顶点数组、第四三角形数组和第四相邻关系数组中。根据所述的方法,所述步骤C3中,以顶点不重合的方式包括在插入新顶点时,首先检查所述对应的所述第四顶点数组、第四三角形数组和第四相邻关系数组中是否存在重合点,若存在则返回所述顶点索引;若不存在则作为新坐标插入对应的所述第四顶点数组、第四三角形数组和第四相邻关系数组中;所述检查对应的所述第四顶点数组、第四三角形数组和第四相邻关系数组中是否存在重合点的方式包括遍历所有对应的所述第四顶点数组、第四三角形数组和第四相邻关系数组中的顶点坐标,或者以空间划分或者分叉树的方式查询相邻顶点。为了实现本发明的另ー发明目的,本发明还提供了ー种用于实现上述任一项所述的三角网格数据的拟合优化的方法的系统,所述系统包括函数生成模块,用于根据在原三维模型上选择的三维模型区域的形状特征拟合形函数;拟合模块,用于根据所述形函数生成优化的拟合三角网格;拼接模块,用于将所述拟合三角网格拼接回所述原三维模型的三角网格中。本发明通过根据在原三维模型上选择的三维模型区域的形状特征拟合形函数;然后根据所述形函数生成优化的拟合三角网格;最后将所述拟合三角网格拼接回所述原三维模型的三角网格中。实现了对选择的三维模型区域进行拟合优化。保证了拟合三角网格的拓扑正确性,并具有平滑均匀的特点;最后将生成的拟合三角网格拼接回原三角网格,实现了自动造型功能。可以对质量不好的三角网格数据做平滑优化,也可以对表面空洞修补,还可用于表面复杂凸起凹陷的去除,提供了三维几何模型处理领域的模型优化方法和系统。


图I是本发明第一实施例提供的三角网格数据的拟合优化的系统的结构示意图;图2是本发明第二实施例提供的三角网格数据的拟合优化的方法流程图;图3A是本发明的一个实施例提供的肝脏三维模型在进行修补空洞前的示意图;图3B是本发明的一个实施例提供的肝脏三维模型在进行修补空洞后的示意图;图4A是本发明的一个实施例提供的肝脏三维模型在进行凸起凹陷去除前的示意、图;图4B是本发明的一个实施例提供的肝脏三维模型在进行凸起凹陷去除后的示意图;图5A是本发明的一个实施例提供的肝脏三维模型在进行平滑前的示意图;图5B是本发明的一个实施例提供的肝脏三维模型在进行平滑后的示意图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进ー步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。參见图1,在本发明的第一实施例中提供了ー种三角网格数据的拟合优化的系统 100,包括函数生成模块10,用于根据在原三维模型上选择的三维模型区域的形状特征拟合形函数;拟合模块20,用于根据所述形函数生成优化的拟合三角网格;拼接模块30,用于将所述拟合三角网格拼接回所述原三维模型的三角网格中。在该实施例中,函数生成模块10根据选中的三维模型区域的形状特征自动拟合形函数可以在一次处理中就实现复杂凸起凹陷的去除,拟合模块20根据形函数生成优化的表面三角网格,最后拼接模块30将拟合优化后的三维模型拼接回原三维模型的三角网格中,实现了平滑和优化效果,并实现了表面空洞修补;修正三维模型拓扑歧义。因此,通过函数生成模块10根据在原三维模型上选择的三维模型区域的形状特征拟合形函数,解决了根据选中的三维模型区域的形状特征自动拟合形函数的问题,接着通过拟合模块20根据所述形函数生成优化的拟合三角网格,解决了根据形函数生成优化的拟合三角网格的问题;最后拼接模块30将所述拟合三角网格拼接回所述原三维模型上的三角网格中,解决了将生成的拟合三角网格拼接回原三角网格并实现自动造型功能的问题。该系统可以是软件単元,硬件単元或软硬件结合单元;并且该系统既能用于几何模型表面的平滑去噪,也可以用于空洞修补或复杂凸起凹陷的去除。广泛的,该系统可运用于在3D游戏和动画,计算机辅助设计,数字医学等几何建模相关领域。參见图2,在本发明的第二实施例中,提供了ー种三角网格数据的拟合优化的方法,该方法采用上述的三角网格数据的拟合优化的系统100实现,所述方法包括步骤S201中,函数生成模块10根据在原三维模型上选择的三维模型区域的形状特征拟合形函数;步骤S202中,拟合模块20根据所述形函数生成优化的拟合三角网格;步骤S203中,拼接模块30将所述拟合三角网格拼接回所述原三维模型的三角网格中。在该实施例中,选择的三维模型区域的形状特征包括如当前该三维模型区域有空洞、有凸起凹陷或者存在许多噪点等。函数生成模块10根据上述形状特征拟合形函数;然后,拟合模块20根据该形函数生成优化的拟合三角网格,实现对选择的三维模型区域修补空洞、平滑去噪以后去除凹陷等。最后,拼接模块30将所述拟合三角网格拼接回所述原三维模型的三角网格中,将拟合优化后的三维模型整体呈现。在本发明的第三实施例中,在所述步骤S201之前包括选择所述原三维模型上需要进行拟合优化的三维模型区域的步骤。该步骤可以通过ー选择模块实现。在该步骤中,用户可以选择其需要进行拟合优化的三维模型的区域,具体的选择操作可以通过鼠标框选,或者输入选择參数实现。在本发明的第四实施例中,所述步骤S201包括下述步骤Al、分别获取所述原三维模型的三角网格中的每个三角形的第一顶点数组、第一三角形数组以及第一相邻关系数组; 优选的,所述步骤Al包括A12、使用线性浮点型数组保存所述原三维模型的三角网格中的每个三角形的顶点坐标,获得所述三角网格的第一顶点数组;A13、使用线性整数型数组保存所述原三维模型的三角网格的顶点索引,获得所述三角网格的第一三角形数组;A14、使用ニ维整型数组保存所述原三维模型的三角网格中的每个三角形的顶点所属的三角形索引,获得所述三角网格的第一相邻关系数组。A2、构建第二顶点数组、第二三角形数组以及第二相邻关系数组,以表示所述选择的三维模型区域的三角网格;优选的,所述步骤A2包括A21、在所述选择的三维模型区域内的三角网格中任取ー个三角形作为种子三角形;A22、根据所述原三维模型的三角网格的相邻关系,以所述种子三角形作阈值连通捜索,获得所述选择的三维模型区域的第二顶点数组和第二三角形数组,以及第二相邻关系数组;A23、将所述选择的三维模型区域的第二顶点数组、第二三角形数组以及第二相邻关系数组写入所述选择的三维模型区域的三角网格的相应的数组中,并且在所述原三维模型的三角网格中将所述种子三角形标记为应删除状态。A3、标记所述选择的三维模型区域的三角网格的第二三角形数组中的边界边,将所述第二三角形数组中共享顶点的边界边连接,构成不同的集合,并提取所有所述集合中最大的首尾相连的集合作为所述选择的三维模型区域的外边界;A4、提取所述外边界边上的所有顶点坐标,并采用移动最小二乗法拟合出ー个平面,根据平面法向量与世界坐标系任一坐标轴方向的夹角计算映射矩阵;A5、将所述选择的三维模型区域的第二顶点数组乘以所述映射矩阵,并投影到所述平面,由所述外边界开始在对应的方向以特定步长向内采样,得到样本点矩阵;其中,所述向内采样的特定步长为ー个限定值;或者为与所述选择的三维模型区域相关的自适应值;或者为整个所述选择的三维模型区域的不限定值。A6、使用移动最小二乗法计算形函数。其中,移动最小二乗法的结果就是每ー个坐标位置的形函数。在该实施例中,在三角网格数据中,两点构成边,三条边按统ー的顺时针或逆时针次序首尾相连构成三角形,相邻三角形以共享边的形式展开成为三角网格。并且具体的通过下述步骤实现所述步骤S201 a)使用线性浮点型数组保存三角形的顶点坐标,每个顶点的X、y、z坐标分别占用连续的三个浮点数,该数组称为顶点数组;使用线性整型数组保存三角网格的顶点索引,每个三角形的顶点分别占用连续的三个整型数,成为ー个拓扑单元,该数组称为三角形数组;使用ニ维整型数组保存顶点所属的三角形索引,其中每一行对于ー个顶点的相应索引信息,该数组称为相邻关系数组。由此,可以获取原三维模型的三角网格中的每个三角形的第一顶点数组、第一三角形数组以及第一相邻关系数组。b)构建第二顶点数组、第二三角形数组以及第二相邻关系数组,以表示所述选择的三维模型区域的三角网格。在选中的三维模型区域内任取ー个三角形作为种子三角形,根据原三维模型的三角网格的相邻关系,以所述种子三角形作阈值连通捜索,获得选中的区域的顶点坐标、拓扑信息以及相邻关系信息,并将顶点坐标、拓扑信息以及相邻关系信息写入选中的三维模型区域的三角网格数据的相应数组中。同时在将选中的种子三角形标记为“应删除状态”。c)遍历选中的三维模型区域的第二三角形数组,若该第二三角形数组中的三角形的某一条边没有被其他三角形共享,则该边是边界边,并将该边界边标记出来。在遍历结束后,捜索所有边界边,将共享顶点的边界边连接起来,构 成不同的集合;并且取最大的首尾相连的集合作为选中的区域的外边界。d)取外边界上的所有顶点坐标用最小二乗法拟合出ー个平面,根据平面法向量与世界坐标系任一坐标轴方向的夹角计算映射矩阵。在该步骤中假定取z轴方向。若取X轴方向,贝1J e步骤的x、y方向应该换为y、z方向,若取y轴方向,则e步骤的x、y方向应换为z、X方向。e)将选中的三维模型区域三角网格的第二顶点数组乘与映射矩阵,投影到上述平面,由边界开始在X、y方向以特定步长向内采样,得到样本点矩阵。这里的特定步长既可以是ー个根据经验设定固定的浮点数值,也可以是由选中的三维模型区域网格密度计算出来的ー个自适应浮点数值。向内采样的歩数可以是ー个根据经验设定的限定整数值,也可以是ー个与选中的三维模型区域三角网格的深度相关的自适应整数值,还可以不限定内采样步数而对整个选中区域全部采样完成。优选的,可以选择选择的三维模型区域的三角形边长的平均值。若仅仅作一定歩数的采样,则拟合效果是用边界附近的表面形状来推测选中的三维模型区域其他部分的形状,能达到复杂凸起凹陷去除的目的,也可达到修补空洞的目的;若对整个选中区域采样,则能达到表面平滑的效果。采样的一种实现方法是从指定x、y值,z值为最大浮点数的点向z轴负向发射一条射线,计算该射线与选中的三维模型区域的三角网格的第一交点,取交点坐标的z值作为采样点的Z值。f)最后,使用移动最小_■乘法计算形函数。在本发明的第五实施例中,所述步骤S202包括BI、构建第三顶点数组、第三三角形数组和第三相邻关系数组,以表示拟合获得的拟合三角网格;B2、按照所述特定步长提取所述选择的三维模型区域的对应坐标的值,井根据所述形函数计算世界坐标系中的另ー值,获得拟合点矩阵的坐标;B3、将所述拟合点矩阵作为三角化算法的输入,跟踪所述外界边的顶点顺序,并将外边界作为所述三角化算法的边界约束;B4、使用所述三角化算法计算所述拟合三角网格的拓扑结构,并将所述拓扑结构写入所述第三三角形数组中。在该实施例中,在所述步骤A4中,若所述任ー坐标方向为Z轴,贝U在所述步骤A5中所述对应的方向为Χ、γ方向;在所述步骤Β2中,提供的所述对应坐标的值为提取Χ、Υ方向的值,所述形函数计算世界坐标系中的另ー值为Z方向的值;或者在所述步骤A4中,若所述任ー坐标方向为X轴,则在所述步骤A5中所述对应的方向为Z、Y方向;在所述步骤B2中,提供的所述对应坐标的值为提取Z、Y方向的值,所述形函数计算世界坐标系中的另ー值为X方向的值;或者在所述步骤A4中,若所述任ー坐标方向为Y轴,则在所述步骤A5中所述对应的方向为X、Z方向;在所述步骤B2中,提供的所述对应坐标的值为提取X、Z方向的值,所述形函数计算世界坐标系中的另ー值为Y方向的值。具体的,可以根据三维模型的结构以及操作方便性选择世界坐标系中的任一坐标轴方向进行操作。具体的,可通过下述步骤实现所述步骤S202 a)构建第三顶点数组、第三三角形数组和第三相邻关系数组,以表示拟合获得的 拟合三角网格。b)按一定步长取选中的三维模型区域的X、y值,并根据形函数计算z值,获得拟合点矩阵的坐标。c)将拟合点矩阵作为Delaunay三角化算法的输入;跟踪外界边的顶点顺序,若不是逆时针方向,则把顶点顺序反向。将外边界作为Delaunay三角化算法的边界约束。d)使用Delaunay三角化算法计算拟合三角网格的拓扑结构,并写入新构建的第三三角形数组中。其中,c、d两个步骤的效果是保证了拟合三角网格的拓扑正确性,并具有平滑均匀的特点。在本发明的第六实施例中,所述步骤S203包括Cl、构建第四顶点数组、第四三角形数组和第四相邻关系数组,以表示将所述拟合三角网格拼接回所述原三维模型的三角网格后的三角网格;C2、将所述拟合三角网格的第三顶点数组乘以映射矩阵的逆矩阵,并映射回到所述原三维模型的三角网格所在的世界坐标系;C3、将所述原三维模型的三角网格中未标记为应删除状态的三角形和所述拟合三角网格以顶点不重合的方式对应写入所述第四顶点数组、第四三角形数组和第四相邻关系数组中。在所述步骤C3中,以顶点不重合的方式包括在插入新顶点时,首先检查所述对应的所述第四顶点数组、第四三角形数组和第四相邻关系数组中是否存在重合点,若存在则返回所述顶点索引;若不存在则作为新坐标插入对应的所述第四顶点数组、第四三角形数组和第四相邻关系数组中;所述检查所述对应的所述第四顶点数组、第四三角形数组和第四相邻关系数组中是否存在重合点的方式包括遍历所有对应的所述第四顶点数组、第四三角形数组和第四相邻关系数组中的顶点坐标,或者以空间划分或者分叉树的方式查询相邻顶点。具体的,可通过下述步骤实现所述步骤S203 a)构建第四顶点数组、第四三角形数组和第四相邻关系数组,以表示自动造型得到的三角网格数据。b)将拟合三角网格的第三顶点数组顶点数组乘以映射矩阵的逆矩阵,映射回所述原三维模型的三角网格所在的世界坐标系。c)将所述原三维模型的三角网格中未标记为“应删除状态”的三角形,和拟合三角网格以顶点不重合的方式写入新数组中。顶点不重合的方式是指插入新顶点时先检查是否存在重合点,若存在则返回该顶点索引,若不存在则作为新坐标插入。检查的方法既可以是遍历所有顶点坐标,也可以空间划分或分叉数的方式来快速查询相邻顶点。參见图3A和图3B,在本发明的一个实施例中,对于一个三角网格表不的肝脏三维模型,用鼠标框选图3A中三维模型表面ー个包含空洞的区域40,依照如下技术步骤,得到图3B中修补表面空洞的技术效果,如区域41所示;I)使用线性浮点型数组保存肝脏三维模型的三角网格数据;2)构建新的浮点型数组保存选中的三维模型区域的三角网格数据,并计算出该区域的外边界;3)用移动最小二乗法拟合出该区域所在平面,将选中的三维模型区域的三角网格数据投影到该平面,并以一定步长作限定歩数的向内采样,得到样本点矩阵,限定歩数的向内采样能达到修补空洞的目的; 4)基于样本点矩阵计算移动最小二乗法的形函数;5)按一定步长取选中的三维模型区域的X、y值,并根据形函数计算z值,得到拟合点矩阵;6)将拟合点矩阵作为Delaunay三角化算法的输入,将逆时针化的外边界作为Delaunay三角化算法的边界约束,计算出算拟合三角网格;7)将拟合三角网格拼接回原肝脏三维模型的三角网格,肝脏三维模型表面的空洞消失。參见图4A和图4B,在本发明的一个实施例中,对于一个三角网格表不的肝脏三维模型,用鼠标框选图4A中三维模型表面ー个包含复杂凸起凹陷的区域,依照如下技术步骤,得到图4B中去除表面复杂凸起凹陷的技术效果;I)使用线性浮点型数组保存肝脏三维模型的三角网格数据;2)构建新的浮点型数组保存选中的三维模型区域的三角网格数据,并计算出该区域的外边界;3)用移动最小二乗法拟合出该区域所在平面,将选中的三维模型区域的三角网格数据投影到该平面,并以一定步长作限定歩数的向内采样,得到样本点矩阵,限定歩数的向内采样能达到去除复杂凸起凹陷的目的;4)基于样本点矩阵计算移动最小二乗法的形函数;5)按一定步长取选中的三维模型区域的X、y值,并根据形函数计算z值,得到拟合点矩阵;6)将拟合点矩阵作为Delaunay三角化算法的输入,将逆时针化的外边界作为Delaunay三角化算法的边界约束,计算出算拟合三角网格;7)将拟合三角网格拼接回原肝脏三维模型的三角网格,肝脏三维模型表面的复杂凸起凹陷被去除。參见图5A和图5B,在本发明的一个实施例中,对于一个三角网格表不的肝脏三维模型,用鼠标框选图5A中的三维模型表面ー个具有噪点的区域,依照如下技术步骤,得到图5B中平滑表面的技术效果;I)使用线性浮点型数组保存肝脏三维模型的三角网格数据;
2)构建新的浮点型数组保存选中的三维模型区域的三角网格数据,并计算出该区域的外边界;3)用移动最小二乗法拟合出该区域所在平面,将选中的三维模型区域的三角网格数据投影到该平面,并以一定步长对整个选中的三维模型区域采样,得到样本点矩阵,对整个选中的三维模型区域采样能达到表面平滑的效果;4)基于样本点矩阵计算移动最小二乗法的形函数;5)按一定步长取选中的三维模型区域的X、y值,并根据形函数计算z值,得到拟合点矩阵;6)将拟合点矩阵作为Delaunay三角化算法的输入,将逆时针化的外边界作为Delaunay三角化算法的边界约束,计算出算拟合三角网格;

7)将拟合三角网格拼接回原肝脏三维模型三角网格,得到平滑后的肝脏三维模型。综上所述,本发明通过根据在原三维模型上选择的三维模型区域的形状特征拟合形函数;然后根据所述形函数生成优化的拟合三角网格;最后将所述拟合三角网格拼接回所述原三维模型的三角网格中。实现了对选择的三维模型区域进行拟合优化。保证了拟合三角网格的拓扑正确性,并具有平滑均匀的特点;最后将生成的拟合三角网格拼接回原三角网格,实现了自动造型功能。可以对质量不好的三角网格数据做平滑优化,也可以对表面空洞修补,还可用于表面复杂凸起凹陷的去除,提供了三维几何模型处理领域的模型优化方法和系统。当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1.ー种三角网格数据的拟合优化的方法,其特征在于,所述方法包括 A、根据在原三维模型上选择的三维模型区域的形状特征拟合形函数; B、根据所述形函数生成优化的拟合三角网格; C、将所述拟合三角网格拼接回所述原三维模型的三角网格中。
2.根据权利要求I所述的方法,其特征在于,在所述步骤A之前包括 D、选择所述原三维模型上需要进行拟合优化的三维模型区域。
3.根据权利要求I所述的方法,其特征在于,所述步骤A包括 Al、分别获取所述原三维模型的三角网格中的每个三角形的第一顶点数组、第一三角形数组以及第一相邻关系数组; A2、构建第二顶点数组、第二三角形数组以及第二相邻关系数组,以表示所述选择的三维模型区域的三角网格; A3、标记所述选择的三维模型区域的三角网格的第二三角形数组中的边界边,将所述第二三角形数组中共享顶点的边界边连接,构成不同的集合,并提取所有所述集合中最大的首尾相连的集合作为所述选择的三维模型区域的外边界; A4、提取所述外边界边上的所有顶点坐标,并采用移动最小二乗法拟合出ー个平面,根据平面法向量与世界坐标系任一坐标轴方向的夹角计算映射矩阵; A5、将所述选择的三维模型区域的第二顶点数组乘以所述映射矩阵,并投影到所述平面,由所述外边界开始在对应的方向以特定步长向内采样,得到样本点矩阵; A6、使用移动最小二乗法计算形函数。
4.根据权利要求3所述的方法,其特征在于,所述步骤Al包括 A12、使用线性浮点型数组保存所述原三维模型的三角网格中的每个三角形的顶点坐标,获得所述三角网格的第一顶点数组; A13、使用线性整数型数组保存所述原三维模型的三角网格的顶点索引,获得所述三角网格的第一三角形数组; A14、使用ニ维整型数组保存所述原三维模型的三角网格中的每个三角形的顶点所属的三角形索引,获得所述三角网格的第一相邻关系数组。
5.根据权利要求4所述的方法,其特征在于,所述步骤A2包括 A21、在所述选择的三维模型区域内的三角网格中任取ー个三角形作为种子三角形;A22、根据所述原三维模型的三角网格的相邻关系,以所述种子三角形为起始作阈值连通捜索,获得所述选择的三维模型区域的第二顶点数组、第二三角形数组,以及第二相邻关系数组; A23、将所述选择的三维模型区域的第二顶点数组、第二三角形数组以及第二相邻关系数组写入所述选择的三维模型区域的三角网格的相应的数组中,并且在所述原三维模型的三角网格中将所述种子三角形标记为应删除状态; 在所述步骤A5中,所述向内采样的特定步长为ー个限定的浮点数值;或者为与所述选择的三维模型区域相关的自适应浮点数值。
6.根据权利要求5所述的方法,其特征在于,所述步骤B包括 BI、构建第三顶点数组、第三三角形数组和第三相邻关系数组,以表示拟合获得的拟合ニ角网格;B2、按照所述特定步长提取所述选择的三维模型区域的对应坐标的值,井根据所述形函数计算世界坐标系中的另ー值,获得拟合点矩阵的坐标; B3、将所述拟合点矩阵作为三角化算法的输入,跟踪所述外界边的顶点顺序,并将外边界作为所述三角化算法的边界约束; B4、使用所述三角化算法计算所述拟合三角网格的拓扑结构,并将所述拓扑结构写入所述第三三角形数组中。
7.根据权利要求6所述的方法,其特征在于,在所述步骤A4中,若所述任ー坐标方向为Z轴,则在所述步骤A5中所述对应的方向为X、Y方向;在所述步骤B2中,提供的所述对应坐标的值为提取X、Y方向的值,所述形函数计算世界坐标系中的另ー值为Z方向的值;或者 在所述步骤Α4中,若所述任ー坐标方向为X轴,则在所述步骤Α5中所述对应的方向为Ζ、Υ方向;在所述步骤Β2中,提供的所述对应坐标的值为提取Ζ、Υ方向的值,所述形函数计算世界坐标系中的另ー值为X方向的值;或者 在所述步骤Α4中,若所述任ー坐标方向为Y轴,则在所述步骤Α5中所述对应的方向为Χ、Ζ方向;在所述步骤Β2中,提供的所述对应坐标的值为提取Χ、Ζ方向的值,所述形函数计算世界坐标系中的另ー值为Y方向的值。
8.根据权利要求6所述的方法,其特征在于,所述步骤C包括 Cl、构建第四顶点数组、第四三角形数组和第四相邻关系数组,以表示将所述拟合三角网格拼接回所述原三维模型的三角网格后的三角网格; C2、将所述拟合三角网格的第三顶点数组乘以映射矩阵的逆矩阵,并映射回到所述原三维模型的三角网格所在的世界坐标系; C3、将所述原三维模型的三角网格中未标记为应删除状态的三角形和所述拟合三角网格以顶点不重合的方式对应写入所述第四顶点数组、第四三角形数组和第四相邻关系数组中。
9.根据所述权利要求6所述的方法,其特征在于,所述步骤C3中,以顶点不重合的方式包括在插入新顶点时,首先检查所述对应的所述第四顶点数组、第四三角形数组和第四相邻关系数组中是否存在重合点,若存在则返回所述顶点索引;若不存在则作为新坐标插入对应的所述第四顶点数组、第四三角形数组和第四相邻关系数组中; 所述检查对应的所述第四顶点数组、第四三角形数组和第四相邻关系数组中是否存在重合点的方式包括遍历所有对应的所述第四顶点数组、第四三角形数组和第四相邻关系数组中的顶点坐标,或者以空间划分或者分叉树的方式查询相邻顶点。
10.一种用于实现权利要求I、任一项所述的三角网格数据的拟合优化的方法的系统,所述系统包括 函数生成模块,用于根据在原三维模型上选择的三维模型区域的形状特征拟合形函数; 拟合模块,用于根据所述形函数生成优化的拟合三角网格; 拼接模块,用于将所述拟合三角网格拼接回所述原三维模型的三角网格中。
全文摘要
本发明适用于几何建模领域,提供了一种三角网格数据的拟合优化的方法及其系统,所述方法包括A、根据在原三维模型上选择的三维模型区域的形状特征拟合形函数;B、根据所述形函数生成优化的拟合三角网格;C、将所述拟合三角网格拼接回所述原三维模型的三角网格中。借此,本发明实现了对选择的三维模型区域进行拟合优化。
文档编号G06T17/00GK102737407SQ20121016343
公开日2012年10月17日 申请日期2012年5月24日 优先权日2012年5月24日
发明者叶建平, 张吉帅, 熊彪, 郭李云 申请人:深圳市旭东数字医学影像技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1