一种网格模型的缝合方法与流程

文档序号:11953693阅读:1098来源:国知局
一种网格模型的缝合方法与流程

本发明缝合方法属于三维信息处理技术领域,基于空间几何、计算机图形学和反求工程技术,对三角网格进行优化处理,实现快速、高效的网格模型生成。



背景技术:

在三维反求工程中,单幅面阵扫描的点云数据是有序的,可以按点的排序生成网格模型。但从多个角度拍摄的点云数据,没有一个统一的点序列关系,不能直接按点排序生成完整的网格模型。虽然每片点云可以按照片内的点序生成局部网格模型,但多片点云构成的多个局部网格模型不是一个完整的网格模型,每两个点云面片之间在经过单层化处理后有一个缝隙,需要做缝合处理,才能形成一个完整的网格模型。

两个点云面片之间的缝隙是呈锯齿状的,锯齿边的大小不同,甚至会发生交错,在三维情况下拓扑关系十分复杂,要使缝合后整个网格模型不出现拓扑错误,是当前反求工程的一个技术难题。目前的网格模型生成方法(如Marching Cube)没有拓扑检测机制,不能保证生成的网格模型100%不出现拓扑错误,这为后续工作(比如3D打印的模型分层处理)带来巨大不便。



技术实现要素:

本发明的目的在于提供一种网格模型的缝合方法,该缝合方法可以缝合相邻的网格模型,且不出现拓扑错误。

为实现上述目的,本发明提供一种网格模型的缝合方法,所述缝合方法包括:获取多幅点云集合;按照每个单幅点云的点顺序,生成由三角形构成的单幅网格模型;确定所有单幅网格模型的边界作为网格模型的待缝合边界;选取某一单幅网格模型的待缝合边界的任意一边进行新增三角形,其中,新增三角形的底边为所述任意一边,所述新增三角形的顶点为所选取某一单幅网格模型的临近单幅网格模型的待缝合边界上的顶点;检查新增三角形周边的拓扑正确性,若拓扑正确则选用新增三角形;将临近的单幅网格模型缝合在一起。

优选地,所述缝合方法还包括:对获取的多幅点云集合进行单层化处理后再生成所述单幅网格模型。

优选地,所述检查新增三角形的拓扑正确性的步骤包括:判断新增三角形与所选取的某一单幅网格模型相邻面的面-面夹角是否为钝角,若不为钝角,则判定新增三角形的拓扑为错误。

优选地,所述检查新增三角形的拓扑正确性的步骤包括:判断是否存在顶点在新增三角形中或在新增三角形的平面法向量的双向小于其最长边长高度的范围中,若存在,则判定新增三角形的拓扑为错误。

优选地,所述检查新增三角形的拓扑正确性的步骤包括:判断是否存在边在新增三角形内或穿过新增三角形,若存在,则判定新增三角形的拓扑为错误。

优选地,所述检查新增三角形的拓扑正确性的步骤包括:判断是否存在面在新增三角形内或穿过新增三角形,若存在,则判定新增三角形的拓扑为错误。

优选地,所述检查新增三角形的拓扑正确性的步骤包括:判断是否存在三个以上的三角形共用一条边,若存在,则判定新增三角形的拓扑为错误。

优选地,所述检查新增三角形的拓扑正确性的步骤包括:判断新增三角形的平面法向方向是否与其它网格的法相方向相同,若不相同,调整为相同,若无法调整为相同,则判定新增三角形的拓扑为错误。

优选地,对于选取某一单幅网格模型的待缝合边界的任意一边,若有多个新增三角形的拓扑正确,首先保证新增三角形的边-边夹角至少大于10°,小于170°,然后选取最接近正三角形的新增三角形。

优选地,若存在待缝合边界的边均无法新增三角形,将所有无法形成新增三角形的边重新开始进行所述新增三角形,此时,新增三角形与所选取的某一单幅网格模型相邻面的面-面夹角可以为锐角,且新增三角形的边-边夹角可以为0-180°的任意值。

本发明方法具有如下优点:

本方法提出的基于三维拓扑检测的网格缝合方法,可以保证生成的网格模型100%没有拓扑错误,且算法速度快,为O(N),其中N为待缝合的边数。

