计算机图形学课程设计-三维真实感图形设计与绘制

计算机图形学课程设计-三维真实感图形设计与绘制

ID:9853439

大小:334.00 KB

页数:30页

时间:2018-05-12

计算机图形学课程设计-三维真实感图形设计与绘制_第1页
计算机图形学课程设计-三维真实感图形设计与绘制_第2页
计算机图形学课程设计-三维真实感图形设计与绘制_第3页
计算机图形学课程设计-三维真实感图形设计与绘制_第4页
计算机图形学课程设计-三维真实感图形设计与绘制_第5页
资源描述:

《计算机图形学课程设计-三维真实感图形设计与绘制》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、计算机图形学课程设计报告一、实验题目三维真实感图形设计与绘制(1)题目内容说明:本题目要求应用OpenGL的光照技术和纹理技术实现一个简单的三维真实感图形的程序设计。具体要求实现功能:1)通过对话方式实现交互式设计光照模型功能。2)实现三维模型纹理映射功能3)用鼠标跟踪球方法实现三维模型的空间旋转2)实现鼠标跟踪球方法程序二、需求分析真实感图形的设计与绘制,是计算机图形学中的一个重要研究领域,也是三维实体造型系统和特征造型系统的重要组成部分。一般地,三维实体在计算机显示屏上有三种表现形式:简单线框图

2、、线框消隐图和真实感图形。其中,简单线框图能够粗略表达实体的形状,但由于简单线框图的二义性,从而导致表达其的实体形状具有不确定性。而线框消隐图虽然能反映实体各表面间的相互遮挡关系,从而达到消除简单线框图产生的二义性的目的,但是这两者一样地只能反映实体的几何形状和实体间的相互关系,而不能反映实体表面的特征,如表面的颜色、材质、纹理等。所以,只有真实感图形才能表现实体的这些特征,因此,在三维实体造型中,生成三维实体的光照模型,进行实体的真实感绘制与显示占有重要的地位,是很有必要的,也是我做此设计的初衷。

3、在设计中,我主要使用Opengl绘制真实感图形,它作为一种强大的三维图形开发工具,通过便捷的编程接口提供了处理光照和物体材质、颜色属性等通用功能。真实感图形学是计算机图形的核心内容之一,是最能直接反映图形学魅力的分支。寻求能准确地描述客观世界中各种现象与景观的数学模型,并逼真地再现这些现象与景观,是图形学的一个重要研究课题。很多自然景物难以用几何模型描述,如烟雾、植物、水波、火焰等。本文所讨论的几种建模及绘制技术都超越了几何模型的限制,能够用简单的模型描述复杂的自然景物。在计算机的图形设备上实现真实

4、感图形必须完成的四个基本任务。  1.三维场景的描述。三维造型。  2.将三维几何描述转换成为二维透视图。透视变换。  3.确定场景中的所有可见面。消隐算法,可见面探测算法。4.计算场景中可见面的颜色。根据基于光学物理的光照模型计算可见面投射到观察者眼中的光亮度大小和色彩组成。三、设计简介及设计方案论述3.1设计简介为了实现本程序的两大功能,计划采用OPENGL图形库并调用一系列WINDOWSAPI采用C/C++语言编写。首先,应熟悉OPENGL在WIN32平台下的相关API,以及其余WINDOWS

5、窗口交互的相关接口方法,来构建窗口的内容。其次,熟悉了解OPENGL库函数在窗体中实现绘图,实现图形的旋转、光照、纹理等功能的相关函数。最后,实现OPENGL与WINDOWS的交互的过程,完成程序及注释。3.2OPENGL图形库简介3.2.1OPENGL特点从程序开发人员的角度来看,OpenGL是一组绘图命令的API集合。利用这些API能够方便地描述二维和三维几何物体,并控制这些物体按某种方式绘制到显示缓冲区中。OpenGL的API集合提供了物体描述、平移、旋转、缩放、光照、纹理、材质、象素、位图、

6、文字、交互以及提高显示性能等方面的功能,基本涵盖了开发二、三维图形程序所需的各个方面。与一般的图形开发工具相比,OpenGL具有以下几个突出特点:(1)应用广泛(2)跨平台性(3)高质量和高性能(4)出色的编程特性(5)网络透明性3.2.2OPENGL工作顺序OpenGL的工作顺序就是一个从定义几何要素到把象素段写入帧缓冲区的过程。在屏幕上显示图象的主要步骤是以下3步:1)构造几何要素(点、线、多边形、图像、位图),创建对象的数学描述。在三维空间放置对象,选择有利的观察点。2)计算对象的颜色,这些颜

7、色可能直接定义,或由光照条件及纹理间接给出。3)光栅化,把对象的数学描述和颜色信息转换到屏幕的象素。3.3OPENGL简单编程方法3.3.1OPENGL基本语法OpenGL基本函数均使用gl作为函数名的前缀,如glClearColor();实用函数则使用glu作为函数名的前缀,如gluSphere()。OpenGL基本常量的名字以GL_开头,如GL_LINE_LOOP;实用常量的名字以GLU_开头,如GLU_FILL。一些函数如glColor*()(定义颜色值),函数名后可以接不同的后缀以支持不同的

8、数据类型和格式。如glColor3b(…)、glColor3d(…)、glColor3f(…)和glColor3bv(…)等,这几个函数在功能上是相似的,只是适用于不同的数据类型和格式,其中3表示该函数带有三个参数,b、d、f分别表示参数的类型是字节型、双精度浮点型和单精度浮点型,v则表示这些参数是以向量(数组)形式出现的。OpenGL还定义了一些特殊的类型名,如GLfloat,GLvoid。它们其实就是C中的float和void。在gl.h文件中可以看到以下定义:t

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。