一种三维几何图形的边折叠简化方法及其装置的制造方法

文档序号:9288836阅读:641来源:国知局
一种三维几何图形的边折叠简化方法及其装置的制造方法
【技术领域】
[0001]本发明涉及图形处理技术领域,尤其涉及一种三维几何图形的边折叠简化方法及其装置。
【背景技术】
[0002]在数字城市、虚拟现实、三维地理信息系统、交互式可视化等领域,很多应用都涉及到三维模型可视化,一般都采用多边形网格来表示,由于多边形都能划分成多个三角形,同时三角面片具有数学表达简单、运算和显示快捷方便等特点,因此三角网格模型仍然是目前三维交互式计算机图形领域采用的模型主要表示方法。三维模型是由其各个面上的顶点组成,通过其拓扑结构和几何位置两方面的信息来描述。随着相关技术的发展,三维模型的表示精度和复杂度越来越高,三角嘲格表示的三维模型数据量庞大,表面分割精细,在模型的存储、传输及渲染等方面存在一定困难。解决这些问题的一个方法就是对复杂的三维模型进行简化和多分辨率建模,用比较简单的三维模型代替复杂的原始模型,以减少数据量、加快处理速度,节约存储空问。目前己提出的模型简化算法大致分为以下几类:重新布点法、顶点聚类法、小波分解法、基于图像的简化方法和基于几何图元操作的简化算法。
[0003]基于几何图元操作的简化算法是模型简化技术中的主流算法。几何图元操作包括对点、线、面(多边形)所进行的删除、收缩、合并等。对不同的图元可以采用不同的操作,所要考虑的问题也各不同。主要包括点删除、边删除、三角形删除、边折叠、三角形折叠等方法。而边折叠算法每次折叠操作能移去一个顶点、三条边、两个三角形面。由于只对局部数据进行简化,不会产生三角形窄涧,不需要对牵洞重新三角化,大大缩短了处理时问,所以基于边折叠的简化算法是目前研究较多的方法。
[0004]边折叠算法考虑的主要因素有简化的方法,也即是新顶点的确定和折叠边的选择、简化模型的误差控制、多分辨率系列模型的构造。现有技术有以下几种,93年Hoppe提出的能量函数最优简化算法,这种方法的特点是用能量函数的变化指导网格简化,通过在能量函数中加入一项表示能量将网格简化视作一个网格优化过程,通过能量函数中的距离能量变化反映出简化后的模型对原始模型的逼近程度;96年,Hoppe提出了累进网格简化算法,即PM算法。PM算法以边折叠和点分裂为基本操作,记录了模型简化过程中原顶点和新顶点之问的变动信息,从而生成了从原始模型的最简化模型和一系列简化信息组成的累进网格表示模式;97年Garland提出一种基于二次误差测度的QEM简化算法,QEM算法的误差测度是基于顶点到平面的距离平方和,该算法速度较快,简化生成的模型质量较好。
[0005]上述的简化算法虽然都能对三维模型进行简化,但是都不是很理想,如Hoppe的能量函数最优简化算法就比较复杂,执行效率较低,不适合大范围场景的简化快速;而在96年提出的另一个算法一PM算法,仅提供了模型的动态简化和重建的方法,没有说明折叠边的选择、新顶点的确定、模型误差控制等;而97年Garland提出的QEM算法的误差度量方法没有考虑模型简化边周围的曲率、边长和三角形形状等凶素,同时该方法为静态简化方法,因此无法快速获得所需分辨率的近似模型,也无法由简化模型重建原始模型。

【发明内容】

