图形处理(一)离散指数映射参数化-Siggraph 2006

本文介绍2006年Siggraph上一篇经典纹理贴图paper:《InteractiveDecalCompositingwithDiscreteExponentialMaps》。文章详细阐述了离散指数映射(DEM)及其改进版本加权平均离散指数映射(PDEM)用于三角网格曲面参数化的方法,通过实例展示了两种算法的纹理贴图效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

离散指数映射参数化

原文地址http://blog.youkuaiyun.com/hjimce/article/details/46415009

作者:hjimce

本篇博文主要讲解2006年Siggraph上的一篇经典纹理贴图paper:《Interactive Decal Compositing with Discrete Exponential Maps》,这是我研究生所学的第一个算法,也可以说是我人生所学的第一个算法。因为当时连c++编程都不会,所以更别谈实现这篇paper的算法,因为其中还涉及到opengl的一些相关基础知识,如纹理贴图等。就这样,磕磕碰碰,外加整天玩游戏DNF,所以这篇paper的算法,花了一学期的时间,都还没搞懂,直到第一学期结束时,被导师狠批了一顿,才决定好好学习,开始学习c++、opengl、开始走上科研学术之路……

三角网格曲面的参数化,是一种降维的思想,因为在三维图像上,直接对三维的曲面空间模型进行处理,会很难。因此很多时候,我们需要采用降维的方法,把三维转换到二维,在二维上对网格曲面进行相关的处理就容易多了。因此每一年Siggraph都可以看到有好多篇关于参数化的文献。今天要讲的这篇paper,是一种局部参数化,根据测地极坐标进行参数化的方法。文献的主页:http://www.dgp.toronto.edu/~rms/software/expmapdemo.html 。

参数化效果的评价指标,一般是通过纹理贴图的效果,测试贴图后,图片的扭曲程度。下面是《Interactive Decal Compositing with Discrete Exponential Maps》这篇文章的相关效果:


好吧,写到这边突然没有了激情,所以后面还是勉强贴一贴,随便讲一讲。算法原理:算法主要是通过Dijkstra算法进行广度优先遍历,不断更新地把每个顶点旋转到其已经被更新的顶点所在的平面上。

由于DEM和DGPC的参数化算法,都是通过Dijkstra算法进行扩散传播的,其每个顶点参数坐标的计算是依据其最短路径上的前一个邻接顶点来计算得到的,因此各顶点参数化精度依赖于其前一个顶点。为了降低其对最短路径上前一个顶点精度的依赖性,提高算法的稳定性和鲁棒性,Schmidt等提出通过加权平均的方法(Frame-Propagation DEM, PDEM),对原来离散指数映射进行了改进。PDEM参数化算法基本原理与DEM算法一样,只是改变了公式中的权重,具体实现如下:通过把离散指数映射测地向量的计算公式:


改为:


式中,权重取距离的倒数,即,ε取一个相对较小的数。同样的,基底矢量的计算公式改为:


式中是q点的法向量到x的法向量之间的旋转矩阵。

改进的离散指数映射每个点测地向量、坐标基底的计算方法不再是简单的由一个点来计算P点的测地向量(图3.8a),而是由P点的邻接顶点中的已知点通过加权平均的方法来计算(图3.8b),这样可以让算法变得更加稳定。相比原来的仅仅由Dijkstra传播顶点来直接计算,通过加权平均的方法可以提高算法的稳定性。

 

图3.8 传播原理图

如图3.9所示,在凸起模型上进行局部参数化时,采用DEM算法的棋盘格纹理扭曲较为严重,稳定性较差,而PDEM算法则具有更好的鲁棒性。


图3.9 凸起模型参数化比较


参考文献:

1、《Interactive Decal Compositing with Discrete Exponential Maps》

