CN108711194A - 一种基于三次b样条插值的三维网格模型拼接方法 - Google Patents
一种基于三次b样条插值的三维网格模型拼接方法 Download PDFInfo
- Publication number
- CN108711194A CN108711194A CN201810467162.4A CN201810467162A CN108711194A CN 108711194 A CN108711194 A CN 108711194A CN 201810467162 A CN201810467162 A CN 201810467162A CN 108711194 A CN108711194 A CN 108711194A
- Authority
- CN
- China
- Prior art keywords
- point
- boundary
- model
- curve
- region
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000012952 Resampling Methods 0.000 claims abstract description 15
- 238000012545 processing Methods 0.000 claims abstract description 7
- 230000010354 integration Effects 0.000 claims description 6
- 230000000717 retained effect Effects 0.000 claims description 6
- 238000005070 sampling Methods 0.000 claims description 6
- 230000002441 reversible effect Effects 0.000 claims description 4
- 230000003247 decreasing effect Effects 0.000 claims description 3
- 238000012549 training Methods 0.000 claims description 3
- 230000004927 fusion Effects 0.000 abstract description 10
- 239000003814 drug Substances 0.000 abstract 1
- 238000004519 manufacturing process Methods 0.000 abstract 1
- 241000251730 Chondrichthyes Species 0.000 description 7
- 230000006870 function Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2008—Assembling, disassembling
Landscapes
- Engineering & Computer Science (AREA)
- Architecture (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
本发明提出了一种基于三次B样条插值的三维网格模型拼接方法,属于三维图形技术领域。主要解决了现有三维网格模型拼接方法中存在的模型拼接精度低,拼接区域不够光滑、计算量大等缺点。本发明首先根据选定的三维网格模型,确定待拼接区域边界,识别并记录边界点集,利用三次B样条插值边界点集;然后对边界曲线进行双三次B样条曲面插值得到拼接区域连续曲面;最后,对拼接区域重采样,并对其三角化及光顺处理,以实现网格模型的无缝光滑拼接和融合。该方法适用于具有任何拼接边界的网格模型,利用现有三维模型,快速生成新模型,是几何模型编辑的一种基本操作,可以广泛地应用于医学、商业广告,动画娱乐,工业建模和制造等应用领域。
Description
技术领域
本发明属于三维图形技术领域,具体涉及一种基于三次B样条插值的三维网格模型拼接方法。该方法适用于提取三维点云模型表面的特征线,用于描述模型的几何特征。
背景技术
随着图形技术的飞速发展,三维建模工具的普遍使用,如何快速便捷获取模型、如何通过现有模型得到新模型等问题日趋成为数字几何处理领域的研究热点。三维网格模型的拼接,是三维模型编辑的一种基本操作,为三维模型的编辑提供了一种重要的手段。因此,在影视特技、三维广告制作、娱乐游戏、虚拟现实等行业具有广泛的应用前景。
对于三维模型编辑,其拼接操作就是由已有的模型快速拼接融合、准确地构造出兼有原始模型特点,但又不同于原始模型的新模型。为了提高合成模型的视觉外观,考虑到模型外观的连续性和灵活性,防止拼接结果在拼接处不够平滑,且还存在拼接边界不规则等问题。
发明内容
为了解决现有三维网格模型拼接方法中存在的模型拼接精度低,拼接区域不够光滑、计算量大等缺点,本发明提出了一种基于三次B样条插值的三维网格模型拼接方法。
为解决上述技术问题,本发明采用的技术方案为:
一种基于三次B样条插值的三维网格模型拼接方法,所述三维网格模型拼接方法包括以下步骤:
步骤1,输入源模型source和目标模型target;
步骤2,在源模型source上选取感兴趣的区域,利用三角网格边界的特征,边界边和边界点,识别选取模型区域的边界s11,以及相邻边界s12,分别记录它们的点集V11,V12,对边界点集V11,V12进行三次B样条曲线插值,在源模型source上形成两条三次B样条曲线p11和p12;
步骤3,在目标模型target上选取待拼接区域,利用协变分析工具和数据驱动方法自动调整融合区域的大小及方向;利用三角网格边界的特征,边界边和边界点,识别选取待拼接区域的边界s21,以及相邻边界s22,分别记录它们的点集V21、V22,对边界点集V21、V22进行三次B样条曲线插值,在目标模型target上形成两条三次B样条曲线p21和p22;求得曲线的切线方向u,源模型的切线方向u1定义为模型向外,目标模型的切线方向u2定义为模型向内,保证4条三次B样条曲线的切线方向一致;
步骤4,将调整好的源模型部分复制到目标模型指定位置;选取生成的曲线方向为v方向,将p11、p12、p21和p22作为v方向的簇,固定u方向,变化v方向,计算得到u方向的簇,交织而成一张插值双三次B样条曲面;
步骤5,对步骤4中交织而成的簇计算得到的控制点进行重采样,并将步骤2和步骤3中记录的边界点集V11、V12、V21、V22和重采样得到的点进行三角网格化;若新生成的模型未达到预期结果,拼接区域有偏差,则重复步骤2至步骤5;否则,进行下个步骤6;
步骤6,对拼接区域进行光顺处理,即完成了基于三次B样条插值的三维网格模型拼接,得到新模型。
进一步,所述步骤2中,在源模型source上选取感兴趣的区域,利用三角网格边界的特征,边界边和边界点,识别选取模型区域的边界s11,以及相邻边界s12,分别记录它们的点集V11,V12,对边界点集V11,V12进行三次B样条曲线插值,在源模型source上形成两条三次B样条曲线p11和p12,通过步骤2.1至步骤2.8实现:
步骤2.1,在源模型上选取感兴趣的区域,将该区域的三角网格信息,包括点Poine、边Edge、面Face,及它们之间的拓扑关系TRelation记入Area[];
步骤2.2,对于区域A上任意顶点L,获取其邻接点和邻接三角形的信息;
步骤2.3,比较该点的邻接点和邻接三角形数目,若相等,读取邻接点返回步骤2.2;若不相等,标记L为边界点Vi1(i=0,1,2,...,m,m>0),存入边界点集合V11,并读取邻接点L’,将其记为L,比较该点的邻接点和邻接三角形数目,若相等,读取邻接点返回步骤2.2;若不相等,标记L为边界点Vi1(i=0,1,2,...,m,m>0),存入边界点集合V11,并读取邻接点L’;
步骤2.4,重复步骤2.2和步骤2.3,直到边界点集合不再产生新的点,连接边界边,形成闭合曲线,得到该区域的边界s11;
步骤2.5,将与边界点相连接的非边界点Vi2(i=0,1,2,...,m,m>0)全部记入集合V12,连接集合V12中所有的点形成闭合曲线s12;
步骤2.6,通过点集V11和点集V12反求三次B样条曲线的控制点Pi1和点Pi2;
步骤2.7,过控制点Pi1和点Pi2利用公式(1)分别求得三次B样条插值曲线的第i段曲线;
式中,Nk,3(t)为B样条的基函数,其形式为
其中,
步骤2.8,连接全部过控制点Pi1的曲线段得到三次B样条插值曲线p11,连接全部过控制点Pi2的曲线段得到三次B样条插值曲线p12。
更进一步,所述步骤3中,在目标模型target上选取待拼接区域,利用协变分析工具和数据驱动方法自动调整融合区域的大小及方向,通过步骤3.1至步骤3.7实现:
步骤3.1,设置X=x,当编辑模型选中区域时,该区域的属性X={x1,x2,...,xk,(k>0)},系统将编辑结果传递到其他属性Vx,这是V中来自于X的一组变量;
步骤3.2,输入所有变量V的集合和约束X的列表,令U=X,F=Vx;
步骤3.3,在每次迭代的过程中,从变量集合F中选取一个自由变量x来更新,并为其分配最大化条件概率P(V)的值;
步骤3.4,将x的最终最优值x'作为由固定变量的值的加权平均值;
步骤3.5,定义一个可行性范围Dx=[xmin;xmax],其中xmin和xmax分别是训练数据中观察到的x的最小值和最大值,通过估计在Dx范围内N个均匀采样值的条件概率,找到P(x|y=y0)的局部极大值;丢弃所有低于阈值为0.01的局部最大值,并选择最接近当前x值的那个值;
步骤3.6,由它们与约束和已访问变量的相关程度来选择和更新自由变量的顺序;从约束开始,找到它们的相邻节点,然后将它们插入到一个队列中,并根据它们与已经访问过的节点的距离的相关值以降序排列;在每次迭代中,从队列中取一个变量,优化它的值,然后将其尚未访问过的相邻节点插入到队列中;重复步骤3.5和步骤3.6,直到队列为空;
步骤3.7,依次遍历所有自由变量,设置所选区域覆盖范围内的变量的集合N'x=Nx,通过求解公式x'=argmaxxP(x|Nx),重复多次,直到所有自由变量值的变化低于指定的阈值0.01,来优化它们的值;最终得到要拼接在目标模型上的源模型的部分的大小及方向。
再进一步,所述步骤4中,将调整好的源模型部分复制到目标模型指定位置;选取生成的曲线方向为v方向,将p11、p12、p21和p22作为v方向的簇,固定u方向,变化v方向,计算得到u方向的簇,交织而成一张插值双三次B样条曲面,通过步骤4.1至步骤4.4实现:
步骤4.1,将步骤3中调整好的源模型的感兴趣的部分复制到目标模型选定的位置;
步骤4.2,设置步骤2中生成的三次B样条插值曲线p的方向为v,将p11、p12、p21和p22作为v方向的簇;
步骤4.3,将沿u方向计算得到的三次B样条曲线上的点作为新的控制点,得到张亮网格沿v向计算,取v方向的节点矢量,根据公式(1)求得非闭合的三次B样条曲线,计算得到u方向的簇,得到的曲线就是三次B样条曲面上的;
步骤4.4,u方向和v方向交织而成一张三次B样条曲面。
更进一步,所述步骤5中,对步骤4中交织而成的簇计算得到的控制点进行重采样,并将步骤2和步骤3中记录的边界点集V11、V12、V21、V22和重采样得到的点进行三角网格化,通过步骤5.1至步骤5.6实现:
步骤5.1,利用待拼接网格的边界点集V11和V21,以及生成的三次B样条曲线交织而成的点V*,全部计入集合V;
步骤5.2,在集合V中,分别从边界集合V11和V21中的点开始遍历,搜索出点Pi邻近的其它所有的点,作为候选三角化的采样点,候选采样点列表用L表示;
步骤5.3,利用点Pi处两边界e1和e2所张成的边界角区域,将候选采样点向e1和e2所张成的平面投影,并将位于此区域以外的候选采样点从L中删除,对于此区域内候选采样点如果与Vi点的距离大于(|e1|+|e2|)*3/4,也从L中删除;
步骤5.4,如果L中除点Pi+1和点Pi-1外没有其他候选点,则若边e1和边e2所夹的角∠Pi+1PiPi-1<90°,直接连接点Pi+1和Pi-1;若∠Pi+1PiPi-1≥90°,将∠Pi+1PiPi-1均分,在每条角分线上距Pi点距离为(|e1|+|e2|)/2处增加新的采样点x点;
步骤5.5,如果L中除点Pi+1和点Pi-1外还有其他候选点V*,则将保留下的采样点与Pi点相连,将此边界角分割为几个边界角,对每一个边界角利用步骤5.4处理;
步骤5.6,将这些采样点和保留下的候选采样点在Pi点处重新三角化,更新网格边界,重复步骤5.2至步骤5.6,直到边界点表为空即完成了模型拼接区域的三角化。
本发明采用以上技术方案,首先根据选定的三维网格模型,确定待拼接区域边界,识别并记录边界点集,利用三次B样条插值边界点集,然后利用协变分析工具和数据驱动方法自动调整融合区域的大小及方向,其次对边界曲线进行双三次B样条曲面插值得到拼接区域连续曲面,最后对拼接区域重采样,并对其三角化及光顺处理,以实现网格模型的无缝光滑拼接和融合。
相对之前的三维网格模型的拼接方法,本发明利用三次B样条曲线插值模型边界,使得具有任意边界情形的模型都适用,不需再对模型的边界做过多的处理,比如利用平面切模型的拼接边界,使得模型的拼接边界为类圆形的情况。而且本发明利用生成三次B样条曲面的控制点对拼接区域重采样并将其三角网格化,得到最终的网格模型,这种方法即可以提高工作效率又可以降低计算复杂度。同时,本发明在选取目标网格模型时,对选取区域利用协变分析工具自动分析、确定区域的大小,以调整源模型所选部分区域的大小及方向,避免了用户手动操作的繁琐。因此,与背景技术相比,本发明具有算法运行时间短、鲁棒性高、拼接区域光顺和保证拼接区域以外的区域在拼接前后模型的细节特征不变的优点。
附图说明
图1是本发明的方法流程图;
图2是茶壶和熊模型的原始模型及融合结果;
图3是女孩半身像和杯子的原始模型及融合结果;
图4是鲨鱼和马模型的原始模型及融合结果。
具体实施方式
下面结合附图4和实施例对本发明作进一步的详细描述。
如图1所示,本发明中的基于三次B样条插值的三维网格模型拼接方法,将其应用于图4鲨鱼和马模型进行拼接融合得到新模型,具体实现过程包括步骤1至步骤6:
步骤1,输入源模型source和目标模型target。
源模型和目标模型的文件格式可以是off、obj、ply的文件格式。这里,导入源模型shark.obj(图4中左边的模型)和目标模型horse.obj(图4中中间的模型),将源模型数据(包括点、边、面、及它们之间的拓扑关系)存入source,目标模型数据(包括点、边、面、及它们之间的拓扑关系)存入target,用于后续步骤对模型进行操作。
步骤2,在源模型source上选取感兴趣的区域,利用三角网格边界的特征,边界边和边界点,识别选取模型区域的边界s11,以及相邻边界s12,分别记录它们的点集V11,V12,对边界点集V11,V12进行三次B样条曲线插值,在源模型source上形成两条三次B样条曲线p11和p12。
具体的,该步骤可以通过如下步骤2.1至步骤2.8实现:
步骤2.1,在鲨鱼源模型上选取背鳍位置作为感兴趣的区域,将该区域的三角网格信息,包括点Poine、边Edge、面Face,及它们之间的拓扑关系TRelation记入Area[]。
步骤2.2,对于步骤2.1中选取的区域A上任意顶点L,获取其邻接点和邻接三角形的信息。
步骤2.3,比较该点的邻接点和邻接三角形数目,若相等,读取邻接点返回步骤2.2;若不相等,标记L为边界点Vi1(i=0,1,2,...,m,m>0),存入边界点集合V11,并读取邻接点L’,将其记为L,比较该点的邻接点和邻接三角形数目,若相等,读取邻接点返回步骤2.2;若不相等,标记L为边界点Vi1(i=0,1,2,...,m,m>0),存入边界点集合V11,并读取邻接点L’。
步骤2.4,重复步骤2.2和步骤2.3,直到边界点集合不再产生新的点,连接边界边,形成闭合曲线,得到该区域的边界s11。
步骤2.5,将与边界点相连接的非边界点Vi2(i=0,1,2,...,m,m>0)全部记入集合V12,连接集合V12中所有的点形成闭合曲线s12。
步骤2.6,通过点集V11和点集V12反求三次B样条曲线的控制点Pi1和点Pi2。
步骤2.7,过控制点Pi1和点Pi2利用公式(1)分别求得三次B样条插值曲线的第i段曲线。
式中,Nk,3(t)为B样条的基函数,其形式为
其中,
步骤2.8,连接全部过控制点Pi1的曲线段得到三次B样条插值曲线p11,连接全部过控制点Pi2的曲线段得到三次B样条插值曲线p12。
其中步骤2.6中,反求三次B样条曲线的控制点已有较成熟的算法和公式,此处不做具体阐述。
步骤3,在目标模型target上选取待拼接区域,利用协变分析工具和数据驱动方法自动调整融合区域的大小及方向。利用三角网格边界的特征,边界边和边界点,识别选取待拼接区域的边界s21,以及相邻边界s22,分别记录它们的点集V21、V22,对边界点集V21、V22进行三次B样条曲线插值,在目标模型target上形成两条三次B样条曲线p21和p22;求得曲线的切线方向u,源模型的切线方向u1定义为模型向外,目标模型的切线方向u2定义为模型向内,保证4条三次B样条曲线的切线方向一致。
在马模型上选取背部的位置,利用协变分析工具和数据驱动方法自动调整融合区域的大小及方向,可通过步骤3.1至步骤3.7实现:
步骤3.1,设置X=x,当编辑模型选中区域时,该区域的属性X={x1,x2,...,xk,(k>0)},系统将编辑结果传递到其他属性Vx,这是V中来自于X的一组变量。
步骤3.2,输入所有变量V的集合和约束X的列表,令U=X,F=Vx。
步骤3.3,在每次迭代的过程中,从变量集合F中选取一个自由变量x来更新,并为其分配最大化条件概率P(V)的值。
步骤3.4,将x的最终最优值x'作为由固定变量的值的加权平均值。
步骤3.5,定义一个可行性范围Dx=[xmin;xmax],其中xmin和xmax分别是训练数据中观察到的x的最小值和最大值,通过估计在Dx范围内N个均匀采样值的条件概率,找到P(x|y=y0)的局部极大值;丢弃所有低于阈值为0.01的局部最大值,并选择最接近当前x值的那个值。
步骤3.6,由它们与约束和已访问变量的相关程度来选择和更新自由变量的顺序;从约束开始,找到它们的相邻节点,然后将它们插入到一个队列中,并根据它们与已经访问过的节点的距离的相关值以降序排列;在每次迭代中,从队列中取一个变量,优化它的值,然后将其尚未访问过的相邻节点插入到队列中;重复步骤3.5和步骤3.6,直到队列为空。
步骤3.7,依次遍历所有自由变量,设置所选区域覆盖范围内的变量的集合N'x=Nx,通过求解公式x'=argmaxxP(x|Nx),重复多次,直到所有自由变量值的变化低于指定的阈值0.01,来优化它们的值;最终得到要拼接在目标模型上的源模型的部分的大小及方向。
然后,通过步骤2.1至步骤2.8,识别马模型背部区域(该区域是通过步骤3.1至步骤3.8调整过的区域)的边界s21,以及相邻边界s22,分别记录它们的点集V21、V22,对边界点集V21、V22进行三次B样条曲线插值,形成两条三次B样条曲线p21和p22。在目标模型上得到插值三次B样条曲线的方法与源模型一样,这里不做具体阐述。
步骤4,将调整好的源模型部分复制到目标模型指定位置;选取生成的曲线方向为v方向,将p11、p12、p21和p22作为v方向的簇,固定u方向,变化v方向,计算得到u方向的簇,交织而成一张插值双三次B样条曲面。其具体实现步骤包括:
步骤4.1,将步骤3中调整好的鲨鱼背鳍的部分复制到马模型选定的背部位置。
步骤4.2,设置步骤2中生成的三次B样条插值曲线p的方向为v,将p11、p12、p21和p22作为v方向的簇。
步骤4.3,将沿u方向计算得到的三次B样条曲线上的点作为新的控制点,得到张亮网格沿v向计算,取v方向的节点矢量,根据公式(1)求得非闭合的三次B样条曲线,计算得到u方向的簇,得到的曲线就是三次B样条曲面上的。
步骤4.4,u方向和v方向交织而成一张三次B样条曲面。
步骤5,对步骤4中交织而成的簇计算得到的控制点进行重采样,并将步骤2和步骤3中记录的边界点集V11、V12、V21、V22和重采样得到的点进行三角网格化;若新生成的模型未达到预期结果,拼接区域有偏差,则重复步骤2至步骤5;否则,进行下个步骤6。
对步骤4中交织而成的簇计算得到的控制点进行重采样,并将步骤2和步骤3中的边界点集V11、V12、V21、V22和重采样得到的点进行三角网格化,可通过步骤5.1至步骤5.6实现:
步骤5.1,利用待拼接网格的边界点集V11和V21,以及生成的三次B样条曲线交织而成的点V*,全部计入集合V。
步骤5.2,在集合V中,分别从边界集合V11和V21中的点开始遍历,搜索出点Pi邻近的其它所有的点,作为候选三角化的采样点,候选采样点列表用L表示。
步骤5.3,利用点Pi处两边界e1和e2所张成的边界角区域,将候选采样点向e1和e2所张成的平面投影,并将位于此区域以外的候选采样点从L中删除,对于此区域内候选采样点如果与Vi点的距离大于(|e1|+|e2|)*3/4,也从L中删除。
步骤5.4,如果L中除点Pi+1和点Pi-1外没有其他候选点,则若边e1和边e2所夹的角∠Pi+1PiPi-1<90°,直接连接点Pi+1和Pi-1;若∠Pi+1PiPi-1≥90°,将∠Pi+1PiPi-1均分,在每条角分线上距Pi点距离为(|e1|+|e2|)/2处增加新的采样点x点。
步骤5.5,如果L中除点Pi+1和点Pi-1外还有其他候选点V*,则将保留下的采样点与Pi点相连,将此边界角分割为几个边界角,对每一个边界角利用步骤5.4处理。
步骤5.6,将这些采样点和保留下的候选采样点在Pi点处重新三角化,更新网格边界,重复步骤5.2至步骤5.6,直到边界点表为空即完成了模型拼接区域的三角化。
步骤6,对拼接区域进行光顺处理,即完成了基于三次B样条插值的三维网格模型拼接,得到新模型。如图4中右边的图的局部放大位置即是将鲨鱼的背鳍拼接到了马的背部位置。采用上述同样的方法,将鲨鱼左右两边的鳍都拼接到马的左右两边,即得到了图4中右边的模型。
采用上述同样的方法,利用本发明还对图2、图3中的模型进行了拼接操作,得到新的模型。图2是茶壶和熊模型的原始模型及融合结果。图3是女孩半身像和杯子的原始模型及融合结果。表1为一种数据驱动的三维建模方法和本发明的参数和时间对比。
从图2、图3、图4中可以看出利用本发明,模型的拼接和融合能够得到较好的平滑拼接效果,拼接处过渡自然,拼接处以外的部分保留原模型的细节特征。
为表明本发明的优点,将本发明与刘骊提出的一种数据驱动的三维建模方法在参数和时间上进行了对比实验,具体结果如表1所示。
表1不同方法参数和时间对比
从表1可以看出在运行时间相差在0.05秒内,本发明的方法可以处理的节点数比数据驱动的三维建模方法至少多2000个,面片数至少多5000个。该数据驱动的三维建模方法仅适用于简单的服装模型,拼接边界为规则的圆形或椭圆形,相比较而言本发明提出的方法不仅适用于数据量较大的模型拼接,同时也适用于更为广泛的拼接模型区域类型的拼接。
Claims (5)
1.一种基于三次B样条插值的三维网格模型拼接方法,其特征在于,所述三维网格模型拼接方法包括以下步骤:
步骤1,输入源模型source和目标模型target;
步骤2,在源模型source上选取感兴趣的区域,利用三角网格边界的特征,边界边和边界点,识别选取模型区域的边界s11,以及相邻边界s12,分别记录它们的点集V11,V12,对边界点集V11,V12进行三次B样条曲线插值,在源模型source上形成两条三次B样条曲线p11和p12;
步骤3,在目标模型target上选取待拼接区域,利用协变分析工具和数据驱动方法自动调整融合区域的大小及方向;利用三角网格边界的特征,边界边和边界点,识别选取待拼接区域的边界s21,以及相邻边界s22,分别记录它们的点集V21、V22,对边界点集V21、V22进行三次B样条曲线插值,在目标模型target上形成两条三次B样条曲线p21和p22;求得曲线的切线方向u,源模型的切线方向u1定义为模型向外,目标模型的切线方向u2定义为模型向内,保证4条三次B样条曲线的切线方向一致;
步骤4,将调整好的源模型部分复制到目标模型指定位置;选取生成的曲线方向为v方向,将p11、p12、p21和p22作为v方向的簇,固定u方向,变化v方向,计算得到u方向的簇,交织而成一张插值双三次B样条曲面;
步骤5,对步骤4中交织而成的簇计算得到的控制点进行重采样,并将步骤2和步骤3中记录的边界点集V11、V12、V21、V22和重采样得到的点进行三角网格化;若新生成的模型未达到预期结果,拼接区域有偏差,则重复步骤2至步骤5;否则,进行下个步骤6;
步骤6,对拼接区域进行光顺处理,即完成了基于三次B样条插值的三维网格模型拼接,得到新模型。
2.根据权利要求1所述的基于三次B样条插值的三维网格模型拼接方法,其特征在于,所述步骤2中,在源模型source上选取感兴趣的区域,利用三角网格边界的特征,边界边和边界点,识别选取模型区域的边界s11,以及相邻边界s12,分别记录它们的点集V11,V12,对边界点集V11,V12进行三次B样条曲线插值,在源模型source上形成两条三次B样条曲线p11和p12,通过步骤2.1至步骤2.8实现:
步骤2.1,在源模型上选取感兴趣的区域,将该区域的三角网格信息,包括点Poine、边Edge、面Face,及它们之间的拓扑关系TRelation记入Area[];
步骤2.2,对于区域A上任意顶点L,获取其邻接点和邻接三角形的信息;
步骤2.3,比较该点的邻接点和邻接三角形数目,若相等,读取邻接点返回步骤2.2;若不相等,标记L为边界点Vi1(i=0,1,2,...,m,m>0),存入边界点集合V11,并读取邻接点L’,将其记为L,比较该点的邻接点和邻接三角形数目,若相等,读取邻接点返回步骤2.2;若不相等,标记L为边界点Vi1(i=0,1,2,...,m,m>0),存入边界点集合V11,并读取邻接点L’;
步骤2.4,重复步骤2.2和步骤2.3,直到边界点集合不再产生新的点,连接边界边,形成闭合曲线,得到该区域的边界s11;
步骤2.5,将与边界点相连接的非边界点Vi2(i=0,1,2,...,m,m>0)全部记入集合V12,连接集合V12中所有的点形成闭合曲线s12;
步骤2.6,通过点集V11和点集V12反求三次B样条曲线的控制点Pi1和点Pi2;
步骤2.7,过控制点Pi1和点Pi2利用公式(1)分别求得三次B样条插值曲线的第i段曲线;
式中,Nk,3(t)为B样条的基函数,其形式为
其中,
步骤2.8,连接全部过控制点Pi1的曲线段得到三次B样条插值曲线p11,连接全部过控制点Pi2的曲线段得到三次B样条插值曲线p12。
3.根据权利要求2所述的基于三次B样条插值的三维网格模型拼接方法,其特征在于,所述步骤3中,在目标模型target上选取待拼接区域,利用协变分析工具和数据驱动方法自动调整融合区域的大小及方向,通过步骤3.1至步骤3.7实现:
步骤3.1,设置X=x,当编辑模型选中区域时,该区域的属性X={x1,x2,...,xk,(k>0)},系统将编辑结果传递到其他属性Vx,这是V中来自于X的一组变量;
步骤3.2,输入所有变量V的集合和约束X的列表,令U=X,F=Vx;
步骤3.3,在每次迭代的过程中,从变量集合F中选取一个自由变量x来更新,并为其分配最大化条件概率P(V)的值;
步骤3.4,将x的最终最优值x'作为由固定变量的值的加权平均值;
步骤3.5,定义一个可行性范围Dx=[xmin;xmax],其中xmin和xmax分别是训练数据中观察到的x的最小值和最大值,通过估计在Dx范围内N个均匀采样值的条件概率,找到P(x|y=y0)的局部极大值;丢弃所有低于阈值为0.01的局部最大值,并选择最接近当前x值的那个值;
步骤3.6,由它们与约束和已访问变量的相关程度来选择和更新自由变量的顺序;从约束开始,找到它们的相邻节点,然后将它们插入到一个队列中,并根据它们与已经访问过的节点的距离的相关值以降序排列;在每次迭代中,从队列中取一个变量,优化它的值,然后将其尚未访问过的相邻节点插入到队列中;重复步骤3.5和步骤3.6,直到队列为空;
步骤3.7,依次遍历所有自由变量,设置所选区域覆盖范围内的变量的集合N'x=Nx,通过求解公式x'=argmaxxP(x|Nx),重复多次,直到所有自由变量值的变化低于指定的阈值0.01,来优化它们的值;最终得到要拼接在目标模型上的源模型的部分的大小及方向。
4.根据权利要求3所述的基于三次B样条插值的三维网格模型拼接方法,其特征在于,所述步骤4中,将调整好的源模型部分复制到目标模型指定位置;选取生成的曲线方向为v方向,将p11、p12、p21和p22作为v方向的簇,固定u方向,变化v方向,计算得到u方向的簇,交织而成一张插值双三次B样条曲面,通过步骤4.1至步骤4.4实现:
步骤4.1,将步骤3中调整好的源模型的感兴趣的部分复制到目标模型选定的位置;
步骤4.2,设置步骤2中生成的三次B样条插值曲线p的方向为v,将p11、p12、p21和p22作为v方向的簇;
步骤4.3,将沿u方向计算得到的三次B样条曲线上的点作为新的控制点,得到张亮网格沿v向计算,取v方向的节点矢量,根据公式(1)求得非闭合的三次B样条曲线,计算得到u方向的簇,得到的曲线就是三次B样条曲面上的;
步骤4.4,u方向和v方向交织而成一张三次B样条曲面。
5.根据权利要求1-4任一项所述的基于三次B样条插值的三维网格模型拼接方法,其特征在于,所述步骤5中,对步骤4中交织而成的簇计算得到的控制点进行重采样,并将步骤2和步骤3中记录的边界点集V11、V12、V21、V22和重采样得到的点进行三角网格化,通过步骤5.1至步骤5.6实现:
步骤5.1,利用待拼接网格的边界点集V11和V21,以及生成的三次B样条曲线交织而成的点V*,全部计入集合V;
步骤5.2,在集合V中,分别从边界集合V11和V21中的点开始遍历,搜索出点Pi邻近的其它所有的点,作为候选三角化的采样点,候选采样点列表用L表示;
步骤5.3,利用点Pi处两边界e1和e2所张成的边界角区域,将候选采样点向e1和e2所张成的平面投影,并将位于此区域以外的候选采样点从L中删除,对于此区域内候选采样点如果与Vi点的距离大于(|e1|+|e2|)*3/4,也从L中删除;
步骤5.4,如果L中除点Pi+1和点Pi-1外没有其他候选点,则若边e1和边e2所夹的角∠Pi+ 1PiPi-1<90°,直接连接点Pi+1和Pi-1;若∠Pi+1PiPi-1≥90°,将∠Pi+1PiPi-1均分,在每条角分线上距Pi点距离为(|e1|+|e2|)/2处增加新的采样点x点;
步骤5.5,如果L中除点Pi+1和点Pi-1外还有其他候选点V*,则将保留下的采样点与Pi点相连,将此边界角分割为几个边界角,对每一个边界角利用步骤5.4处理;
步骤5.6,将这些采样点和保留下的候选采样点在Pi点处重新三角化,更新网格边界,重复步骤5.2至步骤5.6,直到边界点表为空即完成了模型拼接区域的三角化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810467162.4A CN108711194B (zh) | 2018-05-16 | 2018-05-16 | 一种基于三次b样条插值的三维网格模型拼接方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810467162.4A CN108711194B (zh) | 2018-05-16 | 2018-05-16 | 一种基于三次b样条插值的三维网格模型拼接方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108711194A true CN108711194A (zh) | 2018-10-26 |
CN108711194B CN108711194B (zh) | 2022-02-18 |
Family
ID=63868919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810467162.4A Expired - Fee Related CN108711194B (zh) | 2018-05-16 | 2018-05-16 | 一种基于三次b样条插值的三维网格模型拼接方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108711194B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109766578A (zh) * | 2018-12-10 | 2019-05-17 | 南京航空航天大学 | 一种三维机翼结冰后表面重构方法 |
CN109829232A (zh) * | 2019-01-30 | 2019-05-31 | 中北大学 | 基于随机森林算法的分层布料模拟方法 |
CN109887088A (zh) * | 2019-02-27 | 2019-06-14 | 中国地质大学(武汉) | 一种基于t样条曲面的等高线渐进式多尺度化简方法 |
CN110176079A (zh) * | 2019-05-26 | 2019-08-27 | 中北大学 | 一种基于准共形映射的三维模型变形算法 |
CN110414095A (zh) * | 2019-07-11 | 2019-11-05 | 上海交通大学 | 一种流固载荷样条插值转换中的数据预处理方法 |
CN111161419A (zh) * | 2019-12-27 | 2020-05-15 | 武汉联影医疗科技有限公司 | 三维模型的剖切方法、装置和存储介质 |
CN112206064A (zh) * | 2020-09-25 | 2021-01-12 | 雅客智慧(北京)科技有限公司 | 一种数字化牙模生成方法及系统 |
CN113838212A (zh) * | 2021-09-22 | 2021-12-24 | 杭州趣村游文旅集团有限公司 | 一种数字乡村三维模型的区块拼接方法 |
US11576794B2 (en) | 2019-07-02 | 2023-02-14 | Wuhan United Imaging Healthcare Co., Ltd. | Systems and methods for orthosis design |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105894580A (zh) * | 2016-03-29 | 2016-08-24 | 浙江大学城市学院 | 三维地质表面模型中的曲面延伸数据处理方法 |
CN106295170A (zh) * | 2016-08-08 | 2017-01-04 | 西安科技大学 | 基于牙冠与牙根特征的牙齿建模方法 |
CN106981093A (zh) * | 2017-05-17 | 2017-07-25 | 上海同岩土木工程科技股份有限公司 | 一种分区约束耦合的三维地层并行建模方法 |
-
2018
- 2018-05-16 CN CN201810467162.4A patent/CN108711194B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105894580A (zh) * | 2016-03-29 | 2016-08-24 | 浙江大学城市学院 | 三维地质表面模型中的曲面延伸数据处理方法 |
CN106295170A (zh) * | 2016-08-08 | 2017-01-04 | 西安科技大学 | 基于牙冠与牙根特征的牙齿建模方法 |
CN106981093A (zh) * | 2017-05-17 | 2017-07-25 | 上海同岩土木工程科技股份有限公司 | 一种分区约束耦合的三维地层并行建模方法 |
Non-Patent Citations (5)
Title |
---|
LAGA, HAMID等: "Modeling and Exploring Co-variations in the Geometry and Configuration of Man-made 3D Shape Families", 《COMPUTER GRAPHICS FORUM》 * |
LIU, LI等: "A data-driven editing framework for automatic 3D garment modeling", 《MULTIMEDIA TOOLS AND APPLICATIONS 》 * |
WANG, LI-FANG 等: "An Algorithm of Dynamic Grid Data Stream Clustering Based on User Service", 《COMMUNICATIONS IN COMPUTER AND INFORMATION SCIENCE》 * |
原庆红 等: "基于能量最小化控制点的B样条插值算法", 《微电子学与计算机》 * |
缪永伟 等: "基于Hermite插值的网格拼接和融合", 《中国图象图形学报》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109766578A (zh) * | 2018-12-10 | 2019-05-17 | 南京航空航天大学 | 一种三维机翼结冰后表面重构方法 |
CN109829232A (zh) * | 2019-01-30 | 2019-05-31 | 中北大学 | 基于随机森林算法的分层布料模拟方法 |
CN109829232B (zh) * | 2019-01-30 | 2022-11-25 | 中北大学 | 基于随机森林算法的分层布料模拟方法 |
CN109887088B (zh) * | 2019-02-27 | 2020-12-08 | 中国地质大学(武汉) | 一种地形制图中基于t样条曲面的等高线渐进式多尺度化简方法 |
CN109887088A (zh) * | 2019-02-27 | 2019-06-14 | 中国地质大学(武汉) | 一种基于t样条曲面的等高线渐进式多尺度化简方法 |
CN110176079A (zh) * | 2019-05-26 | 2019-08-27 | 中北大学 | 一种基于准共形映射的三维模型变形算法 |
US11576794B2 (en) | 2019-07-02 | 2023-02-14 | Wuhan United Imaging Healthcare Co., Ltd. | Systems and methods for orthosis design |
US11819427B2 (en) | 2019-07-02 | 2023-11-21 | Wuhan United Imaging Healthcare Co., Ltd. | Systems and methods for orthosis design |
CN110414095A (zh) * | 2019-07-11 | 2019-11-05 | 上海交通大学 | 一种流固载荷样条插值转换中的数据预处理方法 |
CN110414095B (zh) * | 2019-07-11 | 2023-06-27 | 上海交通大学 | 一种流固载荷样条插值转换中的数据预处理方法 |
CN111161419A (zh) * | 2019-12-27 | 2020-05-15 | 武汉联影医疗科技有限公司 | 三维模型的剖切方法、装置和存储介质 |
CN111161419B (zh) * | 2019-12-27 | 2022-06-10 | 武汉联影医疗科技有限公司 | 三维模型的剖切方法、装置和存储介质 |
CN112206064A (zh) * | 2020-09-25 | 2021-01-12 | 雅客智慧(北京)科技有限公司 | 一种数字化牙模生成方法及系统 |
CN112206064B (zh) * | 2020-09-25 | 2021-12-28 | 雅客智慧(北京)科技有限公司 | 一种数字化牙模生成方法及系统 |
CN113838212A (zh) * | 2021-09-22 | 2021-12-24 | 杭州趣村游文旅集团有限公司 | 一种数字乡村三维模型的区块拼接方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108711194B (zh) | 2022-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108711194A (zh) | 一种基于三次b样条插值的三维网格模型拼接方法 | |
US8766982B2 (en) | Vectorization of line drawings using global topology and storing in hybrid form | |
JP6883062B2 (ja) | 3dテクスチャ処理されたメッシュのロバストなマージ | |
US10019440B2 (en) | Methods and apparatus for three-dimensional (3D) sketching | |
US7324104B1 (en) | Method of centerline generation in virtual objects | |
Grimm et al. | Just draw it! a 3d sketching system | |
Massarwi et al. | Papercraft models using generalized cylinders | |
US20070003154A1 (en) | Video object cut and paste | |
Vicente et al. | Balloon shapes: Reconstructing and deforming objects with volume from images | |
CN105956995B (zh) | 一种基于实时视频本征分解的人脸外观编辑方法 | |
CN109034131B (zh) | 一种半自动人脸关键点标注方法及存储介质 | |
CN110021000B (zh) | 基于图层变形的发际线修复方法及装置 | |
Lu et al. | Coherent parametric contours for interactive video object segmentation | |
Oswald et al. | A review of geometry recovery from a single image focusing on curved object reconstruction | |
Li et al. | ColorSketch: A drawing assistant for generating color sketches from photos | |
CN115393482A (zh) | 一种表情动画重定向方法、装置及电子设备 | |
Centin et al. | Advancing mesh completion for digital modeling and manufacturing | |
Shesh et al. | Efficient and dynamic simplification of line drawings | |
Zell et al. | Elastiface: Matching and blending textured faces | |
Cardona et al. | Hybrid-space localized stylization method for view-dependent lines extracted from 3D models. | |
Junior et al. | A 3D modeling methodology based on a concavity-aware geometric test to create 3D textured coarse models from concept art and orthographic projections | |
CN104091318B (zh) | 一种中国手语视频过渡帧的合成方法 | |
Chen et al. | Character animation creation using hand-drawn sketches | |
Casas et al. | Parametric control of captured mesh sequences for real-time animation | |
CN103164870A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220218 |
|
CF01 | Termination of patent right due to non-payment of annual fee |