- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[思想汇报]毕业论文写作范例
面向曲面纹理合成的纹理地图集生成算法研究
范小锋(安庆师范学院物理与电气工程学院 安徽 安庆 246011)
指导老师:江巨浪
摘要:曲面纹理合成是最近几年发展起来的一种曲面纹理生成新方法,能够有效避免纹理映射方法造成的纹理变形与纹理扭曲现象。为了快速实时地在网格表面生成纹理,需要将所有三角形纹理块装入一个纹理地图集。对此,本文提出了一种纹理地图集生成算法。首先将所有三角形在二维坐标系中进行旋转,使其最长边与坐标纵轴平行,并且做长方形包围盒。然后,按照所有三角形包围盒的高度优先策略,按照高度递减的顺序被拣选入地图集。实验结果表明,这种方法在减少空间浪费方面有很好的性能。
关键词:纹理地图集,曲面纹理合成,空间利用率
1 引言
基于样图的纹理合成是最近几年发展起来的一种生成纹理的新方法,其基本思想是:给定一小块纹理样本,在二维平面或者三维物体表面上生成视觉效果与之类似的大块纹理。这种方法既可避免纹理映射中容易出现的变形与不连续现象,又可以避免过程纹理方法中繁琐的参数调试,在真实感图形绘制、计算机动画、数据压缩、图像编辑等领域具有重要的应用前景。基于样图的二维纹理合成主要有基于像素点匹配与基于块匹配的两种合成方式。相对而言,基于块的合成方式具有更快的速度与更好的效果。曲面纹理合成也有基于像素点与基于三角形的两种合成方式,其中后者得到了更为广泛的研究与关注。2003年Magda和Kriegman提出的直接基于表面三角形的快速纹理合成方法[1],通过扩散种子点的方向来生成方向场,而对于连续变化的尺度场生成没有提及。浙江大学的汤颖与吴福理提出的算法能更好地满足用户对纹理方向与尺度变化的控制要求,可以在任意三维网格表面生成方向与尺度连续变化的纹理[2] [3]。
基于三角形的曲面纹理合成,最终是要为曲面网格上的每一个三角形在样图上找到一个纹理坐标。为了避免由于三角形的边界匹配不理想而引起的纹理不连续现象,需要对相邻三角形的边界纹理进行后期处理。这种处理主要有最小路径分割与纹理融合两种方法。无论哪一种方法,都需要对处理后的纹理进行存储,用于曲面纹理的实时绘制。曲面网格的三角形数以千计,这些三角形纹理通常都是存储在在一个方形的纹理平面上,一般称之纹理地图集。如何在方形的平面上摆放纹理三角形,是一个经典的装箱问题。文献[4]采用基于最小留空面积的搜索策略,文献[3]则对所有三角形的长方形包围盒按照面积递减的顺序进行装配。经过对多种方案进行比较,本文提出一个更为简便、且具有更高空间利用率的新算法。
2基于三角形的曲面纹理合成算法
对于每一个三角形,我们用单位矢量N表示法向,用单位矢量T表示其上的纹理方向。从物体空间到纹理空间的映射如图1所示。对于三角形ABC,首先按照其纹理尺度的大小进行相应的缩放,然后映射到纹理空间,并使其绕质心旋转直到矢量T与纹理空间中的纹理方向相一致。
图1 物体空间到纹理空间的映射
图2给出了纹理匹配过程。三角形T2、T3、T4为T1的相邻三角形,见图(a)。假设T2的纹理已经生成,现在要生成T1的纹理。在图(b)中,我们按照图1的方法将T1映射至纹理空间,然后在纹理空间沿扫描线顺序移动T1,直到新纹理与T2纹理的匹配误差最小。计算T1与T2之间匹配误差时所采用的区域是从T1延伸出去的梯形区域(图中用深颜色表示)。定义纹理的匹配误差为:
(1)
此处,R、G、B是匹配区域中的参考点p与目标点q处的三种颜色分量。如果不止一个匹配区域,例如当T3与T4的纹理已经生成的情况下,则T1与T3、T1与T4的匹配误差同样需要计算,总误差为各个匹配误差之和。
(a)网格表面的相邻三角形 (b)样图空间的纹理搜索
图2 纹理匹配
在合成纹理的过程中,我们定义每一个三角形的约束度等于其相邻三角形中已经生成纹理的个数,并采用约束度高的三角形优先合成纹理的策略,以减少合成过程中的约束度为3的三角形个数,以提高纹理合成的质量。
三角形的纹理匹配一般可取得较好效果,但也难免存在少数三角形边界纹理不连续现象,因此通常需要对三角形的边界纹理进行融合处理。我们将边界纹理的融合区域取为梯形窄条形状,其宽度取为三角形高的1/6。设融合区域宽度为H,对于其中的任意一像素P,到三角形公共边的距离为h,设 P点在相邻三角形对应边界区域上的对应点为Q,T(P)与T(Q) 分别表示P点与Q点的初始颜色。则经过线性融合之后P点的颜色T ’ (P)为
(2)
图4 是bunny网格模型表面纹理合成结果。图3给出了对三角形边界纹理进行融合的效果。图(a)是bunny网格模型表面合成纹理的局部图像,可以看出由于纹理稍许不连续而显现出来的三角形边界。图(b)是经过融合处理后的效果,其中基本消除了纹理不连续情况。
(a)融合前
文档评论(0)