附图说明

图1包括经过单层化处理后的两幅点云集合的一种具体实施方式的结构示意图。

图2包括图1中的点云集合生成的两幅由三角形构成的单幅网格模型的一种具体实施方式的结构示意图。

图3包括图2中两幅单幅网格模型的第一个新增三角形的一种具体实施方式的结构示意图(即包括粗实线的三角形)。

图4包括图2中两幅单幅网格模型的第一次进行新增三角形以及再新增三角形的一种具体实施方式的结构示意图(即包括粗实线和粗虚线的三角形)。

图5包括图2中两幅单幅网格模型的第二次进行新增三角形所新增三角形的一种具体实施方式的结构示意图(即包括细虚线的三角形)。

具体实施方式

以下实施例用于说明本发明,但不用来限制本发明的范围。

如图1-4所示,获取多幅点云集合;按照每个单幅点云的点顺序,生成由三角形构成的单幅网格模型;确定所有单幅网格模型的边界作为网格模型的待缝合边界;选取某一单幅网格模型的待缝合边界的任意一边进行新增三角形,其中,新增三角形的底边为所述任意一边,所述新增三角形的顶点为所选取某一单幅网格模型的临近单幅网格模型的待缝合边界上的顶点;检查新增三角形周边的拓扑正确性,若拓扑正确则选用新增三角形;将临近的单幅网格模型缝合在一起。

如图1和图2所示,所述缝合方法还可以包括:对获取的多幅点云集合进行单层化处理后再生成所述单幅网格模型。获取多幅点云集合的方法(图1中为两幅)和对多幅点云进行单层化处理的方法以及生成由三角形构成的单幅网格模型的方法是本领域技术人员所熟知的,本发明不再赘述。

如图2所示,所述待缝合边界为三角形的边。

本发明中,所述检查新增三角形的拓扑正确性的步骤可以包括:1、判断新增三角形与所选取的某一单幅网格模型相邻面的面-面夹角是否为钝角(大于90度),若不为钝角,则判定新增三角形的拓扑为错误;2、判断是否存在顶点在新增三角形中或在新增三角形的平面法向量的双向小于其最长边长高度的范围中,若存在,则判定新增三角形的拓扑为错误;3、判断是否存在边在新增三角形内或穿过新增三角形,若存在,则判定新增三角形的拓扑为错误;4、判断是否存在面在新增三角形内或穿过新增三角形(新的三角形的局部二维流形是否同胚于一个平面),若存在,则判定新增三角形的拓扑为错误;5、判断是否存在三个以上的三角形共用一条边,若存在,则判定新增三角形的拓扑为错误;6、判断新增三角形的平面法向方向是否与其它网格的法相方向相同,若不相同,调整为相同,若无法调整为相同,则判定新增三角形的拓扑为错误,新的三角形的平面法向方向与已有网格是否一致。具体来说,新三角形平面法向有正、负两个方向,其正负选择应该与周围网格法向相同,否则应改变其法向方向。已有的网格碎块之间有可能存在法向方向不一致的情况,新的三角形把两个(或多个)网格碎块连接起来,需要调整各网格碎块的法向方向,使连接后整个网格的法向方向一致。如果不能调整到法向一致,则判定为新三角形拓扑错误。避免发生莫比乌斯环的拓扑错误。

如图4所示,一种具体实施方式,对于选取某一单幅网格模型的待缝合边界的任意一边,若有多个新增三角形的拓扑正确,首先保证新增三角形的边-边夹角至少大于10°,小于170°,然后选取最接近正三角形的新增三角形,例如可以将该三角形最大的角减去最小角的差值大小作为比较标准,该差值越大则越不接近新增三角形。这样可以保证整个网格缝合后顶点及边的分布是均匀的。

如图5所示,一种具体实施方式,若存在待缝合边界的边均无法新增三角形,将所有无法形成新增三角形的边重新开始进行所述新增三角形,此时,新增三角形与所选取的某一单幅网格模型相邻面的面-面夹角可以为锐角,且新增三角形的边-边夹角可以为0-180°的任意值。通过该步骤即可将所有的网格模型的缝隙均缝合。

虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1