[发明专利]一种平均二次误差度量的边收缩简化方法有效
| 申请号: | 201410706544.X | 申请日: | 2014-11-28 |
| 公开(公告)号: | CN104463960B | 公开(公告)日: | 2018-03-20 |
| 发明(设计)人: | 俞蔚;余刚 | 申请(专利权)人: | 浙江科澜信息技术有限公司 |
| 主分类号: | G06T17/00 | 分类号: | G06T17/00;G06T7/40 |
| 代理公司: | 浙江永鼎律师事务所33233 | 代理人: | 王梨华 |
| 地址: | 310051 浙江省杭州*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 平均 二次 误差 度量 收缩 简化 方法 | ||
技术领域
本发明涉及接收机图形学领域,尤其涉及一种平均二次误差度量的边收缩简化方法。
背景技术
随着三维扫描技术的发展,顶点数为数万甚至数百万的三维模型已经较为普遍,而这样的模型数据给计算机系统的存储、渲染和传输带来了巨大压力,特别是难以满足实时渲染的要求。模型的简化处理是解决这些问题的一个关键技术。
Garland等人于1997年提出基于QEM(Quadric Error Metrics)边收缩简化算法是迄今为止在综合性能上表现非常好的模型简化算法。QEM边收缩简化算法首先需要计算每个顶点的二次误差矩阵,接着选择所有适当的顶点对,计算每个顶点对的收缩目标顶点和误差值,然后按照误差值将顶点对进行升序排列且放入顶点对的列表,最后从头遍历列表并且移除顶点对,收缩顶点以及更新相关顶点对的误差值。
由于计算复杂度与三角形面数和顶点数成线性关系,QEM边收缩简化算法中初始化时间至少占用了整个时间的五分之一,初始化阶段费时的操作在于计算顶点的二次误差矩阵。Garland给出的试验中当模型数据拥有199,114三角面时,初始化时间甚至需要10.6S。
发明内容
本发明针对现有技术中存在QEM边收缩简化算法中初始化时间较长且初始化阶段费时的操作在于计算顶点的二次误差矩阵的缺点,提供了一种可大大缩短二次误差度量中初始化阶段所需时间的平均二次误差度量的边收缩简化方法。
为了解决上述技术问题,本发明通过下述技术方案得以解决:
一种平均二次误差度量的边收缩简化方法,包括平均二次误差度量方法和基于平均二次误差度量方法的边收缩简化方法,平均二次误差度量方法包括:
依据QEM算法,将顶点误差Δ(ν)定义为顶点到与顶点相邻的所有三角面的距离平方之和,Δ(ν)按下列公式进行计算:其中:p代表ax+by+cz+d=0的三角面,p=[a b c d]T,且a2+b2+c2=1;
将顶点误差Δ(ν)的计算移到GPU端,由此将顶点误差Δ(ν)计算公式变换为下列公式:
其中:Kp为矩阵,且
若模型数据的顶点数为n,三角面数为m,在收集顶点时需要记录与顶点相邻的三角面数的最大值为MaxNum,且MaxNum=max{Num(planes(ν1)),Num(planes(ν2)),Num(planes(ν3)),…,Num(planes(νn))},并定义Maxd2=max{dp12,dp22,dp32,…,dpm2},为了统一表达顶点误差,将所有顶点的相邻三角面数都扩充为MaxNum,不足的三角面以[0 0 0 0]T来表达;
若Maxd2≥1,由此将顶点误差Δ(ν)计算公式变换为下列公式:
且定义其中Q′(ν)为平均二次误差矩阵,由此可得Δ(ν)=(MaxNum)(Maxd2)(νTQ′(ν)ν);若Maxd2<1,p′(ν)=p(ν),由此可得Δ(ν)=(MaxNum)(νTQ′(ν)ν);
定义像素值为c(ν),Q′(ν)=[q(ν)0 q(ν)1 q(ν)2 q(ν)3]T,其中q(ν)i为行向量且0≤i≤3,c(ν)按下列公式计算:其中I=[1 1 1 1]T,将Q′(ν)中的行向量转化为像素值并放入ColorBuffer中;
从ColorBuffer中获取像素值并还原成平均二次误差矩阵,按如下计算公式:Q′(ν)=[2c(ν)0-I 2c(ν)1-I 2c(ν)2-I 2c(ν)3-I]T;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江科澜信息技术有限公司,未经浙江科澜信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410706544.X/2.html,转载请声明来源钻瓜专利网。





