053VC++纹理映射技术的初步研究及实现
                    联系方式 Email: lw510@qq.com      QQ: 497053418       MSN: lw510@qq.com
以下仅为该设计的基本说明介绍,若需要完整的设计和论文,建议您购买本设计.

本系统开发工具:VC++

本设计包含内容:源代码+可执行程序+毕业论文+开题报告+答辩稿

论文大概:1。9万字  37页

 

第一章 引 言... 2

1.1毕业设计意义和目的... 2

1.2 纹理映射技术的发展现状和研究背景... 3

1.3方案论证... 4

第二章 3D图形概论与基础平台简介... 5

2.1 3D图形概述... 5

2.1.1 计算机图形学的研究分类... 5

2.1.2  真实感图形... 6

2.1.3  决定三维图形外观的因素... 6

2.1.4  生成真实感图形的基本步骤... 7

2.2   三维图形的显示流程... 7

2.3 通用三维显示平台简介... 9

2.3.1主要底层三维应用程序接口... 9

2.3.2基于OpenGLDirect3D的三维图形引擎结构框架... 10

2.3.3平台中所能完成的主要功能及应用... 11

2.3.4环境配置及开发流程... 12

2.3.5平台中的一些理解难点及特殊说明... 13

第三章 纹理及纹理映射技术... 14

3.1  纹理的基础知识... 14

3.1.1什么是纹理?... 14

3.1.2纹理坐标... 14

3.2  纹理映射技术... 16

3.2.1二维纹理映射技术... 16

3.2.2几何纹理映射技术... 18

3.2.3三维纹理映射技术... 19

3.2.4纹理映射中的反走样技术... 19

3.3  毕业设计实现的纹理映射算法... 20

3.3.1 平面纹理映射算法... 20

3.3.2圆柱面、圆锥面纹理映射算法... 21

3.3.3球面纹理映射算法... 25

3.3.4花瓶面纹理映射算法... 27

第四章 程序设计与实现... 29

4.1  程序具体设计... 29

4.1.1 核心算法流程图... 29

4.1.2 程序各部分的实现... 30

4.2  程序测试... 31

第五章 结束语... 35

5.1 设计结果评和分析... 35

5.2 致谢词... 36

1                

2               第一章 引 言

2.1           1.1毕业设计的意义和目的

在计算机图形学中,最引人注目的研究方向就是图形的真实感问题。所谓图形的真实感,是指计算机所生成的图形反映客观世界的程度。长期以来,图形真实感问题一直是计算机图形学研究的一个主要课题。这主要有两个原因,其一是由于计算机技术的飞速发展,其应用愈来愈广,某些应用领域(计算机艺术、计算机制片,计算机娱乐和广告等)把高度真实感的图形作为其发展的最终目标;其二是因为计算机所能显示图形的真实程度也是对我们目前技术水平的一个度量,如果我们不能生成比较真实的图形,那么,对图形进行艺术加工和控制更无从谈起。然而,要用计算机生成一幅比较逼真的图形并不是一件容易的事情,要解决各种各样的问题。目前,围绕真实感图形的显示问题,主要涉及以下几方面问题:

