基于调和映射的网格生成方法

文档序号:6460423阅读:143来源:国知局
专利名称:基于调和映射的网格生成方法
技术领域
本发明涉及计算机图形网格处理技术,尤其涉及基于调和映射的网格 生成方法。技术背景给定一个三维物体,对它的表面采样,得到由一系列点组成的无序点 云,要求按这个点云恢复它所界定的三维物体的几何形状。在计算机视觉、 虛拟现实和反求工程中,这是个相当重要的问题。为解决此问题,通常首 先需要生成插值这些点的三角网格表示的曲面。学者们对这一问题进行了深入研究,提出了许多方法。这些方法大致可以分为以下几类一、 基于雕刻的方法首先将点云Delaunay三角化,然后按照一定的 规则将与点云表示的几何形状有关的三角面片剥离出来。如Boissonnat 的方法,可参考[Boissonnat84] J.-D. Boissonnat, Geometric structures of three-dimensional shape reconstruction, ACM Trans. On Graphics, Vol.(3), No.(4), 1984, 266-286,先将点云Delaunay三角化,如果点云中的点不全位 于点云的凸壳上,则依次删除体中的某个四面体,直到点云中的点都成为 体的边界点,这个体的边界就是对点云表示的曲面形状的一个近似。这类 方法的运算量通常纟艮大。二、 跟踪等值线的方法以Hoppe等人提出的方法为代表,可参考 [Hoppe92] H. Hoppe, T. DeRose, T. Duchamp, J. McDonald, W. Stuelzle, Surface reconstruction from unorganized points, Computer Graphics(Proceedingof SIGGRAPH,92), 1992, 71-78,通过抽取点云决定的 距离场的零等值面,得到三角网格。不过,这个三角网格并不插值于点云。三、 区域增长的方法从一个种子三角面片开始,将它的边加入活动 边链表,对于链表中的每一条边,按照某种法则在点云中确定一个点,与 这条边组成三角面片。将这条边从活动边链表中删去,同时将新产生的活 动边加入链表。算法直到活动边链表为空时结束。算法的关键是按照怎样的法则在点云中确定点。BPA算法,可参考[Bemardini99]F. Bernardini, J. Mittleman, H. Rushmeier, C. Silva, G. Taubin, The Ball-Pivoting Algorithm for Surface Reconstruction, IEEE Transactions on Visualization and Computer Graphics, Vol.(5), No.(4), 1999, 349-359,用一个J求围绕活动边转动,直到 与点云中的某个点接触,这点与这条边形成一个新的三角面片。此外,文 献[Huang02]J. Huang, C. H. Menq, Combinatorial manifold mesh reconstruction and optimization from unorganized points with arbitrary topology, Computer-Aided Design, Vol.(34), 2002, 149-165,中的方法,对于 每一条活动边,分别将与这条边的两个端点距离最近的t个点投影到这条 边所在的三角面片决定的平面上,从这些投影点中选择一点,它所对应的 点云中的点与这条边形成新的三角面片。这些方法生成的网格,并不能保 证其拓朴是正确的。发明内容本发明提出了 一种基于调和映射的网格生成方法,该方法生成的三角 网格曲面最接近于原始被采样曲面的几何形状和拓朴结构。 本发明采用的技术方案如下一种基于调和映射的网格生成方法,包括以下步骤(1) 已知对三维物体表面采样得到的点云C,从点云C中选择一个种子 三角形,将它的边力口入活动边链表;(2) 从这个链表中取出 一条边,通过与采样均匀度自适应的方法来确定 它的影响域;(3)如果此影响域包含点云C中的点,按照调和映射原则从中选择一 个点与这条活动边组成一个新三角形,重新计算新生成边端点的釆样均匀 度,并将新生成的边加入活动边链表;(4) 如果此影响域不包含点云C中的点,就认为这条边为边界边,从活 动边链表中删除这条边;(5) 重复步骤(3)、 (4),直到活动边链表为空;从点云C中生成得 到最接近原始三维对象表面的三角网格模型。所述的种子三角形的构造方法,包括 (1)在点云C中找到z坐标最大的点/ ;(2) 找到与点p距离最近的点《,它与点p组成边丄;(3) 构造以线段丄所在直线为轴、以线段丄的中点为中心、以线段 丄的长度/ew之半为半径且以/ew为高的一个圆柱,使其半径均匀增大,同 时其高也沿着轴的两个方向均匀增大,直到这个圆柱内包含点云中的点;(4) 在上述圆柱所包含的点中,选取一个点,使它与边丄的两个端 点所构成的两条边的长度之和最短,这个点与边丄构成种子三角形。所述的活动边影响域的确定方法,包括(1)设活动边为 .,其端点为尸,和尸力中点为尸『对于活动边 . 所在的三角形,其三个顶点为尸,.,巧和/\,重心为尸,单位法向W与向量 iV^xiy^平行;(2 )首先确定这条边两个端点所邻接各点的采样均匀度或者近似采样 均匀度中的最大值,再求出这条边的两个端点所邻接的最长边的长度,设 这两个值的乘积为(3) 影响域的上边界面A是法向为7V,且经过点尸产iV^^的平面;(4) 下边界面52是法向为7V,且经过点户2-i^"7V的平面;(5) 外侧边界面53,是法向为iVx巧尸,.且过点iV3/VhsA^的平面,这 里M是iVx/y^的单位化向量;(6) 根据活动边左端点处的拓朴连接关系,确定影响域的左边界面;(7) 根据活动边右端点处的拓朴连接关系,确定影响域的右边界面。 所述的调和映射选点原则,包括(1 )假设三角面片W有活动边 ,它的影响域中包含多个活动点, 从中选择使下列方程最小的点尸m,<formula>formula see original document page 6</formula>2与活动边^组成三角面片{/,,附}。这里,系数^为其中、是边^的长度,^^是三角面片(/,, W的面积;对于新生成的两条 边A.m和 ,它们仅邻接一个三角形,系数^和A,分别为<formula>formula see original document page 6</formula>,加;(2 )对新生成的三角面片仏/,附}进行完整性测试,检查它与已存在的 相邻三角面片之间的交是否空集或边界边;如果是,就选择这个点与活动 边e"组成新三角形;(3)否则,选择剩余活动点中使上述方程最小者,进行几何完整性测 试;依次类推;如果所有活动点都不符合几何完整性测试,活动边 就是 一条边界边。本发明基于以下原理进行(1) 发现了点云的采样均匀度这是点云的内在性质,某点处的采样 均匀度为与此点邻^^妄的最长边与最短边的长度之比。(2) 创建活动边的影响域边的影响域是一个多面体,它的大小由边的两个端点处的采样均匀度确定;如果某边的影响域中包含活动点,则选 择其中 一个点与此边组成三角形。(3) 提出了选点的调和映射原则从包含在活动边影响域的点中,选 择一个满足调和映射的点,与此边组成三角形;这样得到的三角网格与原 始曲面的形状最接近。某点处的采样均匀度揭示了点云中的采样点在这点附近分布的均匀 程度。某点处的采样均匀度越大,在此点附近采样点的分布越不均匀;反 之,采样均匀度越接近l,采样点的分布越均匀。采样均匀度是点云的内 在性质,用于确定边的影响域的大小。边的影响域的形状由这条边的邻接关系确定,其大小由边的两个顶点 处的采样均匀度确定。边的影响域的采用,将点的选取局限于影响域之内, 极大地减少了运算量。在边的影响域中选择满足调和映射的点,将使得能量泛函最小。这点 与当前活动边组成三角形,这样生成的三角网格曲面最接近于原始曲面的 几何形状与拓朴结构。本发明与现有技术相比较,其优点在于本发明方法引进了采样均匀度概念,将网格中某点所邻接的最长边与 最短边的长度比定义为点云在这点处的采样均匀度。利用点云的这个内在 性质,为每条活动边计算它的影响域,将寻找新点的计算局限在影响域中 进行,从而有效地提高了计算效率。本发明方法提出了调和映射原则来确 定新点,它与当前活动边组成一个新三角形。如此生成的网格曲面体现了 点云的内在性质,与原始曲面的几何形状和拓朴结构最《|妄近。


