三维空间中的分形课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《三维空间中的分形课件.ppt》由用户(ziliao2023)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 三维空间 中的 课件
- 资源描述:
-
1、参考书:分形算法与程序设计1参考书:分形算法与程序设计2OpenGL,即开放性图形库(,即开放性图形库(Open Graphics Library),),是一个三维的计算机图形和模型库。是一个三维的计算机图形和模型库。OpenGL包含包含120个图个图形函数,在微机环境下共有形函数,在微机环境下共有5种函数,即基本(或核心)种函数,即基本(或核心)函数、实用函数、辅助函数、函数、实用函数、辅助函数、Windows专用函数和专用函数和Win32 API函数。函数。参考书:分形算法与程序设计31 绘制物体绘制物体 OpenGL提供了丰富的基本图元绘制命令,从而可以方便地绘制物提供了丰富的基本图元绘
2、制命令,从而可以方便地绘制物体,包括规则的和不规则的体,包括规则的和不规则的。参考书:分形算法与程序设计42 变换变换 OpenGL提供了一系列提供了一系列基本的变换,如取景变换、基本的变换,如取景变换、模型变换、投影变换及视模型变换、投影变换及视口变换。口变换。参考书:分形算法与程序设计53 光照处理光照处理 包括发射光、环境光、散射光和镜面反射光。包括发射光、环境光、散射光和镜面反射光。参考书:分形算法与程序设计64 着色着色 OpenGL提供了两种物体着色模式,一种是提供了两种物体着色模式,一种是RGBA颜色模颜色模式,另一种是颜色索引(式,另一种是颜色索引(Color IndexCol
3、or Index)模式。)模式。参考书:分形算法与程序设计75 反走样反走样 在在OpenGL绘制图形过程中,由于使用的是位图,所以绘绘制图形过程中,由于使用的是位图,所以绘制出的图像的边缘会出现锯齿形状,称为走样。为了消除这制出的图像的边缘会出现锯齿形状,称为走样。为了消除这种缺陷,种缺陷,OpenGL提供了点、线、多边形的反走样技术。提供了点、线、多边形的反走样技术。参考书:分形算法与程序设计86 融合融合 为了使三维图形更加具有真实感,经常需要处理半透明或为了使三维图形更加具有真实感,经常需要处理半透明或透明的物体图像,这就需要用到融合技术。透明的物体图像,这就需要用到融合技术。参考书:
4、分形算法与程序设计97 雾化雾化 正如自然界中存在烟雾一样,正如自然界中存在烟雾一样,OpenGL提供了提供了“fog”的基的基本操作来达到对场景进行雾化的效果。本操作来达到对场景进行雾化的效果。参考书:分形算法与程序设计108 位图和图像位图和图像 在图形绘制过程中,位图和图像是非常重要的一个方面。在图形绘制过程中,位图和图像是非常重要的一个方面。OpenGL提供了系列函数来实现位图和图像的操作。提供了系列函数来实现位图和图像的操作。参考书:分形算法与程序设计119 纹理映射纹理映射 在计算机图形学中,把包含颜色、在计算机图形学中,把包含颜色、alpha值、亮度等数据的矩形数组值、亮度等数据
5、的矩形数组称为纹理。而纹理映射可以理解为将纹理粘贴在所绘制的三维模型表面,称为纹理。而纹理映射可以理解为将纹理粘贴在所绘制的三维模型表面,以使三维图形显得更生动。以使三维图形显得更生动。参考书:分形算法与程序设计1210动画动画 出色的动画效果是出色的动画效果是OpenGL的一大特色,的一大特色,OpenGL提供了提供了双缓存区技术来实现动画绘制。双缓存区技术来实现动画绘制。参考书:分形算法与程序设计131顶点坐标顶点坐标 OpenGLOpenGL采用有序排列的顶点集合来构造几何图元,而不是采用有序排列的顶点集合来构造几何图元,而不是将线段、多边形组合起来构造几何图元。将线段、多边形组合起来构
6、造几何图元。如:如:glVertex2s(2,5);glVertex2s(2,5);/整数定义的二维坐标 glVertex3f(2,5,7);glVertex3f(2,5,7);/浮点定义的三维坐标 参考书:分形算法与程序设计142顶点关系顶点关系 在在OpenGLOpenGL中,同一个几何图元的所有被定义的顶点一起放中,同一个几何图元的所有被定义的顶点一起放在在glBegin()和和glEnd()函数之间,同时定义这些顶点之函数之间,同时定义这些顶点之间的关系。如:间的关系。如:glBegin(GL_POLYGON);glVertex2s(0,0);glVertex2s(0,11);glVe
7、rtex2s(11,14);glVertex2s(14,7);glVertex2s(7,0);glEnd();参考书:分形算法与程序设计153显示列表显示列表 OpenGLOpenGL显示列表(显示列表(DispplayDispplay List List)是由一组预先存储起)是由一组预先存储起来的留待以后调用的来的留待以后调用的OpenGLOpenGL函数语句组成的,当调用这张显函数语句组成的,当调用这张显示列表时就一次执行表中所列出的函数语句。示列表时就一次执行表中所列出的函数语句。创建显示列表创建显示列表 OpenGLOpenGL用下面的函数组创建显示列表:用下面的函数组创建显示列表:v
8、oid glNewList(GLuint list,GLenum mode);void glEndList(void);执行显示列表执行显示列表 显示列表的执行函数形式如下:显示列表的执行函数形式如下:void glCallList(GLuint list);参数参数list指定被执行的显示列表。指定被执行的显示列表。参考书:分形算法与程序设计164颜色设置颜色设置 RGBA RGBA模式下的颜色定义模式下的颜色定义在在RGBARGBA模式下,利用模式下,利用glColorglColor*命令来定义当前颜色。命令来定义当前颜色。glColorglColor*命令命令有如下几种形式:有如下几种形
9、式:void glColor3b s i f d ub us ui(TYPE r,TYPE g,TYPE b);void glColor4b s i f d ub us ui(TYPE r,TYPE g,TYPE b,TYPE a);void glColor3b s i f d ub us uiv(TYPE*v);void glColor4b s i f d ub us uiv(TYPE*v);在在颜色索引模式下颜色索引模式下的颜色定义的颜色定义 通过调用函数通过调用函数glIndexglIndex*()()从颜色索引表中选取当前颜色。从颜色索引表中选取当前颜色。void glIndex(s
10、f d i)(c:TYPE);void glIndex(s f d i)v(c:PTYPE);参考书:分形算法与程序设计175光照设置光照设置 创建光源创建光源(Light Source)(Light Source)光源有许多特性,如颜色、位置、方向等。可以使用下面的函数定光源有许多特性,如颜色、位置、方向等。可以使用下面的函数定义光源:义光源:void glLightifv(GLenum light,GLenum pname,TYPE void glLightifv(GLenum light,GLenum pname,TYPE paramparam)启动光照启动光照 在在OpenGLOpen
11、GL中,必须明确指出光照是否有效或无效。如果光照无效,则中,必须明确指出光照是否有效或无效。如果光照无效,则只是简单地将当前颜色映射到当前顶点上去,不进行法向、光源、材质只是简单地将当前颜色映射到当前顶点上去,不进行法向、光源、材质等复杂计算,那么显示的图形就没有真实感。启动和取消光源的函数如等复杂计算,那么显示的图形就没有真实感。启动和取消光源的函数如下下:glEnable(GL_LIGHTING);/启动光照启动光照 gDisable(GL_LIGHTING);/取消光照取消光照参考书:分形算法与程序设计186明暗处理明暗处理 在在OpenGL中,用单一颜色处理的称为平面明暗处理中,用单一
12、颜色处理的称为平面明暗处理(Flat Shading),用许多不同颜色处理的称为光滑明暗处理,用许多不同颜色处理的称为光滑明暗处理(Smooth Shading)。设置明暗处理模式的函数为:设置明暗处理模式的函数为:void glShadeModel(GLenum mode);参考书:分形算法与程序设计197材质设置材质设置 材质定义材质定义材质的定义与光源的定义类似。其函数为:材质的定义与光源的定义类似。其函数为:void glMaterialifv(GLenum face,GLenum pname,TYPE param);改变材质改变材质在在OpenGL中提供了两种方式来改变场景中的材质。
13、中提供了两种方式来改变场景中的材质。第一种方法是利用函数第一种方法是利用函数glMaterial*()来改变材质,但是调用函来改变材质,但是调用函数数glMaterial*()需要同时保存当前矩阵,也就是调用函数需要同时保存当前矩阵,也就是调用函数glPushMatrix()和和glPopMatrix()。第二种方法是使用函数第二种方法是使用函数glColorMaterial(),其形式为:,其形式为:void glColorMaterial(GLenum face,GLenum mode);参考书:分形算法与程序设计208纹理映射纹理映射 纹理定义纹理定义在程序中可以用以下函数定义二维纹理映
14、射:在程序中可以用以下函数定义二维纹理映射:void glTexImage2D(GLenum target,GLint level,GLint components,GLsizei width,Glsizei height,GLint border,GLenum format,GLenum type,const GLvoid*pixels);纹理控制纹理控制OpenGL中控制纹理的函数是:中控制纹理的函数是:void glTexParameterifv(GLenum target,GLenum pname,TYPE param);定义纹理坐标定义纹理坐标OpenGL坐标定义的函数是:坐标定义的
展开阅读全文