计算机图形学考试重点

合集下载

计算机图形学复习重点内容

计算机图形学复习重点内容

名词解释计算机图形标准:是图形系统及相关应用程序中某个界面数据传输通讯的接口标准几何变换;规范化后把变换矩阵作为算子,然后想乘来挪动点的位置,得到各个顶点在几何变换中的新的顶点。

裁剪:在二维观察中,需要在观察坐标系下对窗口进行裁剪,即只保留窗口内的那部分图形,去掉窗口外的图形。

识别图形在指定区域内外的算法:两种算法:奇偶规则从任意位臵p作一条射线,若与该射线相交的多边形边的数目为奇数,则p是多边形内部点,否则是外部点非零环绕数规则(Nonzero Winding Number Rule) □首先使多边形的边变为矢量。

□将环绕数初始化为零。

□再从任意位臵p作一条射线。

当从p点沿射线方向移动时,对在每个方向上穿过射线的边计数,每当多边形的边从右到左穿过射线时,环绕数加1,从左到右时,环绕数减1。

□处理完多边形的所有相关边之后,若环绕数为非零,则p为内部点,否则,p是外部点。

反走样:减少用离散量表示连续量引起的失真。

过取样区域取样两种方式图形计算机图形学的研究对象是图形。

广义的说, 能够在人的视觉系统中形成视觉印象的客观对象都可称为图形。

它既包括了各种几何图形以及由函数式、代数方程和表达式所描述的图形, 也包括了来自各种输入媒体的图景、图片、图案、图像以及形体实体等。

图像用点阵法,参数法描述的图形叫图像光点。

一般是指电子束打在显示器的荧光屏上,显示器能够显示的最小的发光点。

像素点是指图形显示在屏幕上时候,按当前的图形显示分辨率所能提供的最小元素点。

最小元素点尺寸等于光点尺寸)裁剪窗口即在视口中可以被看到的图形,即显示出来的部分视口将窗口映射到显示设备上的坐标区域称为视区点阵法点阵法通过枚举出图形中所有的点来表示图形, 它强调图形由哪些点构成, 这些点具有什么样的颜色, 即点阵法是用具有灰度或色彩的点阵来表示图形的一种方法。

在计算机中表示图形最常用的是点阵法。

参数法参数法用图形的形状参数和属性参数来表示图形。

2023年计算机图形学必考知识点

2023年计算机图形学必考知识点

Phong Lighting该模型计算效率高、与物理事实足够靠近。

Phong模型运用4个向量计算表面任一点旳颜色值,考虑了光线和材质之间旳三种互相作用:环境光反射、漫反射和镜面反射。

Phong模型使用公式:I s=K s L s cosαΦα:高光系数。

计算方面旳优势:把r和v归一化为单位向量,运用点积计算镜面反射分量:I s=K s L s max((r,v)α,0),还可增长距离衰减因子。

在Gouraud着色这种明暗绘制措施中,对公用一种顶点旳多边形旳法向量取平均值,把归一化旳平均值定义为该顶点旳法向量,Gouraud着色对顶点旳明暗值进行插值。

Phong着色是在多边形内对法向量进行插值。

Phong着色规定把光照模型应用到每个片元上,也被称为片元旳着色。

颜色模型RGB XYZ HSVRGB:RGB颜色模式已经成为现代图形系统旳原则,使用RGB加色模型旳RGB三原色系统中,红绿蓝图像在概念上有各自旳缓存,每个像素都分别有三个分量。

任意色光F都可表达为F=r [ R ] + g [ G ] + b [ B ]。

RGB颜色立方体中沿着一种坐标轴方向旳距离代表了颜色中对应原色旳分量,原点(黑)到体对角线顶点(白)为不一样亮度旳灰色XYZ:在RGB 系统基础上,改用三个假想旳原色X、Y、Z建立了一种新旳色度系统, 将它匹配等能光谱旳三刺激值,该系统称为视场XYZ色度系统,在XYZ空间中不能直观地评价颜色。

HSV是一种将RGB中旳点在圆柱坐标系中旳表达法,H色相S饱和度V明度,中心轴为灰色底黑顶白,绕轴角度为H,到该轴距离为S,沿轴高度为S。

