一种三维图形自动简化生成方法技术

技术编号:17781177 阅读:39 留言:0更新日期:2018-04-22 10:31
本发明专利技术公开了一种三维图形自动简化生成方法,包括:(1)在预处理三维图形的基础上,通过对三维图形中几何变化显著的位置引入虚拟边界,并将所述虚拟边界的边界约束添加至对应顶点的二次误差矩阵中;(2)对边进行预检查以确定所述边对应面片的法向变化程度,并根据所述法向变化程度与所述边的二次误差矩阵确定边的简化优先级;(3)按照简化优先级,迭代收缩最小二次误差对应的边,并更新对应影响的边的二次误差矩阵和简化优选级,满足迭代终止条件后,输出自动简化生成的三维图形。方法在平衡简化率与简化质量上具有突出的进步。

【技术实现步骤摘要】
一种三维图形自动简化生成方法
本专利技术属于图形学几何分析领域,尤其涉及一种三维图形自动简化生成方法。
技术介绍
随着计算机图形学与计算机视觉技术的发展,三维模型的应用场景越来越广。而随着模型精度的提高,无论是存储、传输还是渲染方面,都会消耗大量的资源。很多场景下,我们对三维模型的需求只是满足视觉上的一个大致显示,并不需要太高的精度。如随着WebGL技术的发展,人们可以将很多的操作移植到浏览器端,构造出一个复杂的交互应用。但很多情况下因为模型的过于复杂导致整个应用变得非常卡顿,对模型进行一定程度的简化就可以很有效地缓解这个问题。实际上,对于模型简化的研究工作可以追溯到上世纪90年代。其中最经典的是基于边折叠(EdgeCollapse)的方法,而以Garland等人提出的基于二次误差(QuadricErrorMetric)模型简化方面的工作最为有影响力。后续模型简化方面的工作也基本在此基础上进行改进。然而,现有的这些方法依然有一些不足之处:(1)对于一些尖锐的薄面处理上,Garland等人虽然在后面的工作中把几何边界约束加入到误差的考虑范畴中,但对于非几何边界的尖锐薄面,原始的QEM方法依然不能很好地处理,会导致尖锐面被“压平”。(2)由于QEM方法是基于点到面的几何距离来定义二次误差,对于那些二次误差为0,但可能会导致模型面片法向翻转的情况,依然会纳入简化的候选列表中,显然这种情况应该要避免掉。究其原因在于,QEM方法会将所有的候选集合维护在一个优先队列中,优先级直接定义为二次误差越小,优先级越高,这样带来的问题在于很多情况下,二次误差虽然很小,但由于会导致简化结果糟糕,所以其对应的优先级应该非常低。(3)对于那些带纹理和法向信息的模型,现有技术中主要将纹理与法向信息加入到二次误差对应的误差矩阵中,将原来三维矩阵扩展到高维进行优化求解,导致计算时间大幅增加。(4)现有技术中,只能通过对比它与原始模型的Hausdorff距离来判断是否简化结果合理。
技术实现思路
针对现有技术的不足,本专利技术提供了一种三维图形自动简化生成方法。该方法将二次误差归一化到同一个尺度,定义相应的合理指标,使得自动的简化控制成为可能。本专利技术实施方式提供的一种三维图形自动简化生成方法,包括以下步骤:在预处理三维图形的基础上,通过对三维图形中几何变化显著的位置引入虚拟边界,并将所述虚拟边界的边界约束添加至对应顶点的二次误差矩阵中;对折叠边进行预检查以确定所述折叠边对应面片的法向变化程度,并根据所述法向变化程度与所述折叠边的二次误差矩阵确定边的简化优先级;按照简化优先级,迭代收缩最小二次误差对应的边,并更新所有关联面片对应的边的二次误差矩阵和简化优先级,满足迭代终止条件后,输出自动简化生成的三维图形。与现有技术相比,本专利技术具有的优点为:本专利技术实施方式提供的方法对经典QEM算法进行改进,具体地,对于几何变化差异非常大的地方引入虚拟边界的概念,且在简化过程中提前对折叠边进行预检查,并根据二次误差及法向变化度等信息重新定义优先级,以便更好地控制自动简化。此外,该方法在平衡简化率与简化质量上具有突出的进步。附图说明图1是实施例提供的三维图形自动简化生成方法的流程图;图2是实施例1提供的简化结果对比图;图3是实施例2提供的简化结果对比图;图4是实施例3提供的简化结果对比图。具体实施方式为了更为具体地描述本专利技术,下面结合附图及具体实施方式对本专利技术的技术方案进行详细说明。图1是实施例提供的三维图形自动简化生成方法的流程图。参见图1,该方法包括以下步骤:S101,在预处理三维图形的基础上,通过对三维图形中几何变化显著的位置引入虚拟边界,并将虚拟边界的边界约束添加至对应顶点的二次误差矩阵中;本步骤中,预处理三维图形的具体过程为:根据三维图形对应包围盒的大小,归一化处理三维图形,具体将三维图形缩放到原来的1/L,其中,L为三维图形对应包围盒的对角线长度,并存储缩放系数1/L,以便后续还原简化的三维图形尺寸。对归一化处理后的三维图形,构建顶点与边的连接关系;在构建顶点与边的连接关系时,增加一条虚拟边于没有连接关系且靠得非常近的顶点之间,具体为:对每个顶点的几何坐标(x,y,z),以一个步长对三个维度分量进行离散化以变换到整数空间上,并哈希处理三个整数以确定每个顶点的哈希值;创建哈希值一致的顶点之间的连接关系。预处理过程中还包括初始化每个顶点对应的二次误差矩阵的所有元素为0,初始三维图形的所有顶点和所有面片的有效标志为1。在本步骤中,在预处理三维图形后,确定每个顶点的二次误差矩阵。采用经典的QEM方法会将三维图形中的非边界尖锐面(几何变化显著的位置)压平,进而降低图形的简化生成质量,因此,本实施例通过对三维图形中几何变化显著的位置引入虚拟边界,并将虚拟边界的边界约束添加至对应顶点的二次误差矩阵中,以提升三维图像简化生成质量,具体为:对于面片f,计算面片f对应的二次误差矩阵Qf,计算公式为:Qf=(A,b,c)=(n·nT,d·n,d2),其中,面片f的平面方程为n·(x-v)=0,n为面片f的法向量,v为平面上任一点,d为-n·v;当面片f中的边e=(v0,v1)对应的两个面片的法向相差超过预设阈值(该预设阈值可以设为150°~170°)时,对边e增加边界约束Qe,边界约束Qe的定义与Qf相同,仅是边界约束Qe中定义中的(n,b)表示通过边e并垂直于面片f的一个面;将Qe和Qf按权重叠加至面片f对应顶点的二次误差矩阵vQ;当面片f中的边e=(v0,v1)对应的两个面片的法向差没超过预设阈值时,将Qf增加至面片f对应顶点的二次误差矩阵vQ。S102,对边进行预检查以确定边对应面片的法向变化程度,并根据法向变化程度与边的二次误差矩阵确定边的简化优先级。为避免技术背景中序号(2)中描述的问题,即基于几何距离的二次误差所带来的面片翻转问题,对边进行预检查以确定边对应面片的法向变化程度,并根据法向变化程度与边的二次误差矩阵确定边的简化优先级,具体为:定义简化优先级priority=f(qerror)/g(cosin);qerror为边的二次误差;cosin为边对应面片的法向变化程度,具体为:找到所有包含该边两端顶点v0和v1的各面片,预计算每个面片第一法向及将v0和v1替换为最优顶点后面片的第二法向,并计算第一法向与第二法向的点积,取面片集合中点积的最小值,并将该最小值映射到0~1之间;当qerror大于0时,函数f(qerror)与函数g(cosin)均为单位函数,即f(x)=x,g(x)=x;当qerror接近0时,加大cosin对简化优先级的影响程度;当cosin小于变化阈值时,定义函数f(qerror)为边长度的负反比,g(cosin)为1–cosin,表示对此边进行简化;当cosin大于变化阈值时,直接将简化优先级设为Inf,表示避免此边被简化。S103,按照简化优先级,迭代收缩最小二次误差对应的边,并更新所有关联面片对应的边的二次误差矩阵和简化优先级,满足迭代终止条件后,输出自动简化生成的三维图形。在本步骤中,迭代简化过程为:在确定边的简化优先级后,将四元组(边,边对应的最优顶点,边对应的二次误差矩阵,边的简化优先级)按照简化优先级顺序排列,形成简化优本文档来自技高网
...
一种三维图形自动简化生成方法

