CN106204738B - 一种网格模型的缝合方法 - Google Patents
一种网格模型的缝合方法 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite 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°的任意值。
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)
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)
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)
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 |
-
2016
- 2016-06-30 CN CN201610506466.8A patent/CN106204738B/zh not_active Expired - Fee Related
Patent Citations (2)
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)
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 |