RGB长处:笛卡尔坐标系,线性,基于硬件(易转换),基于三刺激值,缺陷:难以指定命名颜色,不能覆盖所有颜色范围,不一致。

HSV长处:易于转换成RGB,直观指定颜色,’缺陷:非线性,不能覆盖所有颜色范围,不一致XYZ:覆盖所有颜色范围,基于人眼旳三刺激值,线性,包括所有空间,缺陷:不一致交互式计算机程序员模型(应用模型<->应用程序<->图形库)->(图形系统<->显示屏).应用程序和图形系统之间旳接口可以通过图形库旳一组函数来指定,这和接口旳规范称为应用程序编程人员接口(API),软件驱动程序负责解释API旳输出并把这些数据转换为能被特定硬件识别旳形式。

计算机图形学基础知识重点整理

计算机图形学基础知识重点整理

计算机图形学基础知识重点整理一、图形学基础知识1、图形学的定义:图形学是一门研究图形的计算机科学,它研究如何使用计算机来生成、处理和显示图形。

2、图形学的应用:图形学的应用非常广泛,它可以用于计算机游戏、虚拟现实、图形用户界面、图形设计、图形处理、图形建模、图形分析等。

3、图形学的基本概念:图形学的基本概念包括图形、坐标系、变换、光照、纹理、投影、深度缓冲、抗锯齿等。

4、图形学的基本算法:图形学的基本算法包括几何变换、光照计算、纹理映射、投影变换、深度缓冲、抗锯齿等。

5、图形学的基本技术:图形学的基本技术包括OpenGL、DirectX、OpenCL、CUDA、OpenGL ES等。

二、图形学的基本原理1、坐标系:坐标系是图形学中最基本的概念,它是一种用来表示空间位置的系统,它由一系列的坐标轴组成,每个坐标轴都有一个坐标值,这些坐标值可以用来表示一个点在空间中的位置。

2、变换:变换是图形学中最重要的概念,它指的是将一个图形从一个坐标系变换到另一个坐标系的过程。

变换可以分为几何变换和光照变换,几何变换包括平移、旋转、缩放等,光照变换包括颜色变换、照明变换等。

3、光照:光照是图形学中最重要的概念,它指的是将光照投射到物体表面,从而产生颜色和纹理的过程。

光照可以分为环境光照、漫反射光照和镜面反射光照。

4、纹理:纹理是图形学中最重要的概念,它指的是将一张图片映射到物体表面,从而产生纹理的过程。

纹理可以分为纹理映射、纹理坐标变换、纹理过滤等。

5、投影:投影是图形学中最重要的概念,它指的是将一个三维图形投射到二维屏幕上的过程。

投影可以分为正交投影和透视投影,正交投影是将三维图形投射到二维屏幕上的过程,而透视投影是将三维图形投射到二维屏幕上,从而产生透视效果的过程。

计算机图形学总结复习

计算机图形学总结复习

第一章复习重点:计算机图形学的概念:计算机图形学:是研究怎样用计算机表示、生成、处理和显示图形的一门学科。

几个图形学中的基本概念:计算机图形:用计算机生成、处理和显示的对象;由几何数据和几何模型,利用计算机进行显示并存储,并可以进行修改、完善后形成的;图象处理:将客观世界中原来存在的物体影象处理成新的数字化图象的相关技术;如CT扫描、X射线探伤等;模式识别:对所输入的图象进行分析和识别,找出其中蕴涵的内在联系或抽象模型;如邮政分检设备、地形地貌识别等;计算几何:研究几何模型和数据处理的学科,讨论几何形体的计算机表示、分析和综合,研究如何方便灵活、有效地建立几何形体的数学模型以及在计算机中更好地存贮和管理这些模型数据;图像(数字图像):点阵表示,枚举出图形中所有的点(强调图形由点构成)简称为参数表示图形:由图形的形状参数(方程或分析表达式的系数,线段的端点坐标等)+属性参数(颜色、线型等)来表示图形图形:计算机图形学的研究对象,主要分为两类:基于线条信息表示。

明暗图(Shading)能在人的视觉系统中产生视觉印象的客观对象。