①画面绘制(rendering),②明暗处理(shading),③图形反混淆(antialising),④光线跟踪(ray tracing),⑤纹理映射(texture mapping),⑥阴影(shadow),⑦隐藏线、隐藏面消除(hidden line hidden surface culling),⑧几何造型(Geometric modeling

早期的研究主要集中在基本算法上,由于当时的计算机只能生成一些简单的图形,还不具备交互功能。随着大规模集成电路(LSI)的飞速发展,硬件成本迅速下降,尤其是大容量存储器的出现,光栅扫描显示器的问世,为真实感图形显示提供了坚实的物质基础,从而真实感的图形显示也成为人们的研究热点。在过去的十几年中,人们一直在通过建模的方法仿真客观世界,由于客观世界千变万化、错综复杂,要把客观世界的各种细微结构直接用几何模型表示出来,不仅模型难以建立,而且计算量庞大,难以满足实时显示的要求。例如,一个曲面可以用许多微小多边形(或曲面片)表示其表面细节,每个微小多边形(或曲面片)具有自身的表面特性,要显示这个曲面,必须对这些小多边形(或曲面片)进行分别处理,这将要求大量的存储空间和计算时间,因此,在实际应用中,为了获得比较高的显示速度,往往以牺牲图形的真实感为代价。尽管这样,显示一幅较复杂的图形往往需要好几个小时,并且能满足实时要求的几何模型一直没有找到。于是,人们就想象是否可以用“贴”墙纸的方法将反映物体表面细节的图案贴到物体表面上,从而开辟了一个新的研究领域-纹理映射(texture mapping),与建造模型的方法相比,在摸拟物体表面细节方面,纹理映射是一个较有效的方法。实际上,真实的景物表面存在着丰富的纹理细节。人们正是依据这些纹理细节来区别各种具有相同形状的景物,因此景物表面纹理细节的模拟在真实感图形合成技术中起着非常重要的作用,我们将景物表面纹理细节的模拟称为纹理映射技术。这种技术已在三维动画软件(3DMAX)及图形处理软件中得到广泛应用。

本研究的目的是实现几种基本的纹理映射算法,应用于实际,并为以后进一步的深入研究打下基础。

2.2           1.2 纹理映射技术的发展现状和研究背景

 

纹理映射技术最早是由Catmull1]在1974年率先提出的,Catmull首先找到了以(u,v)表示的双变量实数空间(纹理空间)和以参数(s,t)表示的三维曲面之间的对应关系(映射关系)。为了计算三维曲面上每一点的彩色值,Catmull使用了一个二维矩形数组,该数组的位置表示(u,v)的参数值,数组的值表示(u,v)点对应的彩色值;接着,应用上面找到的映射函数将每一点(u,v)及其对应的彩色值映射到相应的三维曲面上,代替了只用一种色彩表示曲面的情况,在三维曲面上得到了彩色图案。但是在Catmull的算法中,被映射的值仅限制为纹理图案的彩色值。为此,BlinnNewell[2]在1976年提出了“反射映射”技术,他们在光照模型中考虑了纹理映射后的图形质量。在1978年,Blinn[3]又提出了另一种纹理映射技术-凹凸映射(bump mapping),利用一个扰动函数扰动物体的表面法矢来模拟有随机法矢的粗糙表面纹理,实现了在光滑的物体表面附上粗糙纹理的方法。

Gardner[4]使用纹理函数控制物体的透明性,顺模拟自然界景物方面,取得了良好的效果。

Kajiya[5]扩展了Blinn的方法,利用扰动函数扰动物体表面的其它参数,很好地模拟了头发、衣服之类的物体。

与此同时,国外大量的学者通过实验手段在多边形表面生成了许多逼真的纹理图案。但不幸的是,这些方法非常低效,只适用一些简单的场景。我们知道,要将一幅纹理图案映射到一张曲面上,需对纹理图案进行拉伸或压缩以适应曲面的形状。一般来说,随着纹理图案的压缩,增加了纹理图案搞频成分,在图象空间中容易引起图形混淆(aliasing),这主要是由于欠采样(undersampling)引起的。因为图形显示器是由许多图象元素(简称象素 pixel)组成的,一个象素并不是理想中的无穷小量,而占据一定的区域,对纹理图案的采样频率取决于图形显示器的分辨率(即相邻两象素中心的间距),因此,对某个图形显示器来说,采用通常的显示方法,其采样频率是恒定的,随着纹理图案的压缩,增加了纹理图案的高频成分,容易产生图形混淆。关于纹理映射中的反混淆问题,国外学者已做了大量的工作,提出了许多反混淆方法。

2.3              1.3方案论证

就本次毕业设计的方案论证而言,关于纹理映射的资料相对较多,大多是英文材料,有关纹理映射技术在很大程度上是探索性质的。要做好纹理映射,3D图形学、Direct3DOpenGL的基础知识到是必不可少的,这为程序实现打下了基础。同时软件的开发是基于中地公司提供的“通用三维显示平台”,除了具有相关的CVC++知识,了解该平台的性能,熟悉各种函数也是非常必需的。

 

 

053VC++纹理映射技术的初步研究及实现
 

关闭窗口

与本站联系的时候,为了提高效率,请告诉本站您需要的设计编号与题目。如:001VBAC人事管理系统
编码说明:001VBAC人事管理系统,其中001VBAC 为该毕业设计的编号,VB代表开发语言,AC代表数据库(ACCESS)
版权所有:510计算机论文网:http://www.lw510.com/程序制作:510论文
Email: LW510@QQ.COM  QQ: 497053418   MSN: LW510@QQ.COM