【技术实现步骤摘要】
一种计算三维模型处理中三维网格拓扑结构图构造方法
本专利技术涉及计算机三维结构处理方法,特别是一种计算三维模型处理中三维网格拓扑结构图构造方法。
技术介绍
近些年来,随着三维数据获取技术、三维图形建模方法以及图形硬件技术的发展,推动了虚拟现实、医学成像、三维游戏、CAD等技术的发展,因此产生了许多复杂的三维模型库。与音频、图像和视频传统的多媒体数据类型相比,三维模型数据更符合人类视觉感知立体三维的特性,而且三维模型及其组成的三维场景能提供比二维图像更多、更丰富的视觉感知细节。同时,伴随着模型数量和复杂性的增加,人们对三维模型的需求也已经变得十分多样,进而产生了许多具体的应用,如三维模型检索、分割、压缩、水印、数据隐藏等,这其中很多具体的应用十分依赖于对三维模型的特征提取,如何有效的提取模型特征,构造描述模型形状特征的描述子,并且进行分析处理成为一个重要的问题。三维模型的特征是指能够唯一确定模型的属性,是模型本身重要的组成部分,可能来自模型不同的部分,如:锋利的边、平滑的边、隆起的面、凹陷的面、锯齿等等。对于不同的应用,需要的特征也有区别,因此产生了许多不同的特征提取方法。拓扑特征是三维模型特征中相对高层的特征,也更符合人类的直觉感知,它描述了模型空间组织的相关信息:如何连接顶点和曲面结构。这使得拓扑特征在定义更为自然的三维模型查询表示方面十分有用。同时,由于拓扑特征能够捕捉到三维模型有特别意义的图形结构,所以它在一些特别如模型分割、模型检索等应用中有着关键性的作用。设计良好的图数据结构和图算法可以用来表示三维模型的拓扑特征,因此许多基于拓扑特征的模型描述子 ...
【技术保护点】
一种计算三维模型处理中三维网格拓扑结构图构造方法,其特征在于,包括以下步骤:步骤1:输入三维网格模型,计算三维网格模型中各三角面片的平均测地距离;步骤2:计算面片拓扑序列集合和边界拓扑序列集合Ntri表示三维网格模型中三角面片的总数;步骤3:计算边界拓扑序列集合B中每个元素包含的独立环数目,边界拓扑序列集合B中每个元素代表一个边界集合,元素的独立环数目称为该元素的特征值;步骤4:对边界拓扑序列集合B进行选择,保留集合B中第一个元素,并保留相邻元素特征值之差的绝对值为1的元素,将保留的元素组成为新边界拓扑序列集合B′,同时得到集合T对应于集合B′中的元素所组成的新面片拓扑序列集合其中,Nfea表示集合B′中元素的数目且Nfea≤Ntri;步骤5:定义新边界拓扑序列集合B′中相邻元素所包含的独立环之间的四种拓扑关系,分别是分叉关系,合并关系,延伸关系,完结关系;步骤6:利用新边界拓扑序列集合B′和新面片拓扑序列集合T′,构造三维网格拓扑结构图。
【技术特征摘要】
1.一种计算三维模型处理中三维网格拓扑结构图构造方法,其特征在于,包括以下步骤:步骤1:输入三维网格模型,计算三维网格模型中各三角面片的平均测地距离;步骤2:计算面片拓扑序列集合和边界拓扑序列集合Ntri表示三维网格模型中三角面片的总数;步骤3:计算边界拓扑序列集合B中每个元素包含的独立环数目,边界拓扑序列集合B中每个元素代表一个边界集合,元素的独立环数目称为该元素的特征值;步骤4:对边界拓扑序列集合B进行选择,保留集合B中第一个元素,并保留相邻元素特征值之差的绝对值为1的元素,将保留的元素组成为新边界拓扑序列集合B′,同时得到集合T对应于集合B′中的元素所组成的新面片拓扑序列集合其中,Nfea表示集合B′中元素的数目且Nfea≤Ntri;步骤5:定义新边界拓扑序列集合B′中相邻元素所包含的独立环之间的四种拓扑关系,分别是分叉关系,合并关系,延伸关系,完结关系;步骤6:利用新边界拓扑序列集合B′和新面片拓扑序列集合T′,构造三维网格拓扑结构图;步骤1中计算三维网格模型中各面片的平均测地距离包括以下步骤:对于顶点vi,其平均测地距离D(vi)为顶点vi到三维网格上的所有顶点的测地距离之和的平均值,计算如下:其中,顶点集合Nver表示顶点数目,1≤i,j≤Nver,g(vi,vj)表示顶点vi与顶点vi的测地距离,顶点之间的测地距离使用最短路径算法求解;顶点为vi,vj之间的边e,其平均测地距离D(e)等于两个顶点vi,vj的平均测地距离的最小值,计算如下:D(e)=Min{D(vi),D(vj)},其中,D(vi)和D(vj)分别为边e的两个顶点vi和vj的平均测地距离;边为e1,e2,e3的三角面片face,其平均测地距离D(face)等于三条边e1,e2,e3的平均测地距离的最小值,计算如下:D(face)=Min{D(e1),D(e2),D(e3)},其中,D(e1),D(e2),D(e3)为组成三角面片face的三条边e1,e2,e3的平均测地距离;步骤2中,面片拓扑序列集合T及其对应的边界拓扑序列集合B的构造过程包括以下步骤:初始化面片拓扑序列集合T为空,边界拓扑序列集合B为空,邻接面片集合Adj为空,初始化索引值t=1,Ntri表示三维网格模型中三角面片的总数,按照以下步骤计算面片拓扑序列集合T和边界拓扑序列集合B:步骤2-1,判断索引值t是否等于1,若是,执行步骤2-2,否则,执行步骤2-3;步骤2-2,从集合GD中选用平均测地距离最小的三角面片作为起始面片,以起始面片为元素构建面片集合,记为Tt,并将面片集合Tt作为新元素添加到面片拓扑序列集合T中,以起始面片的三条边为元素构建边界集合,记为Bt,并将边界集合Bt作为新元素添加到边界拓扑序列集合B中,执行步骤2-4;步骤2-3,判断邻接面片集合Adj是否为空,若为空,结束,否则,选择邻接面片集合Adj中平均测地距离最小的三角面片作为要添加的三角面片,将该三角面片与集合Tt-1中的三角面片合并构建新的面片集合Tt并将集合Tt作为新元素添加到面片拓扑序列集合T,判断该三角面片对应的三条边是否在边界集合Bt-1中存在,将不存在的边与集合Bt-1中的边合并构建新的集合Bt并将集合Bt作为新元素添加到边界拓扑序列集合B中,执行步骤2-4;步骤2-4,重新计算面片集合Tt所有邻接的三角面片并更新邻接面片集合Adj,t=t+1,判断索引值t是否大于Ntri,若是,结束,否则,执行步骤2-1。2.根据权利要求1所述的一种计算三维模型处理中三维网格拓扑结构图构造方法,其特征在于,步骤3中,计算边界拓扑序列集合B中每个元素所包含的独立环数目,包括以下步骤:边界拓扑序列集合B中每个元素Bt表示一个边界集合,其中1≤t≤Ntri,通过步骤3-1~步骤3~4,计算边界集合Bt的独立环数目即边界集合Bt的特征值,记为f(Bt):步骤3-1,复制边界集合Bt中所有的边到新建集合Edge中;步骤3-2,如果集合Edge不为空,以集合Edge中任意边为起始边,执行步骤3-3,否则结束;步骤3-3,从起始边出发依次顺序遍历集合Edge中的边,直到回到起始边为止,将遍历过程中经过的顶点放入临时顶点集合Ver中,并且从集合Edge中将已遍历的边转移到临时边集合Temp中;步骤3-4,判断集合Edge中剩余的边对应的顶点是否与临时顶点集合Ver中的顶点重复,若存在重复的顶点,则以该重复顶点对应的边为起始边,执行步骤3-3,否则,判定临时边集...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。