包括自然景物、拍摄到的图片、用数学方法描述的图形等等构成图形的要素几何要素:刻画对象的轮廓、形状等非几何要素:刻画对象的颜色、材质等常用的图形输入设备分为两种:矢量型图形输入设备与光栅型的区别:矢量型输入设备采用跟踪轨迹、记录坐标点的方法输入图形。

主要输入数据形式为直线活折线组成的图形数据。

光栅扫描型图形输入设备采用逐行扫描、按一定密度采样的方式输入图形,主要输入的数据为一幅由亮度值构成的像素矩阵——图像。

常用的图形输出设备分为两类:向量型向量型设备的作画机构随着图形的输出形状而移动并成像光栅扫描型光栅扫描型设备的作画机构按光栅矩阵方式扫描整张图面,并按输出内容对图形成像。

显示器原理:1.随即扫描显示器:应用程序发出绘图命令,→解析成显示处理器可接受2.命令格式,存放在刷新存储器中。

计算机图形学基础知识重点整理

计算机图形学基础知识重点整理

计算机图形学基础知识重点整理一、图形学基本概念1. 图形学是啥呢?它就像是一个魔法世界,研究怎么在计算机里表示图形,然后对这些图形进行各种操作。

比如说,我们玩的那些超酷炫的游戏,里面的人物、场景都是通过计算机图形学搞出来的。

2. 图形在计算机里可不是随便存着的哦。

有矢量图形,就像我们数学里的向量一样,用数学公式来描述图形的形状、颜色等信息。

还有光栅图形,这个就和屏幕上的像素点有关啦,它是把图形表示成一个个小格子(像素)的组合。

二、图形的变换1. 平移是最基础的啦。

就好比你在一个平面上把一个图形从一个地方挪到另一个地方,很简单对吧。

比如一个三角形,从左边移到右边,它的每个顶点的坐标都按照一定的规则发生变化。

2. 旋转也很有趣。

想象一下把一个正方形绕着一个点转圈圈。

在计算机里,要根据旋转的角度,通过数学公式来计算图形每个点旋转后的新坐标。

这就像我们小时候玩的陀螺,不停地转呀转。

3. 缩放就更直观了。

把一个小图形变大或者把一个大图形变小。

不过要注意哦,缩放的时候可不能让图形变得奇奇怪怪的,得保持它的形状比例之类的。

三、颜色模型1. RGB模型是最常见的啦。

红(Red)、绿(Green)、蓝(Blue),这三种颜色就像三个小魔法师,通过不同的组合可以创造出各种各样的颜色。

就像我们画画的时候,混合不同颜色的颜料一样。

2. CMYK模型呢,主要是用在印刷方面的。

青(Cyan)、品红(Magenta)、黄(Yellow)、黑(Black),这几种颜色的混合可以印出我们看到的书本、海报上的各种颜色。

四、三维图形学1. 在三维图形学里,多了一个维度,事情就变得更复杂也更有趣啦。

我们要考虑物体的深度、透视等。

比如说,我们看远处的山,它看起来就比近处的树小很多,这就是透视的效果。

2. 三维建模是个很厉害的技能。

可以通过各种软件来创建三维的物体,像做一个超级逼真的汽车模型,从车身的曲线到车轮的纹理,都要精心打造。

五、图形渲染1. 渲染就像是给图形穿上漂亮衣服的过程。

计算机图形学,模式识别,控制技术期末考试重点总结

计算机图形学,模式识别,控制技术期末考试重点总结

