一种任意拓扑的多边形网格模型融合方法

文档序号:6460431阅读:361来源:国知局

专利名称::一种任意拓扑的多边形网格模型融合方法
技术领域
:本发明涉及计算机才莫型处理技术,特别是涉及一种任意拓朴情况的多边形网格模型融合方法。
背景技术
:三维物体融合通过将已有物体的部件无缝地拼接在一起以构造出兼有它们特征的新模型,提供了一种操作简洁、功能强大的造型工具。在早期,一些研究人员提出运用参数化技术建立待融合物体边界处影响区域之间的映射关系,然后对影响区域进行混合处理以达到光滑拼接,参见T.Kanai.H.Suzuki,J.MitaniandF.Kimura.Interactivemeshflisionbasedonlocal3Dmetamorphosis.InProceedingsofGraphicsInterface,1999,pp148-156。近年来,微分域多边形网格处理技术的发展为实现融合操作提供了新思路。在建立边界之间的对应关系后,将对应边界变换到一致的形状并将变换扩散到对应边界的影响区域产生一个渐变的过渡,由于仅需建立边界之间的对应关系,这种方法可以4艮好地适用于亏^f各不为0的物体间的融合,参见Y.Yu.K.Zhou,D.Xu.X.Shi.H.Bao,B.GuoandH.Shum.MesheditingwithPoisson-basedgradientfieldmanipulation.ACMTransactionsonGraphics23(3):664-651.2004以及O.Sorkine,Y.Lipman,D.Cohen-Or,M.Alexa,C.RossiandH.P.Seidel.Laplaciansurfaceediting.InProceedingsofEUROGRAPHICS/ACMSIGGRAPHSymposiumonGeometryProcessing,pp179-188.2004。但无论是基于参数化技术的方法还是基于微分域多边形网格处理的方法,都采取将待融合物体的边界直接拼接在一起,然后对边界附近定义的影响区域进行特定操作以实现光滑拼接的策略,因而这些策略只能处理两个对应边界之间的融合,而无法处理多个边界的同时融合。
发明内容本发明提供一种任意拓朴的多边形网格模型融合方法,在于解决现有多边形网格模型融合方法存在的拓朴限制问题。一种任意拓朴的多边形网格模型融合方法,包括以下步骤1)从已有模型上截取感兴趣的部件;2)基于过渡基元的物体定位用户在已有多边形网格模型上截取感兴趣部件,在过渡基元的辅助下将它们变换到用户满意的方位。所述的过渡基元是一个大致表示中间过渡物体形状的简单几何体如球、圆柱、圆台等,待融合物体围绕过渡基元放置;3)基于草图的轮廓勾勒提供基于草图的接口以方便用户指定中间过渡物体的轮廓形状,用户在屏幕空间用鼠标大致勾勒出过渡物体的轮廓,系统自动确定出轮廓线的深度信息,并变换到世界坐标系,随后这些轮廓被转化为位置约束和法向约束并添加到变分隐式曲面构造中;4)基于变分隐式曲面的过渡物体描述采用变分隐式曲面定义中间过渡物体,将待融合的部件连接在一起以处理各种拓朴情况下的融合问题,在融合边界处引入位置约束和法向约束以实现边界的光滑过渡;5)局部化移动立方体等值面抽取将指定空间剖分为立方体,并根据定义的隐函数进行采样;根据立方体的采样信息以及待融合物体的信息对立方体分类;在有效立方体上应用保拓朴的移动立方体算法抽取等值面;采用最优桥接三角化实现过渡网格与待融合物体的无缝连接;对过渡区域进行重新网格化改善网格质量。对于每个^寺融合物体,我们定义一个方向n=nAowW+wxnw,式中ntam/和n"分别表示边界和整个待融合物体的方向,分别通过对边界的所有顶点和整个待融合物体的所有顶点进行主元分析得到。用户在过渡基元上指定物体将要移到的位置G,由^可以确定一个目标方向i1,^,,接着系统将自动计算得到一个刚性变换,物体通过变换后,C,变换到G位置,n变换到n,^,。采用变分隐式曲面定义中间过渡物体将待融合的部件连接在一起以方便处理各种拓朴情况下的融合问题,在融合边界处引入位置约束和法向约束以实现边界的光滑过渡。我们首先为所有边界点及边界的"-环点(记这些点的集合为F"按列出方程,函数值取/>0,这样可^U呆证过渡曲面精确插值给定的边界。此外,为了保证过渡光滑,我们还必须引入法向约束,对于7*中的每个点v,我们沿其法向n,偏移一定距离得到一个新点^+zn,,将该点加入线性系统中,赋予函数值/;-r。r为一个很小的实数,我们取r-0.U^,Zmin为所有边界上最短的边长。提供基于草图的接口以方便用户指定中间过渡物体的轮廓形状用户在屏幕空间用鼠标大致勾勒出过渡物体的轮廓,系统自动找到两个离该轮廓线端点最近的开口j和B,并在两个开口上分别确定离轮廓线端点最近的点p、Q;然后引入两个平面投影平面Q和深度平面n:深度平面n经过点P、Q和^L点,记其法向为n。,用于进一步调整轮廓线的深度变化。投影平面Q经过点P、Q,其法向为n。i^x帀,描述当前角度下轮廓线的形状;接着,用户所绘轮廓线被投影到由深度平面上的贝赛儿曲线沿nn扫略得到的曲面上。系统自动确定出轮廓线的深度信息,并变换到世界坐标系;随后用户勾勒的过渡物体轮廓被转化为位置约束和法向约束并添加到变分隐式曲面构造中,对于轮廓线上的点,它们的法向可以通过对确定轮廓线的开口上的两个点P和Q的法向通过沿轮廓线进行弧长插值得到。采用一个局部化移动立方体算法将变分隐式曲面转化为三角网格表示在算法上,要求只多边形化隐式曲面上感兴趣的部分,为此必须对剖分后的立方体进行归类,然后对每种立方体〗吏用不同的处理方法。由于只对VS-Cube进行多边形化,在给定模型和生成的网格间那些BS-Cube所占据的区域会存在一个空白带,必须对这个条带进行三角化从而将所有网格曲面连成一个整体。本发明针对现有的多边形网格模型融合方法存在的拓朴限制,以及边界形状不能差异太大等缺点,采用了一种通过构造中间过渡物体来融合给定的多个部件的技术方案,本发明算法明确,界面友好,结果鲁棒,该方法可以用于游戏、影视中的角色设计。图1为本发明的技术方案流程图;图2图1中基于过渡基元的物体定位处理过程图;图3图1中基于草图的轮廓线勾勒的处理过程图;图4图1中局部化移动立方体算法具体组成图;图5图1中立方体分类的组成图。具体实施方式一种适合于任意拓朴的多边形网格模型融合方法,用户从已有模型上分割出感兴趣的部件,接着在过渡基元的辅助下将各个部件变换到合适的方位,然后用户用鼠标在屏幕上勾勒出中间过渡物体的轮廓,随后算法生成一个变分隐式曲面表示的、精确插值边界位置和法向约束、符合用户所描绘轮廓的中间过渡物体,最后通过一个局部化移动立方体方法自动抽取出过渡曲面上所需保留的部分并实现与待融合物体的无缝连接,具体流程参见图1。本发明实施的关键有四点基于过渡基元的物体定位、基于变分隐式曲面的过渡物体描述、基于草图的轮廓勾勒、局部化移动立方体等值面抽取。下面具体介绍关^fc的实现细节1.基于过渡基元的物体定位对于每个待融合物体,我们定义一个方向式中和n"分别表示边界和整个待融合物体的方向,分别通过对边界的所有顶点和整个待融合物体的所有顶点进行主元分析得到,首先我们按下式构造协方差矩阵CVM:<formula>formulaseeoriginaldocumentpage7</formula>记4$;122义3为CVM的特征值,7,^,5为对应的单位特征向量,则i^"和定义如下<formula>formulaseeoriginaldocumentpage7</formula><formula>formulaseeoriginaldocumentpage7</formula>。*v,式中C,,Cp分别是边界和物体的重心。w'g"(x)为符号函数<formula>formulaseeoriginaldocumentpage7</formula>用户在过渡基元上指定物体将要移到的位置cr,由cr可以确定一个目标方向n,^,,接着系统将自动计算得到一个刚性变换,物体通过变换后,Cfl变换到CV位置,n变换到n,吣,。物体定位的示意图见2。2.基于草图的轮廓勾勒我们设计了一个草图接口来描述待生成过渡曲面的轮廓形状,并将这些轮廓线转化为变分曲面的位置约束和法向约束。在一般的基于草图的自由造型系统中,用户所绘制的线条都在同一个深度平面上,同时也不需要太多地考虑上下文环境(这里,上下文环境指的是造型系统中已存在的一些会对解析新绘制的线条所反映用户意图产生影响的物体),而在网格融合框架下,绘制的线条往往不会仅简单的处于一个深度平面上,即必须考虑深度变化的连续性问题。我们设计了一个比较新颖的构造方法,如图3所示。首先用户在屏幕上绘制出一条2维轮廓线,系统自动找到两个离该轮廓线端点最近的开口^和5,并在两个开口上分别确定离^"廓线端点最近的点P、Q;然后我们引入两个平面投影平面Q和深度平面n:深度平面n经过点P、Q和一见点,记其法向为iin,用于进一步调整轮廓线的深度变化。投影平面Q经过点P、Q,其法向为n。-i^x巧,描述当前角度下轮廓线的形状;接着,用户所绘轮廓线被投影到由深度平面上的贝赛儿曲线沿nn扫略得到的曲面上。然后可以在两个平面上分别对投影后的轮廓线进行调整,对于投影平面,我们设计了一个光顺工具让方便用户对轮廓线进行光顺直到满意,对于深度平面,用户可以通过调整贝赛儿曲线的两个控制顶点来改变形状,从而改变轮廓线的深度变化,而固定其余控制点从而保证深度变化与边界处光滑连续。3.基于变分隐式曲面的过渡物体描述在用户指定了满意的轮廓线约束后,我们就可以构造一个光滑连接所有待融合物体并符合给定轮廓的变分曲面。过渡曲面的形状由边界约束和用户指定的轮廓约束所决定,我们首先为所有边界点及边界的w-环点(记这些点的集合为")按列出方程,函数值取O,这样可以保证过渡曲面精确插值给定的边界。此外,为了保证过渡光滑,我们还必须引入法向约束,对于*中的每个点v,我们沿其法向n,.偏移一定距离得到一个新点v,+w,将该点加入线性系统中,赋予函数值/;-r。r为一个很小的实数,我们取r=0.1Am,A^为所有边界上最短的边长。对于轮廓线上的点,它们的法向可以通过对确定轮廓线的开口上的两个点P和Q的法向通过沿轮,卩线进行弧长插值得到。才艮据给定的插值约束/(c,)",,我们可以列出如下的方程由于这个方程只'是未知数(A,和函数/7的系数)的线性方程,所以可以用一个线性系统来求出未知数来。设c,表示点,A表示一c,-c」),则线性方程可以用矩阵表示<table>tableseeoriginaldocumentpage9</column></row><table>从上可以看出该线性系统是对称和半正定的,所以总存在一个唯一的解。需要注意的是上面矩阵的条件数随着约束点的增加而增加,这样就会增加系统的不稳定性,但是我们的应用中约束点只是待融合物体边界上的点,数目不会^f艮大,所以没有给我们的过渡曲面带来影响。4.局部化移动立方体等值面抽取局部化移动立方体算法的整个过程见图4。我们的方法是在原始移动立方体方法上进一步扩展得到的。移动立方体算法的核心思想是首先将隐式曲面所处的特定空间剖分成立方体子空间,对于每个立方体,根据其八个顶点的内外标志进行多边形化。不同于传统的移动立方体方法,我们的算法要求只多边形化隐式曲面上感兴趣的部分,为此我们必须对剖分后的立方体进行归类,然后对每种立方体使用不同的处理方法。如图5所示我们的算法将立方体分为4类*E-Cube:如果一个立方体的八个节点全部位于曲面的内/外部,则该立方体将不会包含任何三角片,称之为E-Cube,其余的立方体则称为S-Cube,S-Cube又可以进一步分为下面的三类BS-Cube、VS-Cube和IS誦Cube。-CI\T…zcwoooo\T%2…\fooooHIJ2oooo11…1oooo^A…入1d42"uu:wII1少lz1BS-Cube:如果一个S-Cube与给定的边界相交,则称为边界相交立方体;如果S-Cube的26个邻居中有一个是边界相交立方体,则称该S-Cube为边界邻居立方体。这两类立方体都归为BS-Cube。*VS-Cube和IS-Cube:在确定了BS-Cube后,其他剩下的S-Cube分为两种有效曲面立方体(VS-Cube)和无效曲面立方体(IS-Cube)。位于感兴趣曲面片上的即为VS-Cube,反之则是IS-Cube。我们采用了一个种子填充算法来区分IS-Cube和VS-Cube:首先我们在BS-Cube的邻居中寻找种子IS-Cube,考察每一个BS-Cube的为确定类型的邻居,如果它与任一个边界的周围一圈三角片相交则为种子IS-Cube(对于每一个边界,我们取其环绕3圈的三角片参与求交,若某边界不存在对应的种子IS-Cube,那么我们则将环绕边界的更多3角片加入,直到每个边界都存在至少一个对应的种子IS-Cube。);在为每个边界都找到种子IS-Cube后,我们以种子IS-Cube出发进行一个种子填充过程以得到所有的IS-Cubes,对于任意一个种子IS-Cube,考察其26个邻居,若存在未确定类型的S-Cube,则将该立方体置为IS-Cube并作为新的种子点,重复该过程直到没有新的种子IS-Cube出现为止。种子IS-Cube搜索算法-Function&^/(^&5^^/2(0的伪代码如下FunctionSeeifC^&S^c《。aseedXff-Cu&s1)forai^rcfc's26nei^iborS"ctf2)ifcsisCuteORCu6eORW-Cu&ethencontinue;3)ifcwinterssetaboundarythenreturnc及;4)foranyofc,s26nei^iborS"c#5)5-null;6)ifc#isaBS-Cube,then5=5^Ci^e沒。r5);7)ifsisNOTnull^thenreturns;8)returnnull;IS-Cube种子填充算法-FunctionCM&F/oo^7g("的伪代码如下<formula>formulaseeoriginaldocumentpage11</formula>两种算法都以递归函数形式给出。我们从每一组BS-Cubes中随机选取一个BS-Cubec作为输入调用Function5"eaiCwZ^&arc/2(c),得到种子IS-Cube然后调用FunctionCw6eF/ocxi/"g("进^亍IS-Cube的4专4番。长口果FunctionSeei/Cw6&Sean^(c)返回null,我们从另一组BS-Cubes中再选取一个BS-Cubec进行搜索。我们迭代的进行搜索及传播过程直到没有找到新的种子IS-Cube。由于两个函数中的搜索过程都是局部的,因此整个立方体分类的过程是比较快的。在完成了立方体分类后,我们就可以在VS-Cubes上抽取等值面,本文采用了Lewiner等人提出的移动立方体算法的一个高效而鲁棒的实现(参见T.Lewiner,H.Lopes,A.W.Vieira,andG.Tavares.Efficientimplementationofmarchingcubescaseswithtopologicalguarantees.JournalofGraphicsTools,2003,8:1-15)。由于我们只对VS-Cube进行多边形化,在给定模型和生成的网格间那些BS-Cube所占据的区域会存在一个空白带,我们必须对这个条带进行三角化从而将所有网格曲面连成一个整体。我们将之定义为一个组合优化问题并进一步转化成有向图上的最短路径问题进行求解。我们定义有向图上的边权重为一个衡量三角片r规则性的式子<formula>formulaseeoriginaldocumentpage11</formula>式子中r是内切圆的半径,/为三角片r的最长边。度量值j越小表示三角片越规整,这样求得的是一个三角片最规整的结果。权利要求1.一种任意拓扑的多边形网格模型融合方法,包括以下步骤1)从已有模型上截取感兴趣的部件;2)在过渡基元的辅助下将部件放置在合适的位置;3)在屏幕上用鼠标绘制线条以指定连接已有模型的中间过渡物体的大致轮廓;算法自动构造出深度平面和投影平面以确定轮廓线初始深度信息,用户分别在两个平面上对轮廓线进行再编辑直到满意;4)采用变分隐式曲面定义光滑插值边界并符合指定轮廓的过渡曲面;5)采用局部化的移动立方体算法,对过渡曲面进行多边形化并与已有模型进行无缝连接。2.根据权利要求1所述的多边形网格模型融合方法,其特征在于所述的步骤(2)中将部件放置在合适的位置是指在过渡基元上指定目标位置,并据此确定物体目标方向;应用主元分析方法对每个待融合物体定义个方向;将待融合物体由当前定义方位变换到过渡基元上指定方位;最后在锁定模式下调整物体,物体将限制在过渡基元表面上运动。3.根据权利要求1所述的多边形网格模型融合方法,其特征在于所述的步骤(3)中算法是指系统自动找到两个离该轮廓线端点最近的开口^4和S,并在两个开口上分别确定离^"廓线端点最近的点P、Q;然后引入两个平面投影平面Q和深度平面n:深度平面n经过点P、Q和视点,记其法向为i^,用于进一步调整轮廓线的深度变化;投影平面Q经过点P、Q,其法向为n。-i^x两,描述当前角度下轮廓线的形状;接着,用户所绘轮廓线被投影到由深度平面上的贝赛儿曲线沿nn扫略得到的曲面上;系统自动确定出轮廓线的深度信息,并变换到世界坐标系;随后用户勾勒的过渡物体轮廓被转化为位置约束和法向约束并添加到变分隐式曲面构造中,对于轮廓线上的点,它们的法向通过对确定轮廓线的开口上的两个点p和Q的法向通过沿,仑廓线进行弧长插值得到。4.根据权利要求1所述的多边形网格模型融合方法,其特征在于所述的步骤(5)中所述的局部化的移动立方体算法为将指定空间剖分为立方体,并根据定义的隐函数进行采样;根据立方体的采样信息以及待融合物体的信息对立方体分类;在有效立方体上应用保拓朴的移动立方体算:抽===用,桥接三角化实现过渡网格与^^^缝连接,对过渡区域进行重新网格化改善网格质量。^全文摘要本发明公开了一种任意拓扑的多边形网格模型融合方法,包括以下步骤1)从已有模型上截取感兴趣的部件;2)在过渡基元的辅助下将部件放置在合适的位置;3)在屏幕上用鼠标绘制线条以指定连接已有模型的中间过渡物体的大致轮廓;4)采用变分隐式曲面定义光滑插值边界并符合指定轮廓的过渡曲面;5)采用局部化的移动立方体算法,对过渡曲面进行多边形化并与已有模型进行无缝连接。本发明通过将已有的多边形网格模型以自然、光滑的方式融合在一起,得到新的复杂多边形网格模型,从而为非专业人员提供了一种简便直观的造型方法。文档编号G06T15/00GK101266691SQ20081006065公开日2008年9月17日申请日期2008年4月24日优先权日2008年4月24日发明者林俊聪,王昌凌,许健泉,金小刚申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1