毕业论文计算机图形学——OpenGL.doc
《毕业论文计算机图形学——OpenGL.doc》由会员分享,可在线阅读,更多相关《毕业论文计算机图形学——OpenGL.doc(29页珍藏版)》请在三一办公上搜索。
1、 毕业论文题 目: 基于OpenGL的工艺品茶壶设计 系 别: 计算机与信息工程系 专 业: 计算机科学与技术 届 别: 2012届 目 录绪论(2)第1章 开发环境的构建(2)1.1 开发环境简述(2)1.2 Visual C+ 6.0软件简介(3)1.3 OpenGL概述(5)第2章 系统分析与设计(2)2.1 OpenGL材质与光照的原理(7)2.1.1 OpenGL物体材料的选择(8)2.1.2 OpenGL光源建立及启动(9)2.2 OpenGL几何变换的原理及设计(10)2.2.1 几何变换的原理(10)2.2.2 几何变换缩放(2)2.2.3 几何变换旋转(2)2.3 OpenG
2、L动画的设计(2)2.4 OpenGL纹理的设计(2)2.4.1 纹理映射的原理(2)2.4.2 纹理定义(2)第3章 系统实现(2)3.1 工艺品茶壶项目建立(2)3.2 Windows窗口设计以及功能实现(2)3.3 工艺品程序功能实现(2)3.3.1 makeStripeImage()函数(2)3.3.2 init()函数(2)3.3.3 display()函数(2)3.3.4 reshape ()函数(2)3.3.5 时间控件timer()函数(2)3.3.6 鼠标控件mouse()函数(2)3.3.7 动作控件motion()函数(2)第4章 运行结果与分析(2)4.1 艺术品茶壶颜
3、色变化分析(2)4.2 艺术品茶壶造型变化分析(2)4.3 艺术品茶壶纹理实现与分析(2)4.4 艺术品茶壶动画实现与分析(2)结束语(2)致谢(2)参考文献(2)基于OpenGL的工艺品茶壶设计 摘 要:近年来,图形图像制作技术发展很快,尤其是计算机图形学,图像开始进入设计领域,更加促进了设计领域的快速发展。电脑与美术的结合创造了电脑美术艺术。在产品设计、动画、场景漫游等领域都有广泛的应用。本文主要说明了在VC+6.0环境下如何使用OpenGL生成工艺品茶壶。在吸取了计算机图形学、计算机科学、光学等多领域先进理论成果的基础上,系统地论述了基于OpenGL下艺术品茶壶的研究和实现及其相关理论和
4、技术。本文主要做了以下几方面的工作:具体包括对软件程序各方面需求及可行性的分析、建立Visual C+6.0环境下的OpenGL程序框架、OpenGL下艺术品茶壶的具体实现与分析。最后,基于上述理论和成果,以Windows XP系统和Visual C+6.0为平台,利用基本OpenGL函数编程技术实现了艺术品茶壶三维图形。使最终在视觉上产生动态效果和艺术效果,达到以三维图像效果出现使观察者可以在视觉上得以享受。关键词:Opengl;茶壶(陶瓷);材质与光照;旋转;纹理实现 OpenGL-based arts and crafts design-teapotAbstract: In recent
5、 years, the graphic image production technology has developed rapidly, especially in computer graphics, images began to enter the field of design, more to promote the rapid development of the design field. The combination of computer and art to create the art of computer art. Have wide applications
6、in the field of product design, animation, scene roaming. In this paper illustrates how to use OpenGL in VC + + 6.0 environment to generate handicraft teapot. Draw computer graphics, computer science, optics and other advanced multi-field theoretical basis of the results, the system of art teapot in
7、 OpenGL-based research and its related theory and technology.In this paper, the following aspects: including analysis of the need for and feasibility of the software program, establish the procedural framework of OpenGL in Visual C + + 6.0 environment, Implementation and Analysis of the OpenGL under
8、 art teapot.Finally, based on the above theory and results, to the Windows XP system and Visual C + + 6.0 as a platform for basic OpenGL functions programming techniques to achieve the three-dimensional graphics of the art teapot. Eventually produce dynamic visual effects and artistic effect, to ach
9、ieve three-dimensional effect so that the observer can visually be able to enjoy.Keywords: OpenGL ;teapot (ceramic); Bezier surface;Materials and light;Rotation;Texture绪论随着文化和科技的飞速发展,计算机技术也得到快速的跟进与发展,计算机图形学是计算机科学中一个重要领域,它使用计算方法产生图形与图像,在人机信息交流、计算机辅助设计、科学及统计数据形象化,以及数字化艺术创作等多方面有广泛的应用。归结起来计算机图形学在现代生活中起到
10、不可忽略的作用,在计算机图形学中应用程序设计界面OpenGL是重点理论知识。OpenGL作为一种图形与硬件的接口,与其他图形程序开发工具相比较,它提供了众多图形函数,直观的编程环境简化了三维图形程序。随着3D技术越来越多的被开发,更多的开发人员选择OpenGL作为开发工具,以简化操作。目前OpenGL已成为三维图形的开发标准。本设计就是利用计算机的图形学和对图像的处理来设计茶壶工艺品,利用OpenGL软件平台下通过VC+6.0编辑语言来对工艺品的光线和颜色的物理性质、光的传播与反射,以及人的视觉系统做一些处理。本论文是从环境平台的构建、系统分析与设计、系统实现、结果运行与分析这四章模块一一论述
11、。在第一章开发环境的构建中本论文是从开发环境简述开始对VC+6.0软件和OpenGL做出简要概述,了解构建环境的基本要素以及每个要素的特点和功能,其次在本次论文设计中着重对系统的分析与设计、系统的实现做出具体的理论性分析。在第二章中主要对OpenGL的材质与光照、几何变换、动画以及纹理的实现做出原理性叙述,通过第二章基本上对设计艺术品茶壶的结构做出框架上的分析,在第二章的分支章节中又分别对物体材料的选择、光源的建立与启动、几何缩放变换、几何旋转变换等给予详细的理论解释,这样工艺品茶壶的结构基本上就在理论上形成模式,在这种模式的基础上再对艺术品茶壶做动画和纹理上的理论处理。在第三章中主要是实现功
12、能,通过VC+6.0语言按照第二章的理论分析来编写程序,第三章在本论文中是起关键性作用,它决定了工艺品茶壶是否能按照理论要求实现,所以本论文从设计的角度看第二章节是理论分析部分,第三章节是语言设计实现部分,所以二者缺一不可,这是本次论文设计的主要内容。在第四章中主要是对程序的运行结果作一一分析,通过对工艺品茶壶的颜色、造型、纹理、动画等作一一分析,得出最终的运行结果评估,确定是否和理论分析的相一致,从而确定论文设计在理论上具有说服力和实际的研究价值。总之,本论文课题在OpenGL软件平台下通过VC+6.0来对工艺品茶壶的大小、结构、颜色以及动画效果都做出了具体的叙述,通过语言的编写对工艺品茶壶
13、的具体参数进行设置,使最终在视觉上产生动态效果和艺术效果,达到以三维图像效果出现使观察者可以在视觉上得以享受。最终达到论文的理论要求,也充分体现出此次论文的实际研究价值。第1章 开发环境的构建1.1 开发环境简述Visual C+是微软公司推出的基于Windows环境的一种面向对象的可视化编程环境,被公认为微软第一计算机语言。尽管Visual C+是可视化编程中的佼佼者,但它并不是图形图像编程的最好选择。OpenGL是一个与图形硬件无关的应用程序开发接口(API),是一个完全可移植、速度很快的3D图形和建模库,具有图形质量高、可靠性高、可移植性好等众多优点,可以运行在Window平台和UNIX
14、平台上。为了利用Visual C+6.0的强大功能来实现对OpenGL三维图形的绘制,微软将OpenGL集成到了Windows中,Windows提供了OpenGL32DLL和GLU32DLL动态链接库,Visual C+6.0包含了GL库(opengl32Lib)、辅助库(glaux1ib)和实用库(glu321ib)。这使OpenGL成为最优秀的可化编程接口之一,可以方便地利用这个图形库,使编程简单、快速,OpenGL中的RGBA颜色模式,结合反走样和颜色融合,使图形图像更加逼真。所以,Visual C+6.0结合OpenGL编程是一种比较合理的选择。1.2 Visual C+ 6.0软件简
15、介Visual C+6.0,简称VC或者VC6.0,是微软推出的一款C+编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序。Visual C+是一个功能强大的可视化软件开发工具。Visual C+6.0由Microsoft开发, 它不仅是一个C+ 编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。Visual C+6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。 这些组件通过一个名为Developer Studio的组件集成为
16、和谐的开发环境。Microsoft的主力软件产品。Visual C+是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出Visual C+1.0后,随着其新版本的不断问世,Visual C+已成为专业程序员进行软件开发的首选工具。虽然微软公司推出了Visual C+.NET(Visual C+7.0),但它的应用的很大的局限性,只适用于Windows 2000,Windows XP和Windows NT4.0。所以实际中,更多的是以Visual C+6.0为平台。通常使用Visual C+6.0软件时,可以在正规软件下载网站上下载VC+6.0,存放在本地磁盘。运行.exe
17、文件,按安装向导一步一步的操作,直到VC+ 6.0安装成功。Visual C+6.0软件的特点:(1)Visual C+6.0是Microsoft公司推出的功能最强大、最复杂的编程语言之一,它基于C/C+语言,因此在学习它之前应该对C+程序设计语言以及Visual C+6.0的特点做一了解;(2)Visual C+6.0是运行于Windows操作系统中的交互式、可视化集成开发软件,它是在Windows环境下进行大型软件开发的首选编程语言,同其他可视化开发软件一样,Visual C+6.0集程序的代码编辑、编译、连接、调试等功能于一体,为编程人员提供一个既完整又方便的开发环境;(3)除了和其他软
18、件所共同的优点以外,Visual C+6.0还具备一些其他可视化集成开发软件不具备的特点;(4)Visual C+6.0的语法符合ANSIC+标准,并在此基础上针对Windows操作系统增加了一些语句;(5)集成了MFC类库,MFC封装了Windows API函数和消息,使编程人员可使用它高效率地开发各种应用程序;(6)提供了MFC AppWizard,可方便地生成程序框架;(7)提供了基于MFC的ClassWizard,通过它可轻松完成对各种MFC类的使用与维护。1.3 OpenGL概述微软每推出一个重要的Windows版本,一般都会同时推出一个SDK(Software Developmen
19、t Kit)。SDK包含了开发该Windows版本所需的Windows函数和常数定义、API函数说明文档、相关工具和示例。SDK是Software Development Kit的缩写,中文意思是“软件开发工具包”。 开发 Windows 平台下的应用程序所使用的 SDK只是广义 SDK 的一个子集。首先要接触的是“API”,也就是 Application Programming Interface,其实就是操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的 API 而使操作系统去执行应用程序的命令(动作)。在 Windows 中,系统 API 是以函数调用的方式提供的。同样是取得
20、操作系统的版本号,在 Windows 中所要做的就是调用 GetVersionEx() 函数。DLL即 Dynamic Link Library(动态链接库)。我们经常会看到一些 .dll 格式的文件,这些文件就是动态链接库文件,其实也是一种可执行文件格式。跟 .exe 文件不同的是,.dll 文件不能直接执行,他们通常由 .exe 在执行时装入,内含有一些资源以及可执行代码等。为了使用 DLL 中的 API 函数,我们必须要有 API 函数的声明(.H)和导入库(.LIB)1。OpenGL是一种过程性而不是描述性的图形API,它并不描述场景以及外观。OpenGL的基础是以两百多个函数组成。比
21、如四方体、长方体等。另外,OpenGL支持RGBA颜色模式、光照、缩小放大、旋转以及许多其它特殊效果和功能。这些函数分放在两个函数库内:一个是OpenGL核心函数库(Core Library),称为gl或GL,另一个是OpenGL实用函数库(Utility Library),称为glu或GLU。实用函数库中的函数是用核心函数库中的函数库写成。如图1所示。图1 Opengl API框图另外还有一个为与系统无关的视窗及交互操作提供支持的OpenGL实用工具库(Utility Toolkit),称为glut或GLUT,该工具库已在不同的系统平台上实现,通过适当的函数库与底层的视窗操作系统接口。例如W
22、GL用于微软视窗(Microsoft Windows)。OpenGL可以被看成是一台状态机,即一个由它当前的状态来决定其行为的系统,而这个系统当前的状态则取决于各系统变量与系统设置此时此刻的值。大多数OpenGL函数分属两个类型:一类用于改变系统的状态(例如向帧缓冲器画图所用的颜色,以及将三维物体投影到二维视平面的方式),另一类则将代表几何物体的数据传给系统进行处理(例如用系统目前设定的画图颜色在给定的两点之间画一条直线,或者用系统目前设定的投影方式画出一张书桌的正视图)。在图形实现流程中,OpenGL及其他图形API的内在工作方式有一个重要的结构与操作特征,即图形实现流程或图形流水线。对图形
23、API而言,代表要描绘的几何物体的数据构成图形流水线的输入。流水线按系统的默认设置或用户指定的设置完成如空间操纵(包括移动、缩放、旋转)等各种操作,最后产生一幅描绘这些物体的图像。流水线由两步组成:几何变换与扫描转换。几何变换旨在对进入流水线的数据履行空间操纵,扫描转换则将变换后的物体映射到图像空间,也就是像素坐标系所在的离散空间。OpenGL是专门为三维图像生成而设计的。其中没有单独的二维绘图流水线,所有二维都作为对应的在维操作的特例(z=0)来处理。三维图形流水线除此之外还需要几项附加作业。作业之一是将三维信息投影到二维视平面上,这项操作等价于照相时镜头所起的作用。另一项作业是隐藏面消隐,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业论文 计算机 图形学 OpenGL

链接地址:https://www.31ppt.com/p-2391664.html