【技术保护点】
一种三维图形自动简化生成方法,包括以下步骤:在预处理三维图形的基础上,通过对三维图形中几何变化显著的位置引入虚拟边界,并将所述虚拟边界的边界约束添加至对应顶点的二次误差矩阵中;对边进行预检查以确定所述边对应面片的法向变化程度,并根据所述法向变化程度与所述边的二次误差矩阵确定边的简化优先级;按照简化优先级,迭代收缩最小二次误差对应的边,并更新所有关联面片对应的边的二次误差矩阵和简化优先级,满足迭代终止条件后,输出自动简化生成的三维图形。

【技术特征摘要】
1.一种三维图形自动简化生成方法,包括以下步骤:在预处理三维图形的基础上,通过对三维图形中几何变化显著的位置引入虚拟边界,并将所述虚拟边界的边界约束添加至对应顶点的二次误差矩阵中;对边进行预检查以确定所述边对应面片的法向变化程度,并根据所述法向变化程度与所述边的二次误差矩阵确定边的简化优先级;按照简化优先级,迭代收缩最小二次误差对应的边,并更新所有关联面片对应的边的二次误差矩阵和简化优先级,满足迭代终止条件后,输出自动简化生成的三维图形。2.如权利要求1所述的三维图形自动简化生成方法,其特征在于,所述预处理三维图形,包括:根据所述三维图形对应包围盒的大小,归一化处理所述三维图形;对归一化处理后的三维图形,构建顶点与边的连接关系;在构建顶点与边的连接关系时,增加一条虚拟边于没有连接关系且靠得非常近的顶点之间,具体为:对每个顶点的几何坐标(x,y,z),以一个步长对三个维度分量进行离散化以变换到整数空间上,并哈希处理三个整数以确定每个顶点的哈希值;创建哈希值一致的顶点之间的连接关系。3.如权利要求1所述的三维图形自动简化生成方法,其特征在于,所述通过对三维图形中几何变化显著的位置引入虚拟边界,并将所述虚拟边界的边界约束添加至对应顶点的二次误差矩阵中,包括:对于面片f,计算所述面片f对应的二次误差矩阵Qf,计算公式为:Qf=(A,b,c)=(n·nT,d·n,d2),其中,面片f的平面方程为n·(x-v)=0,n为面片f的法向量,v为平面上任一点,d为-n·v;当面片f中的边e=(v0,v1)对应的两个面片的法向差超过预设阈值时,对边e增加边界约束Qe,所述边界约束Qe的定义与Qf相同,仅是边界约束Qe中定义中的(n,b)表示通过边e并垂直于面片f的一个面;将Qe和Qf按权重叠加至面片f对应顶点的二次误差矩阵vQ;当面片f中的边e=(v0,v1)对应的两个面片的法向差没超过预设阈值时,将Qf增加至面片f对应顶点的二次误差矩阵vQ。4.如权利要求1所述的三维图形自动简化生成方法,其特征在于,所述对边进行预检查以确定所述边对应面片的法向变化程度,并根据所述法向变化程度与所述边的二次误差矩阵确定边的简化优先级,包括:定义简化优先级priority=f(qerror)/g(cosin);qerror为边的二次误差;cosin为所述边对应面片的法向变化程度;当qerror大于0时,函数f(qerror)与函数g(cosin)均为单位函数;当qerror接近0时,加大cosin对简化优先级的影响程度;当cosin小于变化阈值时,定义函数f(qerror)为边长度的负反比,g(cosin)为1–cosin;当cosin大于变化阈值时,直接将简化优先级设为Inf。5.如权利要求1所述...

【专利技术属性】
技术研发人员:郑家祥栗韶远唐睿王锐
申请(专利权)人:杭州群核信息技术有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1