CN108460837A - 面向采样不足散乱点集的三角网格曲面重建方法 - Google Patents
面向采样不足散乱点集的三角网格曲面重建方法 Download PDFInfo
- Publication number
- CN108460837A CN108460837A CN201810170909.XA CN201810170909A CN108460837A CN 108460837 A CN108460837 A CN 108460837A CN 201810170909 A CN201810170909 A CN 201810170909A CN 108460837 A CN108460837 A CN 108460837A
- Authority
- CN
- China
- Prior art keywords
- triangle
- curved surface
- hole
- candidate
- point
- 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.)
- Pending
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
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
本发明公开了面向采样不足散乱点集的三角网格曲面重建方法,包括如下的步骤:S1:对整个采样点集做三维Delaunay算法,得到四面体集合,进而得到组成这些四面体的三角形集合;S2:选择种子三角形:从三角形集合中选出一个三角形,作为曲面的起始生长的种子三角形,规定种子三角形的法向量方向;S3:从种子三角形开始,迭代为每条只连接一个三角形的边,从三维Delaunay与该边相连的三角形集合中选择另一个合适的三角形,直到曲面上没有生长边或所有生长边又无合适的三角形可选;S4:对于曲面上可能留下的不平整洞,进行洞的扩张操作。本发明能够大量减少传统区域增长法由于三角形选择错误而造成的重建质量差的现象,对于采样不足的曲面具有较好的重建效果。
Description
技术领域
本发明涉及信息处理技术领域,具体涉及一种面向采样不足散乱点集的三角网格曲面重建方法。
背景技术
曲面重建技术就是以一定方式将三维信息加以整理,转化成计算机能够识别、处理的数据,将三维物体数据结构中所蕴涵的几何信息恢复成图形、图像显示出来,由此可以方便、快捷地对物体进行定量的分析、显示和处理等。
曲面重建技术现已广泛应用于前沿科学的各个方面,例如产品设计中的逆向工程、工业产品造型的三维重构、三维游戏中三维模型的建立、人脸识别、医学仿生、三维动画制作等。曲面重建技术按照曲面的表现形式来分,可分为网格曲面、参数曲面、隐式曲面、变形曲面、细分曲面等几个重建方法,其中,网格曲面重建方法数学原理简单,具有强大的表面表达能力,对于任意拓扑和任意形状的模型表面都可以表达,已成为近年来研究的热点。
由于三角形是最简单的多边形,同时任意多边形都可以分解成三角形,所以网格曲面中最常采用的就是三角形网格。国内外的专家学者根据不同的需求,对三角网格曲面重建技术进行了大量的深入研究,先后提出了场函数法、基于约束Delaunay的方法、切平面法、区域增长法、雕刻法等算法。其中区域增长法因为其算法灵活度高,效率快,可以直接得到方向性曲面,无需再进行曲面三角形方向一致化操作等优点得到了广泛应用。
区域增长法是一种从种子三角形的初始区域开始,按照某种规则迭代选取三角形添加到区域中的算法。
近年来,国内外的专家学者提出了多种区域增长法。
Bernardini等在2000年提出了一种滚球法,让半径为α的球以生长边为轴滚动,将遇到的新的采样点与轴所在的边形成的三角形加入到表面三角形集合中。该方法是一种时间和空间效率都特别高的方法,但是α的值很难确定。
Huang和Menq提出了一种算法,该算法将生长边的两个端点及其的k近邻点投影到二维平面,如果选择的生长三角形与已在表面上的三角形在二维平面内边有交叉,那么这个三角形删除,从剩余三角形中选择对顶点到生长边两端点距离最近的三角形作为最优加入到表面中。这种算法在投影时会使点距离发生变化,重建曲面质量也受到人为确定参数k的影响。
Lin等在文献中指出了Huang和Menq算法的这些问题,并提出了一种IPD算法作为改进。IPD算法在添加三角形时首先计算出生长边的影响域,然后使用加权最小长度准则从影响域中选择点形成三角形加入到表面中,避免了k值只选取的问题。除此之外,三角形的选取还可以来自于三维Delaunay所形成的三角形集合中,三维Delaunay的结构特点可以作为散乱点几何信息的补充,因此这种三角形选取方式健壮性更高。
Kuo等提出了一种DBRG方法,该方法从采样点的三维Delaunay集合中选取三角形,选取的三角形是外接圆半径最小的,添加三角形的顺序按照与所连接的曲面上已添加三角形的夹角由小到大的顺序加入到曲面中,且加入的三角形要符合可定向二维流形拓扑条件。这与Cohen-Steiner和Da在文献中提出的Greedy算法类似。但是Greedy算法还增加了选择的三角形要满足其外接球不包含其他点和横跨边界的三角形要成对出现的原则,建模效果要更好一些。
尽管如此,目前诸多已提出的区域增长法中,仍然没有一种对于采样不足的曲面具有较好的重建效果。
针对上述已有技术状况,本发明申请人做了大量反复而有益的探索,最终形成了下面将要介绍的技术方案。
发明内容
针对上述的不足,本发明提供了一种面向采样不足散乱点集的三角网格曲面重建方法,能够大量减少传统区域增长法由于三角形选择错误而造成的重建质量差的现象,对于采样不足的曲面具有较好的重建效果。此外,本方法还可以对区域增长法后曲面上存在的各种形式洞进行修补。
本发明是通过以下技术方案实现的:一种面向采样不足散乱点集的三角网格曲面重建方法,包括如下的步骤:
S1:对整个采样点集做三维Delaunay算法,得到四面体集合,进而得到组成这些四面体的三角形集合;
S2:选择种子三角形:从三角形集合中选出一个三角形,作为曲面的起始生长三角形,称为种子三角形,并规定种子三角形的法向量方向;
S3:从种子三角形开始,把每条只连接一个三角形的边称为生长边,迭代为每条生长边从三维Delaunay与该边相连的三角形集合中选择另一个合适的三角形,直到曲面上没有生长边或所有生长边又无合适的三角形可选;
S4:对于曲面上可能留下的不平整洞(指洞上边向洞上点的拟合切平面上投影会发生交叠的洞),进行洞的扩张操作,即删除洞上边周围的三角形,直到所有洞变得平整,之后通过洞上边和洞上点相连组成三角形的方式将洞补齐。
作为优化,所述步骤S2具体包括如下步骤:
S21:从整个采样点集中随机选取点P,找到与该点相连的三维Delaunay中最小外接圆半径最小的三角形t;
S22:将t的三边定义为e1、e2、e3,分别找到三维Delaunay中与e1、e2、e3相连的最小外接圆半径最小的三角形t1、t2、t3,分别判断t1、t2、t3与t的夹角,如果夹角都小于θseed,θseed为20度,则进行S23,否则重新选择点P’,进行S21;
S23:以t的最小外接圆为底面,t的法线为轴向底面的两侧延伸做一个无限长的圆柱,以t为界,如果只有t的一侧有点,有点的一侧标记为内侧,无点的一侧标记为外侧,并以指向外侧的法线方向为其正方向,种子三角形选择完毕;如果t的两侧都有点或者都无点,则重新选择点P’,进行S21。
作为优化,所述步骤S3具体包括如下步骤:
S31:在曲面生长过程中,每添加一个三角形,都有可能在曲面上添加新的可继续添加三角形的生长边。对于每条生长边e,我们为其选择一个三角形t作为候选的继续生长的三角形,该三角形从步骤S1得到的与该边相连的三角形集合T的中选择三角形t;
选择三角形的具体步骤如下:
S311:选择的三角形t的三条边都不是内部边;
S312:选择的三角形t与当前生长边e相对的顶点P不是内部点;
S313:选择的三角形t与当前生长边e连接的已经选入曲面的三角形tb的法线之间的夹角要小于θsliver,θsliver值为150度;
S314:判断每一个T中除tb和t外的三角形t’与t的法线夹角;
若存在任意一个该夹角小于30度的t’,该t’与e相对的点P’以t法线为垂线的垂点落在该t内部,则该t不能作为可选择的三角形,将该条件作为三角形判断折叠条件1;
S315:设三角形的三个顶点为P1、P2、P3,t中除e外的两边为e1、e2;
若当前曲面e1、e2都没有连接三角形,则找到目前曲面上与P1、P2和P3相连的除e、e1、e2外的所有边;否则跳过S315的判断;
若有任何一条边在t所在面的投影落在t内部,则该t不能作为可选择的三角形,将该条件作为三角形判断折叠条件2;
S316:选择三角形t除e外的其他两条边e1、e2至少有一个已在曲面上有一个连接的三角形t1、t2,判断t的顶点方向是否与t1、t2的计算法线的顶点方向一致,若存在不一致的t1或t2出现,则该t不能作为可选择的三角形;
S317:选择三角形t如果除e外的其他两条边e1、e2至少有一个已在曲面上有一个连接的三角形t1、t2,则判断t与t1、t2的法线夹角,若大于θsliver,则该t不能作为可选择的三角形;
S318:将满足上述条件的t选择出来,加入到可选三角形集合Tcandidate;若无法找到满足条件的t,则该边不选择三角形,否则,继续进行步骤S319。
S319:计算Tcandidate中每一个三角形的法线和tb的法线之间的夹角θ,找到其中小于θflat,θflat值为18度,且最小外接圆半径小于与e的两端点相连的表面三角形中最小外接圆半径最大值k倍的三角形,k值为2,加入集合T’;找到T’中最小外接圆半径最小的三角形,即为最终所求的候选三角形t;若T’为空,则从Tcandidate中找到最小外接圆半径最小的三角形,即为最终所求的t;
S32:为每条新生成的生长边添加候选三角形后,并不把候选三角形直接添加到曲面中,而是按照优先级从高到低将所有生长边的候选三角形进行排列,候选三角形优先级p的计算公式为:
其中r为候选三角形的最小外接圆半径,θt为候选三角形法线与tb的法线夹角,θt为一个常数,θt为30度;
S33:按照优先级从高到低添加三角形CT,包括以下5种情况:
a、当CT不符合S311或S312的条件时,该CT删除,并为其生长边重新选择候选三角形,再进行新的最高优先级CT的判断;
b、当CT除e外的另外两条边e1,e2在曲面上都已经连接了另外一个三角形时,把e、e1、e2都变为内部边,CT上的点全部变为内部点;
c、当CT除e外的另外两条边e1,e2中只有e1(e2)已经连接了另外一个三角形时,把e、e1(e2)变为内部边,e、e1(e2)的交点变为内部点,e2(e1)变为新的生长边,并按S31、S32选择候选三角形加入优先级排列;
d、当CT除e外的另外两条边e1,e2都没有连接另外一个三角形,且e1、e2的交点不在目前曲面的边界上时,将e变为内部边,为e1和e2按步骤S31、S32选择候选三角形加入优先级排列;
e、当CT除e外的另外两条边e1,e2都没有连接另外一个三角形,且e1、e2的交点在目前曲面的边界上时,保持该三角形优先级不变,先处理优先级次之的候选三角形,直到曲面上出现优先级比当前CT高且含有e1或e2的候选三角形CTtwin出现,CT和CTtwin一起加入到曲面中,共同的边e1(e2)变为内部边,并为新生成的生长边按步骤S31、S32选择候选三角形加入优先级排列;
每添加一个候选三角形就将该CT从优先级排列中删除,重复进行a~e,直到优先级排列为空,即全部候选三角形都添加到曲面中时,结束三角形的添加。
作为优化,所述步骤S4具体包括如下步骤:
S41:假设洞的初始生长边集合为A,从集合A中找到任意两条相连的生长边e1、e2,设其在曲面上已连接的三角形为t1,t2,边e1、e2组成的三角形为t3,将t1、t2、t3法向量一致化,判断t1与t3、t2与t3的法线夹角,若夹角都小于θsliver,则将t3加到候选补洞三角形集合Tr中去,并以优先级1/r(r为该三角形的最小外接圆半径)对其进行排列。对集合A中相连的生长边两两进行检测,将所有符合条件的三角形加入到Tr中去;
S42:若此时Tr不为空,且洞还未完全封闭,则按照优先级将Tr中三角形加入到曲面中,向曲面添加补洞三角形的方式按步骤S33中(a)(b)(c)中所述的方式来处理,重复进行该步骤,并不断更新洞上生长边和候选补洞三角形,直到Tr为0或洞已封闭;
S43:判断此时洞是否已经封闭,如果是,则该洞处理完毕,否则进行步骤S44;
S44:找出此时洞上生长边是否有属于集合A的,如果有,则先将所有已经补上的三角形删除,再将所有符合该条件的边在曲面上已连接的三角形删除,重复进行步骤S41-S44;如果没有,则先将所有已经补上的三角形删除,再将所有A集合的边在曲面上已连接的三角形删除,重复进行步骤S41-S44。
所述步骤S44中三角形删除具体包括如下步骤:
S441:若删除三角形上有边与另一个洞H2相连,则将H1、H2合并进行处理;
S442:若删除三角形后洞上出现一个点连接2个以上洞上边的情况,则将该点连接的洞上边所连接的表面三角形都删除;
S443:若删除三角形后洞上边首尾相连形成的洞不止1个,则对形成的多个洞分别进行处理。
本发明的有益效果:
(1)本发明一种面向采样不足散乱点集的三角网格曲面重建方法,通过一种新的种子三角形的选择方式,该方式以最小外接圆半径小且与周边曲面三角形夹角也较小的三角形有很高的可能性为正确的曲面三角形为原则,提高了种子三角形的选择正确率,避免了传统算法中将种子三角形选择为噪音点连接三角形、采样不足区域连接的三角形的问题。
(2)本发明一种面向采样不足散乱点集的三角网格曲面重建方法,通过取消空球原则并添加新的候选三角形筛选原则,使算法能够适用于采样稀疏的区域。
(3)本发明一种面向采样不足散乱点集的三角网格曲面重建方法,实现了对区域增长法后曲面上仍可能存在的各种形式洞进行修补。
(4)本发明一种面向采样不足散乱点集的三角网格曲面重建方法,在Delaunay算法和区域增长法的基础上,通过对种子三角形选择方式的改进、取消空球准则、对原有区域增长法中三角形选择规则和添加顺序的改变、更新曲面上洞的检测和修补方式的方法,能够有效减少曲面重建过程中由于三角面选择错误而造成的重建质量差的现象,可以适用于任意可定向二维流形曲面,尤其是采样稀疏的区域,得到了较好的模型重建质量。
附图说明
图1为整体算法流程图;
图2为选择候选三角形流程图;
图3为曲面生长流程图;
图4为判断相邻三角形顶点方向是否一致示意图;
图5为洞处理流程图;
图6为本发明中测试点集原始数据示意图;
图7为本发明中种子三角形选择示意图;
图8为本发明中候选三角形的选择示意图;
图9为本发明中三角形判断折叠条件1示意图;
图10为本发明中添加候选三角形规则示意图;
图11为本发明中洞处理示意图;
图12为本发明中洞处理中与其他洞相遇示意图;
图13为本发明中洞处理中多重连接点示意图;
图14为本发明中洞处理中洞分离示意图;
图15为本发明中海底山体数据最终曲面重建结果示意图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本方案进行阐述。
如图1-15所示,本实施案例面向从海底山体表面采集的散乱点集,如图6所示,共849569个点,应用本发明所提出一种面向采样不足散乱点集的三角网格曲面重建方法,具体包括以下步骤:
第一步:对整个采样点集做三维Delaunay算法,得到四面体集合。
第二步:选择种子三角形,从三角形集合中选出一个三角形,作为曲面的起始生长三角形,称为种子三角形,并规定种子三角形的法向量方向。其具体步骤如下:
(1)从整个采样点集中随机选取点P,找到与该点相连的三维Delaunay中最小外接圆半径最小的三角形t,如图7所示,选取的点P连接的三维Delaunay中最小外接圆半径最小的三角形为ts。
(2)设t的三边为e1、e2、e3,分别找到三维Delaunay中与e1、e2、e3相连的最小外接圆半径最小的三角形t1、t2、t3,分别判断t1、t2、t3与t的夹角,设其中t1、t2、t3与t的夹角都小于θseed,θseed取20度,则进行(3)。
(3)以t的最小外接圆为底面,t的法线为轴向t的两侧延伸做一个无限长的圆柱,如图7所示。以t为界,发现只有t的上侧有点,则将t下侧标记为内侧,t的上侧标记为外侧,并以指向外侧的法线方向为其正方向,种子三角形选择完毕。
第三步:从种子三角形开始,通过不断为曲面添加三角片的形式完成对曲面的初步重建,主要步骤如下:
(1)选择候选三角形
迭代为每条只连接一个三角形的边(生长边)从三维Delaunay与该边相连的三角形集合中选择另一个合适的三角形。如图8所示,从种子三角形开始为其每一条边AB、BP、PA选择候选三角形。当为BP选择候选三角形时,首先从组成四面体的三角形集合中找到以BP为边的所有三角形,分别为PP1B,PP2B,PP3B,PP4B,PP5B,PP6B,组成集合T。对这些三角形做以下筛选:
a、选择的三角形t的三条边都不是内部边(内部边为已连接两个三角形的边),以上6个三角形均符合该条件。
b、选择的三角形t与当前生长边BP相对的顶点Pn不是内部点(内部点为有边与其连接且与该点连接的所有边都是内部边的点),以上6个三角形均符合该条件。
c、选择的三角形t与当前生长边BP连接的已经选入曲面的三角形ABP的法线(法线已经过一致化)之间的夹角要小于θsliver,θsliver值为150度,分别计算以上6个三角形与三角形ABP的法线夹角,发现PBP1法线角度为155度,不符合该条件,其余均小于150度,符合该条件。
d、找到三维Delaunay中与BP相连的所有除ABP外的三角形,即仍为PP1B~PP6B这六个三角形,判断其中每一个三角形t与其他几个三角形t’的法线夹角,如果存在任意一个该夹角小于30度的t’,其与BP相对的点Pn以t法线为垂线的垂点落在该t内部,则该t不能作为可选择的三角形。如图9所示,当把三角形PP3B与其他几个三角形做判断,判断到三角形PP2B时,PP2B的法线与PP3B夹角为20度,小于30度,且由P2向面PP3B作垂线,其垂点P’落在三角形PP3B内,所以三角形PP3B不能作为候选三角形。其他三角形经检测找不到符合以上两个条件的另外5个三角形,所以通过该条判断。
e、找到目前表面上与B、P、Pn相连的除BP、BPn、PPn外的所有边,并判断选择的三角形t除BP外的其他两条边BPn、PPn是否连接三角形在图8中,BPn、PPn都未连接表面三角形,且与B、P相连的表面上边只有BP、AB和AP,不存在向t所在面的投影落在t内部的边,通过该条判断。
f、当选择的三角形t除BP外的其他两条边BPn、PPn至少有一个已在曲面上有一个连接的三角形t1、t2时,判断t的顶点方向是否与t1、t2的计算法线的顶点方向一致,如果有不一致t1或t2出现则该t不能作为可选择的三角形。这6个三角形的BPn、PPn均在之前曲面上均未连接三角形,所以略过该筛选条件。
g、当选择的三角形t除BP外的其他两条边BPn、PPn至少有一个已在曲面上有一个连接的三角形t1、t2时,判断t与t1、t2的法线夹角,若大于θsliver,则该t不能作为可选择的三角形。这6个三角形的BPn、PPn均在之前曲面上均未连接三角形,所以略过该筛选条件。
h、将满足上述条件的三角形PP2B,PP3B,PP4B,PP5B,PP6B选择出来,加入到可选三角形集合Tcandidate。
i、计算Tcandidate中每一个三角形法线与和BP连接的已在曲面上的三角形ABP的法线之间的夹角θ,从PP2B到PP6B依次为10°,5°,30°,104°,68°。找出其中小于θflat的三角形(本实施例中θflat为18度),即PP2B,PP3B,经验证PP2B和PP3B的最小外接圆半径皆小于与B、P相连的表面三角形(此时只有三角形ABP)中最小外接圆半径最大值2倍,则将PP2B和PP3B加入集合T’,找到T’中最小外接圆半径最小的三角形BPP2,即为最终BP边选择的候选三角形。
(2)添加候选三角形
每当有新的三角形添加到曲面上时,都会为新的只连接一个三角形的边选择候选三角形,当添加到图10的情况时,加粗的边界为当前曲面的生长边,每个生长边都有一个候选三角形。对于如何添加候选三角形,有以下步骤:
a、添加候选三角形的顺序
候选三角形优先级计算公式为:
其中θt为30°,r为候选三角形的最小外接圆半径,θ为候选三角形与其对应的生长边在曲面上连接的三角形法线之间的夹角。
也就是说,优先选择θ小于30°的候选三角形,如果有多个θ小于30°的候选三角形,则选择最小外接圆半径最小的候选三角形先添加到曲面;如果没有θ小于30°的候选三角形,则选择θ最小的候选三角形先添加到曲面。如图10(a)所示,生长边P2C的候选三角形P2CD的θ为5°且最小外接圆半径最小,所以选择P2CD为要添加的三角形。
b、添加不同候选三角形的处理方式
1)首先判断候选三角形CT是否存在内部边,如果存在要把该CT删除,显然三角形P2CD不属于该情况。
2)判断候选三角形CT与当前生长边相对的顶点是不是内部点,如果是则要把该CT删除,三角形P2CD与生长边P2C相对的点为D,是在边界上的点,不属于该情况。
3)当CT除当前生长边外的另外两条边e1,e2在曲面上都已经连接了另外一个三角形时,则需要把生长边和e1、e2都变为内部边,CT上的点全部变为内部点。而三角形P2CD的除当前生长边外的另外两条边为P2D、CD,均未添加到曲面,不符合该情况。
4)当CT除当前生长边外的另外两条边e1,e2中有一个已经连接了另外一个三角形时,则需要把其中连接三角形的边变为内部边,该边与生长边的交点变为内部点。同时原生长边变为内部边,把另一条边变为新生长边并为其选择候选三角形。而三角形P2CD的除当前生长边外的另外两条边为P2D、CD,均未添加到曲面,不符合该情况。
5)当CT除当前生长边外的另外两条边e1,e2都没有连接另外一个三角形,且e1、e2的共同点不在当前曲面边界上时,将原生长边变为内部边,为e1和e2选择候选三角形加入优先级排列。三角形P2CD除生长边外的另外两条边为P2D、CD,均没有连接另外一个三角形,但其交点D不在曲面边界上,因此不符合该情况。
6)当CT除当前生长边外的另外两条边e1,e2都没有连接另外一个三角形,且e1、e2的共同点在当前曲面边界上时,先不处理该候选三角形,暂时先添加除CT外其他优先级最高的候选三角形,直到曲面上出现优先级比当前CT高且含有e1或e2的候选三角形出现时,二者一起加入到曲面中,原生长边变为内部边,共同的边变为内部边,并为新生成的生长边选择候选三角形加入优先级排列。三角形P2CD除生长边外的另外两条边为P2D、CD,均没有连接另外一个三角形,且其交点D在曲面边界上,符合该情况。
因此,候选三角形P2CD暂时不加入曲面,先添加其他优先级高的候选三角形。当要添加生长边DE的候选三角形DCE时,如图10(b)所示,将P2CD和DCE一起加入到曲面中,并将DC、P2C、DE均变为内部边,并为边P2D、CE选择候选三角形。结果如图10(c)所示。
不断进行候选三角形的选择和添加,直到全部候选三角形都添加到曲面中时,结束曲面的生长。
第四步:曲面生长结束后,找到曲面上所有形成的洞,对于每个洞,进行洞的处理操作,具体步骤如下:
(1)如图11(a)所示,假设洞的边界为P1P2,P2P3,P3P4,P4P1,将这些边加入到洞边界集合A中,从集合A中找到任意两条相连的生长边,例如P1P2,P2P3,将P1P2,P2P3在曲面上连接的三角形P1P5P2、P2P3P4和P1P2,P2P3组成的三角形P1P2P3法向量一致化,判断三角形P1P5P2与P1P2P3的法向量夹角θ1和三角形P2P3P4与P1P2P3的法向量夹角θ2的大小,分别为10°和37°,都小于θsliver(本实施例中θsliver为150度),则将三角形P1P2P3加入到候选补洞三角形集合Tr中去。
对其他相连边P2P3,P3P4,P4P1依次进行该操作,将三角形P1P3P4、P1P2P4加入到Tr中,而三角形P2P3P4由于和两边相连的三角形P2P4P3夹角为180度,不加入到Tr中。将Tr中三角形以优先级1/r(r为该三角形的最小外接圆半径)从高到低对其进行排列。
(2)此时Tr不为空,洞没有封闭,则按照优先级向曲面添加补洞三角形。三角形P2P1P4在Tr中半径最小,按照第三步中添加候选三角形的规则将三角形P2P1P4添加到曲面后,变为图11(b)的情况,此时洞边界变为P3P2,P2P4,P4P3。将Tr清空,按照第四步(1)中步骤继续选择补洞三角形,发现没有三角形与其洞边界在曲面上连接的三角形夹角都小于θsliver,所以此时Tr为空,且洞没有封闭,则说明该洞需要先进行扩展再封闭。记录此时洞上边界中仍属于集合A的,作为需要扩展的边;若此时洞上边界中没有属于集合A的边时,将A中所有边都作为扩展边。该洞扩展边为P2P3、P3P4。
(3)将之前该洞补上的所有三角形,即P1P2P4删除,将洞还原为图11(a)中未修补时的状态。删除扩展边P2P3、P3P4在曲面上连接的三角形P2P3P4,变为图11(c)的情况,再重复进行步骤(1)-(3),直到洞可以完全封闭。
(4)在删除三角形过程中,可能会遇到以下三种复杂情况,则需要进行特殊处理:
a、与其他洞相遇。如图12(a)、(b)所示,当处理洞P1P2P3P4P5时,需要对边P1P5进行扩展,即删除三角形P1P7P5,由于P1P7P5中有一条边P7P5是另一个洞P7P5P6的边,所以在扩展时将三角形P1P7P5删除后要将洞P7P5P6合并进来,将P7P6,P6P5两条边添加到洞P1P2P3P4P5中去。
b、多重连接点。在删除三角形过程中,可能会出现扩展后的洞上点连接了大于两条洞边界的情况,如图13所示,加粗实线为原先洞上边,扩展一遍后洞上边变为加粗虚线,此时点P共连接了PA、PD、PE、PC四条洞边界,此时需要将这四条边都进行扩展,即连接的三角形都删除,得到图13(b)的洞才能进行下一步工作。
c、洞分离。在洞扩展过程中,可能会出现一个洞变为多个洞的情况,如图14所示,加粗实线为原先洞上边,扩展一遍后洞上边变为加粗虚线,对P1和P2两个多重连接点进行处理后,变为图14(b)的状态,此时原先的洞变为三个洞,需要对这三个洞分别继续处理。
从图15中可以看出,本发明提出的曲面重建算法具有较好的构网效果。
对于本领域的普通技术人员而言,根据本发明的教导,在不脱离本发明的原理与精神的情况下,对实施方式所进行的改变、修改、替换和变型仍落入本发明的保护范围之内。
Claims (5)
1.一种面向采样不足散乱点集的三角网格曲面重建方法,其特征在于,其包括如下的步骤:
S1:对整个采样点集做三维Delaunay算法,得到四面体集合,进而得到组成这些四面体的三角形集合;
S2:选择种子三角形,从三角形集合中选出一个三角形,作为曲面的起始生长三角形,起始生长三角形称为种子三角形,规定种子三角形的法向量方向;
S3:从种子三角形开始,把每条只连接一个三角形的边称为生长边,迭代为每条生长边从三维Delaunay与该边相连的三角形集合中选择另一个合适的三角形,直到曲面上没有生长边或所有生长边又无合适的三角形可选;
S4:对于曲面上可能留下的不平整洞,进行洞的扩张操作,删除洞上边周围的三角形,直到所有洞变得平整,之后通过洞上边和洞上点相连组成三角形的方式将洞补齐。
2.根据权利要求1所述的面向采样不足散乱点集的三角网格曲面重建方法,其特征在于,所述步骤S2具体包括如下步骤:
S21:从整个采样点集中随机选取点P,找到与该点相连的三维Delaunay中最小外接圆半径最小的三角形t;
S22:定义t的三边为e1、e2、e3,分别找到三维Delaunay中与e1、e2、e3相连的最小外接圆半径最小的三角形t1、t2、t3,分别判断t1、t2、t3与t的夹角,如果夹角都小于θseed,θseed为20度,则进行S23,否则重新选择点P’,进行S21;
S23:以t的最小外接圆为底面,t的法线为轴向底面的两侧延伸做一个无限长的圆柱,以t为界,如果只有t的一侧有点,则将有点的一侧标记为内侧,无点的一侧标记为外侧,并以指向外侧的法线方向为其正方向,种子三角形选择完毕;如果t的两侧都有点或者都无点,则重新选择点P’,进行S21。
3.根据权利要求1所述的面向采样不足散乱点集的三角网格曲面重建方法,其特征在于,步骤S3具体包括如下步骤:
S31:对于每条生长边e,为其选择一个三角形t作为候选的继续生长的三角形,该三角形从步骤S1得到的与该边相连的三角形集合T中选择三角形t;
选择三角形的具体步骤如下:
S311:选择的三角形t的三条边都不是内部边;
S312:选择的三角形t与当前生长边e相对的顶点P不是内部点;
S313:选择的三角形t与当前生长边e连接的已经选入曲面的三角形tb的法线之间的夹角要小于θsliver,θsliver值为150度;
S314:判断每一个T中除tb和t外的三角形t’与t的法线夹角;
若存在任意一个该夹角小于30度的t’,该t’与e相对的点P’以t法线为垂线的垂点落在该t内部,则该t不能作为可选择的三角形,将该条件作为三角形判断折叠条件1;
S315:定义所选择的三角形的三个顶点为P1、P2、P3,t中除e外的两边为e1、e2;
若当前曲面e1、e2都没有连接三角形,则找到目前曲面上与P1、P2和P3相连的除e、e1、e2外的所有边;否则跳过S315的判断;
若有任何一条边在t所在面的投影落在t内部,则该t不能作为可选择的三角形,将该条件作为三角形判断折叠条件2;
S316:选择三角形t除e外的其他两条边e1、e2至少有一个已在曲面上有一个连接的三角形t1、t2,判断t的顶点方向是否与t1、t2的计算法线的顶点方向一致,若存在不一致的t1或t2出现,则该t不能作为可选择的三角形;
S317:选择三角形t如果除e外的其他两条边e1、e2至少有一个已在曲面上有一个连接的三角形t1、t2,则判断t与t1、t2的法线夹角,若大于θsliver,则该t不能作为可选择的三角形;
S318:将满足上述条件的t选择出来,加入到可选三角形集合Tcandidate;若无法找到满足条件的t,则该边不选择三角形,否则,继续进行步骤S319。
S319:计算Tcandidate中每一个三角形的法线和tb的法线之间的夹角θ,找到其中小于θflat,θflat值为18度,且最小外接圆半径小于与e的两端点相连的表面三角形中最小外接圆半径最大值k倍的三角形,k值为2,加入集合T’;找到T’中最小外接圆半径最小的三角形,即为最终所求的候选三角形t;若T’为空,则从Tcandidate中找到最小外接圆半径最小的三角形,即为最终所求的t;
S32:为每条新生成的生长边添加候选三角形后,按照优先级从高到低将所有生长边的候选三角形进行排列,候选三角形优先级p的计算公式为:
其中r为候选三角形的最小外接圆半径,θ为候选三角形法线与tb的法线夹角,θt为一个常数,θt值为30度;
S33:按照优先级从高到低添加三角形CT,具体包括以下5种情况:
a、当CT不符合S311或S312的条件时,该CT删除,并为其生长边重新选择候选三角形,再进行新的最高优先级CT的判断;
b、当CT除e外的另外两条边e1,e2在曲面上都已经连接了另外一个三角形时,把e、e1、e2都变为内部边,CT上的点全部变为内部点;
c、当CT除e外的另外两条边e1,e2中只有e1(e2)已经连接了另外一个三角形时,把e、e1(e2)变为内部边,e、e1(e2)的交点变为内部点,e2(e1)变为新的生长边,并按S31、S32选择候选三角形加入优先级排列;
d、当CT除e外的另外两条边e1,e2都没有连接另外一个三角形,且e1、e2的交点不在目前曲面的边界上时,将e变为内部边,为e1和e2按步骤S31、S32选择候选三角形加入优先级排列;
e、当CT除e外的另外两条边e1,e2都没有连接另外一个三角形,且e1、e2的交点在目前曲面的边界上时,保持该三角形优先级不变,先处理优先级次之的候选三角形,直到曲面上出现优先级比当前CT高且含有e1或e2的候选三角形CTtwin出现,CT和CTtwin一起加入到曲面中,共同的边e1(e2)变为内部边,并为新生成的生长边按步骤S31、S32选择候选三角形加入优先级排列;
每添加一个候选三角形就将该CT从优先级排列中删除,重复进行a~e,直到优先级排列为空,即全部候选三角形都添加到曲面中时,结束三角形的添加。
4.根据权利要求1所述的面向采样不足散乱点集的三角网格曲面重建方法,其特征在于,所述步骤S4具体包括如下步骤:
S41:假设洞H1的初始生长边集合为A,从集合A中找到任意两条相连的生长边e1、e2,定义其在曲面上已连接的三角形为t1,t2,边e1、e2组成的三角形为t3,将t1、t2、t3法向量一致化;
判断t1与t3、t2与t3的法线夹角,若夹角都小于θsliver,则将t3加到候选补洞三角形集合Tr中去,并以优先级1/r对其进行排列,r为该三角形的最小外接圆半径;
对集合A中相连的生长边两两进行检测,将所有符合条件的三角形加入到Tr中去;
S42:若Tr不为空,且洞还未完全封闭,按照优先级将Tr中三角形加入到曲面中,向曲面添加补洞三角形的方式按步骤S33中(a)、(b)、(c)所述的方式来处理,重复进行该步骤,并不断更新洞上生长边和候选补洞三角形,直到Tr为0或洞已封闭;
S43:判断此时洞是否已经封闭,如果是,则该洞H1处理完毕,否则进行步骤S44;
S44:找出此时洞上生长边是否有属于集合A的;
如果有,则先将所有已经补上的三角形删除,再将所有符合该条件的边在曲面上已连接的三角形删除,重复进行步骤S41-S44;
如果没有,则先将所有已经补上的三角形删除,再将所有A集合的边在曲面上已连接的三角形删除,重复进行步骤S41-S44。
5.根据权利要求4所述的面向采样不足散乱点集的三角网格曲面重建方法,其特征在于,所述步骤S44中三角形删除具体包括如下步骤:
S441:若删除三角形上有边与另一个洞H2相连,则将H1、H2合并进行处理;
S442:若删除三角形后洞上出现一个点连接2个以上洞上边的情况,则将该点连接的洞上边所连接的表面三角形都删除;
S443:若删除三角形后洞上边首尾相连形成的洞不止1个,则对形成的多个洞分别进行处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810170909.XA CN108460837A (zh) | 2018-03-01 | 2018-03-01 | 面向采样不足散乱点集的三角网格曲面重建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810170909.XA CN108460837A (zh) | 2018-03-01 | 2018-03-01 | 面向采样不足散乱点集的三角网格曲面重建方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108460837A true CN108460837A (zh) | 2018-08-28 |
Family
ID=63217011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810170909.XA Pending CN108460837A (zh) | 2018-03-01 | 2018-03-01 | 面向采样不足散乱点集的三角网格曲面重建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108460837A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101266694A (zh) * | 2008-04-28 | 2008-09-17 | 武汉大学 | 一种单站地面激光扫描点云的构网方法 |
US20100135538A1 (en) * | 2007-05-11 | 2010-06-03 | Gemalto Sa | Method and device for the automated authentication of a set of points |
CN102831647A (zh) * | 2012-08-06 | 2012-12-19 | 电子科技大学 | 基于空间曲面约束的Delaunay三角网剖分方法 |
CN103440683A (zh) * | 2013-04-28 | 2013-12-11 | 大连大学 | 一种基于三维散乱稠密点云的三角网格重构方法 |
CN103679807A (zh) * | 2013-12-24 | 2014-03-26 | 焦点科技股份有限公司 | 一种带边界约束的散乱点云重构方法 |
CN103985155A (zh) * | 2014-05-14 | 2014-08-13 | 北京理工大学 | 基于映射法的散乱点云Delaunay三角剖分曲面重构方法 |
CN104392477A (zh) * | 2014-12-11 | 2015-03-04 | 大连大学 | 基于面片夹角的去重叠的三角网格曲面恢复后处理方法 |
-
2018
- 2018-03-01 CN CN201810170909.XA patent/CN108460837A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100135538A1 (en) * | 2007-05-11 | 2010-06-03 | Gemalto Sa | Method and device for the automated authentication of a set of points |
CN101266694A (zh) * | 2008-04-28 | 2008-09-17 | 武汉大学 | 一种单站地面激光扫描点云的构网方法 |
CN102831647A (zh) * | 2012-08-06 | 2012-12-19 | 电子科技大学 | 基于空间曲面约束的Delaunay三角网剖分方法 |
CN103440683A (zh) * | 2013-04-28 | 2013-12-11 | 大连大学 | 一种基于三维散乱稠密点云的三角网格重构方法 |
CN103679807A (zh) * | 2013-12-24 | 2014-03-26 | 焦点科技股份有限公司 | 一种带边界约束的散乱点云重构方法 |
CN103985155A (zh) * | 2014-05-14 | 2014-08-13 | 北京理工大学 | 基于映射法的散乱点云Delaunay三角剖分曲面重构方法 |
CN104392477A (zh) * | 2014-12-11 | 2015-03-04 | 大连大学 | 基于面片夹角的去重叠的三角网格曲面恢复后处理方法 |
Non-Patent Citations (4)
Title |
---|
TIANYUN SU等: "Rapid Delaunay triangulation for randomly distributed point cloud data using adaptive Hilbert curve", 《COMPUTERS & GRAPHICS》 * |
王雯等: "面向任意分布点云数据的二维Delaunay快速构网算法", 《计算机辅助设计与图形学学报》 * |
苏天赟等: "面向二维Delaunay构网的点定位算法优化", 《计算机仿真》 * |
袁方等: "一种基于三维Delaunay三角化的曲面重建算法", 《计算机技术与发展》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104063903B (zh) | 三维实体模型的四面体网格生成方法和装置 | |
CN107358636B (zh) | 一种基于纹理合成的疏松缺陷图像生成方法 | |
CN103310481B (zh) | 一种基于模糊熵迭代的点云精简方法 | |
CN106780751A (zh) | 基于改进的屏蔽泊松算法的三维点云重建方法 | |
CN110263192A (zh) | 一种基于条件生成对抗网络的磨粒形貌数据库创建方法 | |
CN103186894B (zh) | 一种自适应分块的多聚焦图像融合方法 | |
CN109472870B (zh) | 一种基于网格重构和多影响域修正的模型匹配方法 | |
CN105678747B (zh) | 一种基于主曲率的牙齿网格模型自动分割方法 | |
Yang et al. | A modified clustering method based on self-organizing maps and its applications | |
CN109685080A (zh) | 基于霍夫变换与区域生长的多尺度平面提取方法 | |
CN101719272A (zh) | 基于三维改进型脉冲耦合神经网络的三维图像分割方法 | |
CN108230452B (zh) | 一种基于纹理合成的模型补洞方法 | |
CN109461209B (zh) | 一种新型结构网格生成方法 | |
CN109492796A (zh) | 一种城市空间形态自动分区方法与系统 | |
CN109671154A (zh) | 三角网格表示的曲面非迭代重新网格化方法 | |
CN109118588A (zh) | 一种基于块分解的彩色lod模型自动生成方法 | |
CN105550682B (zh) | 钟鼎碑刻拓印方法 | |
CN104899592B (zh) | 一种基于圆形模板的道路半自动提取方法及系统 | |
CN108460837A (zh) | 面向采样不足散乱点集的三角网格曲面重建方法 | |
CN104766367B (zh) | 一种计算三维模型处理中三维网格拓扑结构图构造方法 | |
CN107862749A (zh) | 一种点云几何细节特征去除方法 | |
JP2016154482A (ja) | 除去領域設定方法、除去領域設定装置およびプログラム | |
CN108615059B (zh) | 一种基于动态多尺度聚类的湖泊自动选取方法及装置 | |
CN107194994A (zh) | 一种无标定曲面点云数据重建圆柱面的方法及装置 | |
CN114677468B (zh) | 基于逆向建模的模型修正方法、装置、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180828 |