[0006]本发明的目的在于克服现有技术的不足,本发明提供了一种三维几何图形的边折叠简化方法及其装置,能够动态进行折叠边的选择和新顶点的确定,实现了模型的动态简化。
[0007]为了解决上述问题,本发明提出了一种三维几何图形的边折叠简化方法,其特征在于,所述方法包括:
[0008]遍历三角网格的边;
[0009]判断该边是否为特殊边,若是,则判断该边的对角是否大于120度或者小于300度;若否,则重新遍历三角网格的边;
[0010]若该边的对角是否大于120度或者小于300度,则计算该边的边长、试点离该边的距离及面法向量;
[0011]计算边折叠代价K = a l*T(i, j) + a 2*P(I, j) + a 3*S(i, j),把每条边的边折叠代价值放入队列,根据边折叠代价值大小排列;
[0012]遍历边折叠代价队列;
[0013]分别计算边的两个顶点到相邻三角型的距离平方和,确定折叠边的新顶点及累进网格的顶点对应关系;
[0014]进行动态边折叠简化。
[0015]优选地,在所述进行动态边折叠简化的步骤之后,还包括:
[0016]对简化模型进行重建。
[0017]优选地,所述对简化模型进行重建的步骤包括:
[0018]取出点分裂一个记录;
[0019]计算新定点位置和更新另一顶点位置;
[0020]累计网格中增加新顶点的索引,总顶点个数加I ;
[0021]如果增加的边为边界边,增加一个三角形,三角形总数加I ;如果增加的边不是边界边,增加两个三角形,三角形总数加2 ;
[0022]更新相邻顶点的三角形的顶点索引。
[0023]相应地,本发明还提供一种三维几何图形的边折叠简化装置,所述装置包括:
[0024]第一遍历模块,用于遍历三角网格的边;
[0025]判断模块,用于判断该边是否为特殊边,若是,则判断该边的对角是否大于120度或者小于300度;若否,则重新遍历三角网木格的边;
[0026]队列计算模块,用于若该边的对角是否大于120度或者小于300度,则计算该边的边长、试点离该边的距离及面法向量;计算边折叠代价K =a l*T(i, j) + a 2*P(I, j) + a 3*S(i, j),把每条边的边折叠代价值放入队列,根据边折叠代价值大小排列;
[0027]第二遍历模块,用于遍历边折叠代价队列;
[0028]距离计算模块,用于分别计算边的两个顶点到相邻三角型的距离平方和,确定折叠边的新顶点及累进网格的顶点对应关系;
[0029]简化模块,用于进行动态边折叠简化。
[0030]优选地,所述装置还包括:
[0031]重建模块,用于对简化模型进行重建。
[0032]优选地,所述重建模块包括:
[0033]获取单元,用于取出点分裂一个记录;
[0034]计算单元,用于计算新定点位置和更新另一顶点位置;
[0035]累计单元,用于累计网格中增加新顶点的索引,总顶点个数加I ;如果增加的边为边界边,增加一个三角形,三角形总数加I ;如果增加的边不是边界边,增加两个三角形,三角形总数加2 ;
[0036]更新单元,用于更新相邻顶点的三角形的顶点索引。
[0037]在本发明实施例中,通过基于方差定点的方式对三维几何图形的边折叠算法进行简化,具有较好的简化效果,以及缩短了简化时间,能够动态进行折叠边的选择和新顶点的确定,实现了模型的动态简化。
【附图说明】
[0038]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0039]图1是本发明实施例的三维几何图形的边折叠简化方法及其装置的流程示意图;
[0040]图2是本发明实施例的三维几何图形的边折叠简化装置的结构组成示意图。
【具体实施方式】
[0041]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0042]图1是本发明实施例的三维几何图形的边折叠简化方法的流程示意图,如图1所示,该方法包括:
[0043]S101,遍历三角网格的边;
[0044]S102,判断该边是否为特殊边,若是,则执行S103 ;若否,则重新遍历三角网格的边;
[0045]S103,判断该边的对角是否大于120度或者小于300度;若是,则执行S104 ;
[0046]S104,计算该边的边长、试点离该边的距离及面法向量;
[0047]S105,计算边折叠代价 K = a l*T(i,j) + a 2*P(I,j) + a 3*S(i,j),把每条边的边折叠代价值放入队列,根据边折叠代价值大小排列;
[0048]S106,遍历边折叠代价队列;
[0049]S107,分别计算边的两个顶点到相邻三角型的距离平方和,确定折叠边的新顶点及累进网格的顶点对应关系;
[0050]S108,进行动态边折叠简化。
[0051]具体实施中,在S108之后,还包括:对简化模型进行重建。
[0052]进一步地,对简化模型进行重建的步骤包括:
[0053]取出点分裂一个记录;
[0054]计算新定点位置和更新另一顶点位置;
[0055]累计网格中增加新顶点的索引,总顶点个数加I ;
[0056]如果增加的边为边界边,增加一个三角形,三角形总数加I ;如果增加的边不是边界边,增加两个三角形,三角形总数加2 ;
[0057]更新相邻顶点的三角形的顶点索引。
[0058]相应地,本发明实施例还提供一种三维几何图形的边折叠简
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1