CN106204738B - 一种网格模型的缝合方法 - Google Patents

一种网格模型的缝合方法 Download PDF

Info

Publication number
CN106204738B
CN106204738B CN201610506466.8A CN201610506466A CN106204738B CN 106204738 B CN106204738 B CN 106204738B CN 201610506466 A CN201610506466 A CN 201610506466A CN 106204738 B CN106204738 B CN 106204738B
Authority
CN
China
Prior art keywords
newly
triangle
increased
grid model
single width
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201610506466.8A
Other languages
English (en)
Other versions
CN106204738A (zh
Inventor
徐杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Advanced Materials & Additive Manufacturing Institute Co Ltd
Original Assignee
Beijing Advanced Materials & Additive Manufacturing Institute Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Advanced Materials & Additive Manufacturing Institute Co Ltd filed Critical Beijing Advanced Materials & Additive Manufacturing Institute Co Ltd
Priority to CN201610506466.8A priority Critical patent/CN106204738B/zh
Publication of CN106204738A publication Critical patent/CN106204738A/zh
Application granted granted Critical
Publication of CN106204738B publication Critical patent/CN106204738B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation

Abstract

本发明公开了一种网格模型的缝合方法,其特征在于,所述缝合方法包括:获取多幅点云集合;对所述多幅点云集合进行单层化处理;按每个单幅点云的点顺序,生成由三角形构成的单幅网格模型;确定所有单幅网格模型的边界作为网格模型的待缝合边界;选取某一单幅网格模型的待缝合边界的任意一边进行新增三角形,其中,新增三角形的底边为所述任意一边,所述新增三角形的顶点为所选取某一单幅网格模型的临近单幅网格模型的待缝合边界上的顶点;检查新增三角形周边的拓扑正确性,若拓扑正确则选用新增三角形;将临近的单幅网格模型缝合在一起。本发明的缝合方法可以缝合相邻的网格模型,且不出现拓扑错误。

Description

一种网格模型的缝合方法
技术领域
本发明缝合方法属于三维信息处理技术领域,基于空间几何、计算机图形学和反求工程技术,对三角网格进行优化处理,实现快速、高效的网格模型生成。
背景技术
在三维反求工程中,单幅面阵扫描的点云数据是有序的,可以按点的排序生成网格模型。但从多个角度拍摄的点云数据,没有一个统一的点序列关系,不能直接按点排序生成完整的网格模型。虽然每片点云可以按照片内的点序生成局部网格模型,但多片点云构成的多个局部网格模型不是一个完整的网格模型,每两个点云面片之间在经过单层化处理后有一个缝隙,需要做缝合处理,才能形成一个完整的网格模型。
两个点云面片之间的缝隙是呈锯齿状的,锯齿边的大小不同,甚至会发生交错,在三维情况下拓扑关系十分复杂,要使缝合后整个网格模型不出现拓扑错误,是当前反求工程的一个技术难题。目前的网格模型生成方法(如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°的任意值。通过该步骤即可将所有的网格模型的缝隙均缝合。
虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。

Claims (8)

1.一种网格模型的缝合方法,其特征在于,所述缝合方法包括:
获取多幅点云集合;
按照每个单幅点云的点顺序,生成由三角形构成的单幅网格模型;
确定所有单幅网格模型的边界作为网格模型的待缝合边界;
选取某一单幅网格模型的待缝合边界的任意一边进行新增三角形,其中,新增三角形的底边为所述任意一边,所述新增三角形的顶点为所选取某一单幅网格模型的临近单幅网格模型的待缝合边界上的顶点;
检查新增三角形周边的拓扑正确性,若拓扑正确则选用新增三角形;
将临近的单幅网格模型缝合在一起;
所述检查新增三角形的拓扑正确性的步骤包括:判断新增三角形与所选取的某一单幅网格模型相邻面的面-面夹角是否为钝角,若不为钝角,则判定新增三角形的拓扑为错误。
2.根据权利要求1所述的缝合方法,其特征在于,所述检查新增三角形的拓扑正确性的步骤包括:判断是否存在顶点在新增三角形中或在新增三角形的平面法向量的双向小于其最长边长高度的范围中,若存在,则判定新增三角形的拓扑为错误。
3.根据权利要求1所述的缝合方法,其特征在于,所述检查新增三角形的拓扑正确性的步骤包括:判断是否存在边在新增三角形内或穿过新增三角形,若存在,则判定新增三角形的拓扑为错误。
4.根据权利要求1所述的缝合方法,其特征在于,所述检查新增三角形的拓扑正确性的步骤包括:判断是否存在面在新增三角形内或穿过新增三角形,若存在,则判定新增三角形的拓扑为错误。
5.根据权利要求1所述的缝合方法,其特征在于,所述检查新增三角形的拓扑正确性的步骤包括:判断是否存在三个以上的三角形共用一条边,若存在,则判定新增三角形的拓扑为错误。
6.根据权利要求1所述的缝合方法,其特征在于,所述检查新增三角形的拓扑正确性的步骤包括:判断新增三角形的平面法向方向是否与其它网格的法相方向相同,若不相同,调整各网格碎块的法向为相同,使连接后整个网格的法向方向一致,若无法调整为相同,则判定新增三角形的拓扑为错误。
7.根据权利要求1所述的缝合方法,其特征在于,对于选取某一单幅网格模型的待缝合边界的任意一边,若有多个新增三角形的拓扑正确,首先保证新增三角形的边-边夹角至少大于10°,小于170°,然后选取最接近正三角形的新增三角形。
8.根据权利要求1所述的缝合方法,其特征在于,若存在待缝合边界的边均无法新增三角形,将所有无法形成新增三角形的边重新开始进行所述新增三角形,此时,新增三角形与所选取的某一单幅网格模型相邻面的面-面夹角可以为锐角,且新增三角形的边-边夹角可以为0-180°的任意值。
CN201610506466.8A 2016-06-30 2016-06-30 一种网格模型的缝合方法 Expired - Fee Related CN106204738B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610506466.8A CN106204738B (zh) 2016-06-30 2016-06-30 一种网格模型的缝合方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610506466.8A CN106204738B (zh) 2016-06-30 2016-06-30 一种网格模型的缝合方法

Publications (2)

Publication Number Publication Date
CN106204738A CN106204738A (zh) 2016-12-07
CN106204738B true CN106204738B (zh) 2018-09-25

Family

ID=57464369

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610506466.8A Expired - Fee Related CN106204738B (zh) 2016-06-30 2016-06-30 一种网格模型的缝合方法

Country Status (1)

Country Link
CN (1) CN106204738B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113628343B (zh) * 2021-10-09 2021-12-07 贝壳技术有限公司 三维网格的合并处理方法和装置、存储介质
CN114241124B (zh) * 2021-11-17 2022-10-18 埃洛克航空科技(北京)有限公司 三维模型中缝合边确定方法、装置和设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101799936A (zh) * 2010-03-22 2010-08-11 董洪伟 基于分片的特征敏感的曲面重建方法
CN105447908A (zh) * 2015-12-04 2016-03-30 山东山大华天软件有限公司 基于口腔扫描数据和cbct数据的牙列模型生成方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7215810B2 (en) * 2003-07-23 2007-05-08 Orametrix, Inc. Method for creating single 3D surface model from a point cloud

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101799936A (zh) * 2010-03-22 2010-08-11 董洪伟 基于分片的特征敏感的曲面重建方法
CN105447908A (zh) * 2015-12-04 2016-03-30 山东山大华天软件有限公司 基于口腔扫描数据和cbct数据的牙列模型生成方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
保持特征的网格修补;钱归平 等;《中国图象图形学报》;20100228;第15卷(第2期);334-339 *
地质构造的三维可视化;朱大培 等;《北京航空航天大学学报》;20010831;第27卷(第4期);448-451 *
基于缺陷特征的三角形网孔模型自动修复算法;王俐 等;《南昌大学学报(理科版)》;20140630;第38卷(第3期);295-300 *

Also Published As

Publication number Publication date
CN106204738A (zh) 2016-12-07

Similar Documents

Publication Publication Date Title
CN106204738B (zh) 一种网格模型的缝合方法
CN109993783A (zh) 一种面向复杂三维建筑物点云的屋顶及侧面优化重建方法
US9881418B2 (en) Identifying features in polygonal meshes
CN106528622B (zh) 一种面向s57海图数据的抽稀方法
CN104318621B (zh) 基于非均匀有理b样条曲面插值的船体曲面重构方法
CN108961271A (zh) 一种彩色3d点云超体素凹凸分割算法
US20130297058A1 (en) Decomposition of 3d geometry into developable surface patches and 2d cut patterns
CN102945567B (zh) 室内场景的分类与重建方法及系统
Weber et al. Sharp feature preserving MLS surface reconstruction based on local feature line approximations
CN111583409B (zh) 针对实景三维模型的无网格边界孔洞修补方法和装置
US20070291029A1 (en) Unification and part hiding in three dimensional geometric data
Attene As-exact-as-possible repair of unprintable STL files
CN109636889B (zh) 一种基于动态缝合带的大规模三维地形模型渲染方法
CN107610228A (zh) 基于海量点云的曲面增量拓扑重建方法
CN103489221B (zh) 四边形网格共形参数化方法
CN103606193B (zh) 一种自适应细分方法及装置
Grimm et al. Shape classification and normal estimation for non-uniformly sampled, noisy point data
De Berg et al. Optimal BSPs and rectilinear cartograms
CN101799936A (zh) 基于分片的特征敏感的曲面重建方法
Gao et al. A modified harmony search method in constrained optimization
CN103116593A (zh) 一种基于多核架构的计算凸壳的并行算法
Das et al. Computing the straight skeleton of a monotone polygon in O (n log n) time.
Janson et al. Hierarchical cellular genetic algorithm
CN106157371A (zh) 基于自适应周向扩张策略的散乱点云高效网格化方法
CN109819462A (zh) 一种解决随机异构传感网冗余感知的节点调度方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180925

Termination date: 20190630

CF01 Termination of patent right due to non-payment of annual fee