计算机图形学1.齐次坐标2.已知图像灰度级、分辨率等,求所需空间3.四点确定的三次B样条曲线,求起点、切线向量等4.双三次Bezier曲面的四个三次Bezier曲线边界,求特征网格中的定点个数5.坐标在发生平移变换、拓扑变换或旋转变换等是否发生改变6.三维空间的旋转变换7.种子填充算法8.中点画圆、中点画线算法9.准均匀B样条曲线和Bezier 曲线之间的关系10.给出两个点及切线向量,求Hermite多项式11.非均匀有理B样条,有何用途12.三次B样条曲线的拼接13.Bresenham画圆原理及画线算法原理及相应算法14.图形显示、坐标变换15.给出四个点,求准均匀B样条曲线详见page13216.给出n个点,求四阶三次B样条曲线详见Page12917.均匀B样条曲线的拼接详见Page13018.关于坐标变换:给出一个图形(坐标已知),绕某点逆时针旋转90度,求变换后的坐标及图形19.给出一个点(不是原点)和一个图形,求图形绕该点做逆时针旋转20.坐标变换,给出观察坐标系,在设备上显示(涉及到观察坐标系和设备坐标系)、视见变换等模式识别1.名词解释(1)模式(2)模式类(3)监督模式识别(4)判别函数(5)最小风险贝叶斯决策(6)特征选择、特征提取(7)前馈神经网络(8)径向基神经网络(9)决策面(10)最近邻、K近邻2.简答(1)模式识别系统的构成(基于统计方法)(2)基于样本的两步贝叶斯决策(3)如何使用最大似然估计方法估计概率密度函数中的参数(4)KN近邻估计(5)Fisher线性准则(6)parzen窗估计密度方法(7)分级聚类(凝聚型)3.题型不定(1)感知器准则函数及相应的感知器算法(2)C均值算法和模糊C均值算法(3)决策树ID3算法和基本思想(4)KL变换(PCA)进行人脸检测(5)概率密度函数的估计方法4.看懂Page32的最大似然估计和Page20的最小风险和最小错误率的关系计算机控制开卷。

计算机图形学部分复习重点及答案

计算机图形学部分复习重点及答案
(2)在把物体表面相应的多边形扫描转换成帧缓存中的信息时,对于多边形内部的每一个采样点(x,y)进行以下处理:
a.计算采样点(x,y)的深度z(x,y)。
b.如果z(x,y)大于Z缓存区中在(x,y)处的值,则把z(x,y)存入Z缓存区中的(x,y)处,再把多边形在z(x,y)处的颜色值存入帧缓存的(x,y)的地址中。
用于直线段矩形窗口裁剪的Cohen-Sutherland算法。
首先对被裁剪线段两个端点进行编码。然后进行如下测试:
(1) 将两端点的区域码进行逻辑或运算,如果结果为0000,说明线段完全在窗口内,可以完全保留。
(2) 将两端点的区域码进行逻辑与运算,如果结果为真(不是0000),说明线段完全在窗口外,可以完全舍弃。
(3) 将窗口的四个顶点代入直线方程,如果符号相同,说明线段完全在窗口外,可以完全舍弃。 对于上述情况均不满足的线段,需要进行求交运算,这些线段必穿过窗口内部。通过添加这样一个判断条件将算法的求交次数大大减少,从而提高了算法的效率。
4、计算机图形学中有哪些算法可以应用在地理信息系统中。
基本图形生成算法,消隐算法,光线跟踪算法等
若b条件成立,说明多边形(x,y)处的点比帧缓存中(x,y)处现在具有颜色的点更靠近观察者,因此要重新记录新的深度和颜色。
3、三维投影变换都包括哪些种类?
分为透视投影和平行投影。
平行投影:平行投影根据投影方向与投影面的夹角分为两类,即正平行投影与斜平行投影,当投影方向垂直于投影面时称为正平行投影,否则为斜平行投影;
透视投影: 透视投影的视线(投影线)是从视点(观察点)出发,视线是不平行的。不平行于投影平面的视线汇聚的一点称为灭点,在坐标轴上的灭点叫做主灭点。主灭点数和投影平面切割坐标轴的数量相对应。按照主灭点的个数,透视投影可分为一点透视、二点透视和三点透视。

计算机图形学考试重点,找到的资料

计算机图形学考试重点,找到的资料

计算机图形学考试重点,找到的资料1.计算机图形学是研究怎样利用计算机来显示、生成和处理图形的原理、方法和技术的一门学科。

2.在计算机中如何表示?几何要素:刻画对象的轮廓、形状等非几何要素:刻画对象的颜色、材质等3.点阵法:是用具有颜色信息的点阵来表示图形的一种方法,它强调图形由哪些点组成,并具有什么灰度或色彩。