图l是本发明方法的流程图。图2是本发明方法的几个基本概念的示意图。 图3是边 .的影响域在这条边所在的三角面片上的投影(虚线框)。 图4是创建三角网格模型的过程示意图,其中图4a为点云,图4b 为从点云中生成网格的光照图,图4c为生成的三角网格模型。
具体实施方式
下面结合附图和实施例对本发明作进一步说明。本发明提出一种基于调和映射的网格生成方法。设一个三维对象的表 面是二维流形M,已经从M上采样得到足够稠密的点云C。本方法从点 云C中重建出一个插值于C中所有点的三角网格曲面。图1是本方法的 流程图。首先从点云中选择一个种子三角形,将它的边加入活动边链表。 从这个链表中取出一条边,确定它的影响域。如果此影响域包含点云中的 点,则从中选择一个与这条活动边组成一个新三角形,重新计算新生成边 端点的采样均匀度,并将新生成的边加入活动边链表;如果此影响域不包 含点,就认为这条边为边界边。从活动边链表中删除这条边。这一过程循 环进行,直到活动边链表为空。为了叙述方便,首先介绍几个概念。1.基本概念如图2所示,设点户是点云中的任一点,在生成的网格中,与点户 邻接的最长边与最短边的长度之比称为点云在点尸处的采样均勻度。某 点处的釆样均匀度反映了点云在这点附近分布的均匀程度,这个值越大, 说明点云在这点附近的分布越不均匀;越接近于l,表明分布越均匀。它 是点云的内在性质。按照定义,只有当点尸所邻接的边全部生成以后,才 能求得点云在点户处的采样均匀度。然而,在网格生成过程中,点P邻接 的边是一条一条逐次生成的,因此,在已经生成的点尸的部分邻接边中, 取最长边和最短边的长度比,作为点云在点尸处的近似采样均匀度。如图2所示,如果一个点的所有邻接边都是内边,称为固定点。如 果一个点邻接活动边或者边界边,或者没有邻接边,称为活动点。如图2所示,在网格生成过程中,如果一条边仅有一个邻接面,并且 其影响域中包含点云中的活动点,这条边称为活动边;如果一条边仅有一个邻接面,但是它的影响域中不包含活动点,则称为边界边;如果一条边 有两个邻接面,称为内边。为了便于查找,将点云所在空间离散成体素表示。对于每一个体素, 将包含在其中的点组织成一个链表,并存储一个指向这个链表的指针。2. 构造种子三角形首先按照下面的方法构造一个种子三角形。(1) .在点云中找到z坐标最大的点; ;(2) .找到与点p距离最近的点g,它与点p组成边丄;(3) .构造以线,史£所在直线为轴、以线段丄的中点为中心、以线賴: 丄的长度/ew之半为半径且以/w为高的一个圆柱。使其半径均匀增大,同 时其高也沿着轴的两个方向均匀增大,直到这个圆柱内包含点云中的点;(4) .在上述圆柱所包含的点中,选取一个点,使它与边Z的两个端 点所构成的两条边的长度之和最短。这个点与边£构成种子三角形(面 片),将其边加入活动边链表。这样选取种子三角面片是为了便于将三角面片的法向调整到朝向物 体的外侧,其原理是这样的先计算种子三角面片的法向,再计算它与向 量(0,0,1)的内积,如果这个内积大于零,说明种子三角面片的法向朝物 体的外侧,否则为内侧。确定出种子三角面片朝外的法向后,以后生成的 三角面片朝外的法向可以参考种子三角面片的法向来确定。3. 构造边的影响域从活动边链表中取出一条活动边,为这条边构造一个影响域。如果影 响域不包含点云中的活动点,则这条边是边界边;否则就从中选取一个点 与这条边组成新三角形。下面说明影响域的构造方法。如图3所示,设活动边为 ,其端点为尸,和尸力中点为TV 对于活 动边 .所在的三角形,其三个顶点为尸,,巧和A,重心为尸,单位法向W 与向量iW^fc尸,平行。活动边 的影响域是这样确定的首先确定这条 边两个端点所邻接各点的采样均匀度或者近似采样均匀度中的最大值,再 求出这条边的两个端点所邻接的最长边的长度,设这两个值的乘积为s; 然后确定影响域的边界面。图3是活动边 的影响域在它所在三角面片 决定的平面上的投影。下面以图3为例,来说明影响域的求法。(1).影响域的上边界面A是法向为M且经过点产的平面。(2) .下边界面丑2是法向为AT,且经过点尸2-尸m-"S^V的平面。(3) .外侧边界面A,即投影为及^2的边界面,是法向为AAx尸^,且过 点户产/^+siV3的平面,这里M是iVx巧尸,.的单位化向量。(4) .为得到影响域的右侧边界面,要考察点尸,的邻接边中,其另一个 端点与点A分别在面Af: A/3X(%-PW)=0不同侧的边;在图3中,边尸必和A込满足这个条件。找出向量尸,込和尸,込中与向量iV5/夹角 最小的一个;在图3中,它为尸,込。如果这个向量与向量尸,.巧的夹 角小于向量尸A与尸^.的夹角,则影响域的右边界面有两个;在图3 中,即平面54: M x(jf-尸,)-0与B5: AT5 x(y-尸,)-O,其中7V4为Wx尸《的单 位化向量,iV5为Wx尸,.込的单位化向量。如果这个向量与向量尸A. 的夹角大于向量尸尸,与尸,^的夹角,或者点尸,的邻接边的另一个端点 与点A都在面Af的同侧,那么左边界面只有一个,即54。(5) .为确定影响域左边界面,也要进行类似操作;在图3中,左边界 面为56:7/6><(^^.)=0,其中,JV6为向量Wx尸巧的单位化向量。 综上所述,图3中边^的影响域由上述6个边界面组成。其他活动边的影响域可以类似求得。影响域的采用,使得我们只需要在影响域包含的点中选择一个,与当 前活动边组成三角形。这极大地缩小了计算范围,提高了计算效率。4.按照调和映射原则寻找新点如果活动边影响域中包含多个活动点,比如图3所示影响域中有两个 活动点込和g4,本方法采用调和映射原则从中选取一个点,与当前活动 边组成三角形。下面,我们详细介绍点的选取原则。因为我们所处理的点云是从一个三维物体的表面采样得到的,所要求 的是一个插值于点云中所有点的三角网格曲面,这个曲面是原三维物体表 面的近似,因而,三角网格曲面与被采样物体表面之间要尽可能地接近。对于一个给定的点云,4艮设有w种拓朴正确的重建三角网格,每种网 格对应于一张嵌入到被采样物体表面的曲边三角网格。虽然这w张曲边 三角网格的顶点之间的连接关系不同,但是它们表示的是同一张曲面。因 而,与被采样物体表面最接近的重建三角网格必须与它所对应的曲边三角 网格之间的度量扭曲最小。这里的度量指得是三角形的纵横比,以及网 格的边长。与一个网格S度量扭曲最小的网格&使如下的泛函最小<formula>formula see original document page 11</formula>(1)其中, 是系数,; 是调和映射,尸,.和巧是s中边^的两个端点,//(尸,)和//(巧)是网格5^中相应边的顶点。在本方法中,映射/i是恒等映射,顶点之间的连接关系未知。因此, 问题转化为求解限制在被采样物体表面的最小权三角分解。我们采用一 种启发式策略来寻找这个问题的近似解。假设三角面片{/,乂 w有活动边我们为它寻找一个新点尸M,与其组成一个三角面片"乂 w},侵_得下式 最小,<formula>formula see original document page 11</formula>(2) 这里边^.邻接两个三角面片(/,,W和系数^为<formula>formula see original document page 11</formula> (3)其中Z^是边 的长度,4^是三角面片{/,, W的面积;对于新生成的两条 边e,.M和 ,它们仅邻接一个三角形,系数^和^分别为&加",附=2《-丄L)/4,,w ° (4) 如果活动边%的影响域中包含多个活动点,本方法首先选择使方程(2) 最小的点,对其进行完整性测试检查新生成的三角面片与已存在的相邻 三角面片之间的交是否空集或边界边;如果是,就选择这个点与活动边% 组成新三角形;否则,选择剩余活动点中使(2)最小者,进行几何完整性测 试;依次类推。如果所有活动点都不符合几何完整性测试,活动边^.就是 一条边界边。5)生成整个网格从部分生成网格的活动边链表中,取出一条活动边,按照以上步骤3), 为其构造影响域;按照步骤4),根据调和映射原则,在影响域中寻找一点, 与当前活动边组成新的三角形,并将新生成的活动边加入到活动边链表 中。对于新生成活动边的端点,重新计算它们的采样均匀度。这个过程 直到活动边链表为空时结束。这时,从点云中生成了整个网格模型。如图 4是一个例子,其中,图4a为点云,包含40002个点,图4b为从点云中生 成网格的光照图,图4c为生成的三角网格模型。
权利要求
1.一种基于调和映射的网格生成方法,包括以下步骤(1)已知对三维物体表面采样得到的点云C,从点云C中选择一个种子三角形,计算顶点处的采样均匀度,并将它的边加入活动边链表;(2)从这个链表中取出一条活动边,通过与采样均匀度自适应的方法来确定它的影响域;(3)如果此影响域包含点云C中的点,按照调和映射原则从中选择一个与这条活动边组成一个新三角形,重新计算新生成边端点的采样均匀度,并将新生成的边加入活动边链表;(4)如果此影响域不包含点云C中的点,就认为这条边为边界边,从活动边链表中删除这条边;(5)重复步骤(3)、(4),直到活动边链表为空;从点云C中生成得到最接近原始三维对象表面的三角网格模型。
2.根据权利要求1所述的基于调和映射的网格生成方法,其特征在 于所述的种子三角形的构造方法,包括(1) 在点云C中找到z坐标最大的点p;(2) 找到与点/ 距离最近的点g,它与点p组成边Z;(3) 构造以线段丄所在直线为轴、以线段丄的中点为中心、以线段 Z的长度/ew之半为半径且以/ew为高的一个圆柱,使其半径均匀增大,同 时其高也沿着轴的两个方向均匀增大,直到这个圆柱内包含点云C中的 点;(4) 在上述圆柱所包含的点中,选取一个点,使它与边Z的两个端 点所构成的两条边的长度之和最短,这个点与边£构成种子三角形。
3.根据权利要求1所述的基于调和映射的网格生成方法,其特征在于 所述的活动边影响域的确定方法,包括(1)设活动边为 .,其端点为户,.和^,中点为尸m。 对于活动边 . 所在的三角形,其三个顶点为/^,巧和A,重心为尸,单位法向iV与向量 尸 尸^平行;(2 )首先确定这条边两个端点所邻接各点的采样均匀度或者近似采样 均匀度中的最大值,再求出这条边的两个端点所邻接的最长边的长度,设这两个^直的乘积为s;(3) 影响域的上边界面5,是法向为7V,且经过点尸产/VHsiV的平面;(4) 下边界面丑2是法向为iV,且经过点尸f尸M"iV的平面;(5) 外侧边界面A,是法向为A^p卢,.且过点尸产i^+siV3的平面,这 里7V3是A^x/y^的单位化向量;(6) 根据活动边左端点处的拓朴连接关系,确定影响域的左边界面;(7) 根据活动边右端点处的拓朴连接关系,确定影响域的右边界面。 4.根据权利要求1所述的基于调和映射的网格生成方法,其特征在于所述的调和映射选点原则,包括(1 )假设三角面片W有活动边它的影响域中包含多个活动点, 从中选择使下列方程最小的点Pm,化-^if+m^f+^in2 ,与活动边^组成三角面片{/,,附}。这里,系数^为^(V+V-V)/4m+(V+V-V)/《附, 其中/^是边^的长度,4^是三角面片"y, w的面积;对于新生成的两条边e,m和 ,它们仅邻接一个三角形,系数^ 和^ 分别为夂,附二 ^z,附=2 x (Z^,w + 附—丄L) / ^i,乂,w , (2 )对新生成的三角面片{/,_/,附}进行完整性测试,检查它与已存在的 相邻三角面片之间的交是否空集或边界边;如果是,就选择这个点与活动 边^组成新三角形;(3)否则,选择剩余活动点中使上述方程最小者,进行几何完整性测 试;依次类推;如果所有活动点都不符合几何完整性测试,活动边^.就是 一条边界边。
全文摘要
本发明公开了一种基于调和映射的网格生成方法,根据点云的采样均匀度和活动边邻近的拓扑关系,构造它的影响域,根据调和映射原则来确定新点,与当前活动边组成一个新三角形,从而构建最接近原始三维对象表面的三角网格模型。本发明方法将寻找新点的计算局限在影响域中进行,从而极大地提高了计算效率,本发明生成的网格体现了点云的内在性质,与被采样曲面的几何形状与拓扑结构最接近。
文档编号G06T17/20GK101276484SQ200810060209
公开日2008年10月1日 申请日期2008年3月31日 优先权日2008年3月31日
发明者王国瑾, 蔺宏伟 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1