在众多计算机图形学领域的研究方向中,曲面的表示和曲面的变形「4]以及 对曲面进行参数化等问题直是其中的热门话题。 经典几何中的光滑曲面,所含信息包括拓扑信息和几何信息以及嵌入方式 等。拓扑信息是由曲面的亏格和边界所决定的,光有拓扑信息,曲面的概念还是 抽象的;几何信息指的是定义在曲面上的度量,曲面的度量是用来计算切向量内 积的种结构,可以为曲面指定不同的黎曼度量,根据曲面的黎曼度量,我们计 算长度,角度,面积等些几何量,可以对曲面进行量化;曲面在R3中的嵌入方 式是曲面座落在空间中的种方式,不同嵌入方式的曲面可以有相同的拓扑结 构和黎曼度量。在曲面上定义了黎曼度量之后,我们就可以定义曲面的Gauss曲 率,Gauss曲率是用于衡量某点处的局部邻域与该点处的切平面之间的差异程度 的。从曲面的Gauss曲率,我们可以直观地看出曲面在空间中的弯曲程度。 在计算机图形学领域,我们所谈论的曲面般是离散的。离散的曲面通常 是由三角网格表示的。三角网格己经成为了表示三维几何数据的有效手段。使 用三角网格表示离散曲面有如下优点:可以表示任意复杂的拓扑的表面;通过 点的位置可以很容易表示出曲面的几何信息和嵌入方式;三角网格表示获得了 工业界的支持,尤其是图形硬件加速支持。在离散曲面模型的三角网格表示中: 三角形边与边之间的连接关系表示了网格模型的拓扑结构;每条边的长度则表 示了网格的离散度量;相邻三角形面之间的二面角表示了网格在空间嵌入的方 式。同样,在三角网格模型中,我们也可以类似地定义出离散情形的Gauss曲率。 网格顶点处的离散高斯曲率,被定义成2兀和与该顶点相邻角之和的差,直观地 第1章绪论 称其为“角缺陷”。离散曲率和光滑情形样,也必须满足拓扑要求,也就是著 名的GauSSBonnet公式。 在三角网格模型中离散GausS曲率的定义我们知道,曲率的大小只和顶点处 三角形的内角有关。根据余弦定理,如果给定了三角形的三条边长,我们就可以 计算出三角形的三个内角,因此,也可以计算出网格顶点处的离散Gauss曲率。 这个和光滑情形是致的:根据曲面的度量可以计算出曲面的Gauss曲率。但是 反过来, 给定目标网格上每个顶点处的离散GansS曲率,我们是不是可以算出目标网 格上每条边的长度呢? 把上面的讨论总结下就是:由度量可以确定出曲率,那么由曲率是否可 以确定出度量?这个问题的提出是有背景的。例如,曲面的变形过程实际上就是 不断改变曲面自身度量的个过程,可以通过目标形状的曲率设定从而求出目 标网格的度量;曲面参数化是计算机图形学领域的重要研究对象之,她在纹 理映射,曲面匹配,网格压缩等都方面有着应用,而曲面参数化实质上就是在设 定每个顶点处Gauss曲率为零的情况下寻找合适网格的边长。又例如,要在流形 上构造样条,我们需要在建立曲面的仿射坐标册,仿射坐标册的寻找过程就是平 面度量的生成过程。再例如,曲面光顺,也是要预先给定每个顶点处的Gauss曲 率再来确定网格的边长和在空间的嵌入方式。 我们先考虑光滑情形。把上述问题在光滑情形提出: 如果给定个光滑曲面上满足拓扑限制的函数,能否找到个合适的黎曼 度量,使得通过该度量计算所得的曲率就是给定的那个函数? 在光滑的情形,上面这个问题的回答是:满足条件的度量存在且在共形等 价类中唯,而且我们还可以通过几cci曲率流这个工具来具体的把度量计算出 来。凡cci曲率流的基本思想是:从起始度量和它诱导的斑cci曲率出发,不断地共 形地改变着曲面的度量,直到最后的度量能够诱导出预先给定的目标曲率。整 个方程的求解过程利用变分原理构造的凸的能量函数,以确保解是全局存在唯 的。而且在理论上可以证明,该方程是收敛且收敛速度是指数级的。 类似的,在离散情形,我们同样可以利用定义合理的离散形oci曲率流来解 决上面提出的问题。在二维情形,曲面的几cci曲率就是GausS曲率,因此,离散 的形cci曲率流是解决上述问题的个好的途径。通过离散的形cci曲率流,我们
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值