4.参数法:是以计算机中所记录图形的形状参数与属性参数来表示图形的一种方法。

5.通常把参数法描述的图形叫做图形6.把点阵法描述的图形叫做图象7.计算机图形学试图从非图象形式的数据描述来生成(逼真的)图象。

8.数字图象处理旨在对图象进行各种加工以改善图象的视觉效果。

9.计算机视觉是研究用计算机来模拟生物外显或宏观视觉功能的科学和技术。

它模拟人对客观事物模式的识别过程,是从图像到特征数据的、对象的描述表达的处理过程。

10、计算机图像学的软件标准有计算机图形核心系统及其语言联编、三维图形核心系统及其语言联编、程序员层次交互式图形系统及其联编、计算机图形元文件、计算机图形接口、基本图形转换规范、产品数据转换规范等1.PC图形显示卡有MDA,CGA,HGA,EGA,SVGA,PGA,AVGA等。

2.失真校正的措施有二种:一是将产生偏转磁场的锯形电流预先产生一些失真;二是故意将偏转磁场做成略有不均匀性,接近管转轴中央处略强,周围略弱。

3.目前使用最广泛的CRT图形显示器是基于电视技术的光栅扫描显示器4.按鼠标的使用键数可以将鼠标分为MS型,PC型两种。

5.触摸屏的记录方式有光学的,电子的,声音的。

6.直视存储图形显示器不能擦去局部图形,只能用于静显示,常用于显示大量而复杂稳定的图形。

7构成图形的要素包括分辨率,像素,在计算机中通常用采用两种方法来表示图形,他们是位图,矢量图8.荫罩式彩色显像管的结构包括三支电子枪,电子束,荫罩,三色荧光屏9.目前常用的PC图形显示子系统主要由3个部件组成:帧缓冲存器,显示控制器和一个ROM BIOS芯片。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机图形学考试重点// 注意001// 三个文件库:gl.h; glu.h; glaux.h// 注意002// OpenGL 的窗口绘制函数ReSizeGLScene()// 注意003// OpenGL 的绘制初始化函数InitGL()// 所有绘制代码,增添在DrawGLScene(GLvoid) 函数之中// 注意004// 一般来说,OpenGL 的绘制代码在DrawGLScene() 函数里// 注意005// 平移函数glTranslatef(X,Y,Z)// glTranslatef(-1.5f,1.0f,-6.0f);// 向左移动1.5,向上移动1,向(屏幕里)移动6// 绘制三角形// 第一步:移动坐标原点glTranslatef(-1.5f,0.0f,-6.0f);// Move Left 1.5 Units And Into The Screen 6.0//glTranslatef(-1.5f,0.0f,-12.0f);// 注意006// 所有的绘制(三角形、四边形)// 均以glBegin() 开始// 均以glEnd() 结束// 注意007// 绘制(0,0) (1,0) (0.5,0.5) 三定点的三角形// glBegin(GL_TRIANGLES);// glVertex3f( 0.0f, 0.0f, 0.0f);// glVertex3f( 1.0f, 0.0f, 0.0f);// glVertex3f( 0.5f, 0.5f, 0.0f);// glEnd()// 注意008// 绘制定点函数glVertex3f()// 注意009// glVertex3f(X,Y,Z)// X,Y,Z 分别代表一个点的三维坐标值// 第二步:标识GL_TRIANGLES,用于绘制三角形,以函数glBegin() 为开始// 所有的OpenGL 绘制,均以glBegin() 函数开始,以glEnd() 函数结束glBegin(GL_TRIANGLES);// Drawing Using Triangles// 第三步:确定三角形的三个顶点glVertex3f( 0.0f, 1.0f, 0.0f); // TopglVertex3f(-1.0f,-1.0f, 0.0f); // Bottom LeftglVertex3f( 1.0f,-1.0f, 0.0f); // Bottom Right// 第四步:以glEnd() 函数结束绘制glEnd(); // Finished Drawing The Triangle // 注意010// 给你四个定点:// (0,0) (1,0) (1,1) (0,1)// 绘制四边形的代码为:// glBegin(GL_QUADS);// glVertex3f(0.0f, 0.0f, 0.0f);// glVertex3f(1.0f, 0.0f, 0.0f);// glVertex3f(1.0f, 1.0f, 0.0f);// glVertex3f(0.0f, 1.0f, 0.0f);// glEnd()// 注意011// GL_TRIANGLES 为绘制三角形标识// GL_QUADS 为绘制四边形标识// 绘制四边形glTranslatef(3.0f,0.0f,0.0f); // Move Right 3 Units//glTranslatef(1.5f,0.0f,0.0f);// 注意012// windows API 编程中,主程序是:WinMain()// 以前学的C语言是int main(int argc, char* argv[])// 注意013// OpenGL 的着色函数:// glColor3f()// 注意014// glColor3f(R,G,B)// 三个变量:// R 红色// G 绿色// B 蓝色// 考点:着色函数不能放在这个位置,一定要注意// 注意015// OpenGL 的旋转函数:// glRotatef()// 注意016// 旋转函数glRotatef(X,Y,Z)中三个参数:// X-- 绕X轴旋转// Y-- 绕Y轴旋转// Z-- 绕Z轴旋转// 注意017// 给出一段代码:// glRotatef(rtri,0.0f,1.0f,0.0f);// 绕Y轴旋转1.0f// glRotatef(rtri,-2.0f,0.0f,0.0f);// 绕X轴旋转-2.0f// glRotatef(rtri,0.0f,0.0f,0.5f);// 绕Z轴旋转0.5f// 重点018// GLfloat:// 用于定义OpenGL 的浮点型变量// 增加两个全局旋转变量// 重点019// 不停旋转一个物体,使用旋转函数:// glRotatef(r-degree,X,Y,Z)// 以速度0.2f/每帧绕X 轴旋转// 代码为:// int DrawGLScene(GLvoid)// { ... ... ... ...// glRotatef(r-degree,1.0f,0f,0f)// ... ... ... ...// r-degree += 0.2f;// }// 重点020// 不停旋转一个物体,使用旋转函数:// glRotatef(r-degree,X,Y,Z)// 以速度-0.5f/每帧绕Z 轴旋转// 代码为:// int DrawGLScene(GLvoid)// { ... ... ... ...// glRotatef(r-degree,0f,0f,1.0f)// ... ... ... ...// r-degree -= 0.5f;// }// 注意021// 三维空间中任意一个旋转,// 都可以分解为绕X轴,绕Y轴,绕Z轴的一组旋转(并不唯一)// 注意022// 三维空间中任意一个旋转,// 根据绕X轴、Y轴、Z轴旋转的顺序不同// 可分解为多组旋转。

GLfloat xrot; // X Rotation ( NEW )GLfloat yrot; // Y Rotation ( NEW )GLfloat zrot; // Z Rotation ( NEW )/*使用一个数组用于记录当前的纹理注意:这是定义了一个元素的数组*/// 注意023// 用于打开文件的库:stdio.h// #include <stdio.h>// 注意024// 用于打开文件的函数:// fopen( Filename ,"r")// 以只读的方式,打开一个文件// 文件名存放于:Filename 变量之中// 注意025// 用于关闭文件的函数:// fclose()// 关闭一个文件,文件名存放于File 变量之中,代码为:// fclose(File);// 注意026// 纹理开关,打开函数:// glEnable(GL_TEXTURE_2D);// 注意027// 纹理开关,关闭函数:// glDisable(GL_TEXTURE_2D);// 打开纹理开关:即允许纹理映射glEnable(GL_TEXTURE_2D); // Enable Texture Mapping ( NEW ) // 启用阴影平滑glShadeModel(GL_SMOOTH); // Enable Smooth Shading// 设置背景颜色glClearColor(0.0f, 0.0f, 0.0f, 0.5f); // Black Background// 设置深度缓存glClearDepth(1.0f); // Depth Buffer Setup// 启用深度测试glEnable(GL_DEPTH_TEST); // Enables Depth Testing// 所做深度测试的类型glDepthFunc(GL_LEQUAL); // The Type Of Depth Testing To Do glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);// Really Nice Perspective Calculationsreturn TRUE; // Initialization Went OK}// 注意028// 有一组代码:// glRotatef(0.5f,1.0f,0.0f,0.0f);// glRotatef(0.9f,0.0f,1.0f,0.0f);// glRotatef(-1.2f,0.0f,0.0f,1.0f);// 这里是一组绕X轴、Y轴、Z轴的旋转// 旋转的顺序是:// 第一个旋转:绕X轴;旋转了0.5f// 第二个旋转:绕Y轴;旋转了0.9f// 第三个旋转:绕Z轴;旋转了-1.2f// 注意029// 有一组代码:// glRotatef(-0.7f,0.0f,1.0f,0.0f);// glRotatef(0.3f,1.0f,0.0f,0.0f);// glRotatef(-1.5f,0.0f,0.0f,1.0f);// 这里是一组绕Y轴、X轴、Z轴的旋转// 第一个旋转:绕Y轴;旋转了-0.7f// 第二个旋转:绕X轴;旋转了0.3f// 第三个旋转:绕Z轴;旋转了-1.5f// 分别绕3 个轴旋转glRotatef(xrot,1.0f,0.0f,0.0f);glRotatef(yrot,0.0f,1.0f,0.0f);glRotatef(zrot,0.0f,0.0f,1.0f);// 注意030// OpenGL中的纹理粘贴函数:glBindTexture( )// 粘贴纹理glBindTexture(GL_TEXTURE_2D, texture[0]);// 注意031// 纹理映射代码:// glTexCoord2f(u, v);// glVertex3f(x,y,z);// 将纹理图像定点坐标(u,v)映射值三维空间定点(x,y,z)// 以下两行代码:// glTexCoord2f(0.0f, 0.0f);// glVertex3f(-1.0f, -1.0f, 1.0f);// 将纹理图像顶点坐标(0,0)映射至三维空间坐标(-1,-1,1)// 注意032// OpenGL 中光源分为两种:一种是:环境光, 另一种是:漫射光// 设置环境光参数GLfloat LightAmbient[]= { 0.5f, 0.5f, 0.5f, 1.0f };// 设置漫射光参数GLfloat LightDiffuse[]= { 1.0f, 1.0f, 1.0f, 1.0f };// 设置光源位置GLfloat LightPosition[]= { 0.0f, 0.0f, 2.0f, 1.0f };// 注意033// OpenGL 设置不同精度的纹理,目的是防止物体旋转很快、物体距离很远时,导致较差的视觉效果GLuint filter; // Which Filter To UseGLuint texture[3]; // Storage For 3 Textures// 三个纹理,存储不同精度的纹理, 目的:防止物体旋转很快、物体距离很远时,导致较差的视觉效果,接下来的代码中,采用texture[filter] 来使用纹理// 注意034// 函数glLightfv() 用于设置、操作光源参数// glLightfv(GL_LIGHT1, GL_AMBIENT, LightAmbient);// 采用LightAmbient的值作为光源GL_LIGHT1 的环境光值// GL_AMBIENT 为环境光标识// glLightfv(GL_LIGHT1, GL_DIFFUSE, LightDiffuse);// 采用LightDiffuse的值作为光源GL_LIGHT1 的漫射光值// GL_DIFFUSE 为漫射光标识// glLightfv(GL_LIGHT1, GL_POSITION,LightPosition);// 采用LightPosition的值作为光源GL_LIGHT1 的光源位置值// GL_POSITION 为光源位置标识// 注意035// 打开光照开关// glEnable(GL_LIGHT1)// 使光源GL_LIGHT1 有效// 注意036// 关闭光照开关// glDisable(GL_LIGHT1)// 使光源GL_LIGHT1 失效// 注意037// 运行中DrawGLScene() 函数一直不断地被循环调用,使得能够绘制动画效果// 在OpenGL 绘制过程中,DrawGLScene() 函数一直不断地被循环调用// 法线函数:glNormal3f()// 注意038// 相关的键盘控制功能的实现代码,应该写在:主函数WinMain() 之中// Windows API 编程与DOS 下的main(int argc, char *argv[])主函数是不一样的Turbo C 2.0 (主要支持C 语言), Turbo C 3.0 (只要支持C++ 语言)。

相关文档
最新文档