学习必备 欢迎下载
插值:给定一有序的数据点Pi,i=0,1,…,n,现要求构造一条曲线顺序通过这些数据点,称为对这些数据点进行插值。所构造的曲线称为插值曲线。
逼近:当型值点较多时,构造插值函数通过所有的型值点是相当困难的。而且在某些情况下,测量所得的或设计员给出的数据点本身就比较粗糙,要求构造一条曲线严格通过一组数据点也没有什么意义。此时人们往往选择一个次数较低的函数,使其在某种意义上最为接近于给定的数据点,称之为对这些数据点的逼近。所构造的曲线称为逼近曲线。 样条曲线:在计算机图形学中,样条曲线是指南多项式曲线段连接而成的曲线,在每段边界处满足特定的连续性条件。
光栅化:由显示器的原理我们知道,光栅图形显示器司以看成一个像素的矩阵,每个像素可以用一种或多种颜色显示。在光栅显示器上的任何一种图形,实际上都是一些具有一种或多种颜色的像素的集合。因此,确定一个像素集合及其颜色,用于显示一个图形的过程,称为图形的扫描转换或光栅化。 分辨率:分辨率就是屏幕图像的密度。我们可以把屏幕想象成是一个大型的棋盘,而分辨率的表示方式就是每一条水平线上面的点的数日乘上水平线的数目。分辨率越高,屏幕上所能呈现的图像也就越精细。
投影变换:要将三维物体在这些二维设备上进行显示,就要把j三维坐标中的各点转化为二维平面坐标系中的点。这种把三维物体变为二维图形表示的过程称为投影变换。
观察空间:将观察窗口沿投影的方向作平移,即可产生一个三维的观察空间。对于平行投影,观察空间的四侧面形成了与观察窗口为边界的无限长的长方体管道。而对于透视投影,观察空间是顶点位于投影中心,棱边为穿过观察窗口的边界的无限长棱锥。
1.计算机图形学研究的内容是什么?
答:计算机图形学(Computer Graphics)是研究怎样用数字计算机生成、处理和显示图形的一门学科,是研究用计算机将由概念或数学描述所表示的物体(而不是实物)图像进行处理和显示的过程,是在计算机的帮助下生成图形图像的一门艺术。
2.计算机图形学处理的图形分为哪两种?
答:一类是线条式,它用线段来表现图形。这种图形容易反映客观实体的内部结构,因而适合表示各类工程技术中的结构图。如机械设计中的零件结构图、土木没计中的房屋结构图及各种曲线图等等;另一类是具有面模型、色彩、浓淡和明暗层次效果的、有真实感的图形,这种图形与我们用照相机拍摄的照片相似。它适合于表现客观实体的外形或外貌,如汽车、飞机等的外形设计以及各种艺术品造型设计等。
3.简要说明OpenGL的概念及其功能.
答:OpenGL所具有的功能基本上涵盖了计算机图形学所要包括的各个方面的内容。包括绘制基本几何图形如点、线、多边形等,实现图形变换如几何变换、观察变换和裁剪,封闭边界内的填充、纹理、反走样等,二次曲面、B6zier曲线曲面和NURBS曲线曲面的生成,消隐处理以及具有光照颜色的真实感图形生成等。
学习必备 欢迎下载
4.简述二维现察流程.
答:观察变换可经过以下几个步骤来完成。首先,在世界坐标系中生成图形;其次对世界坐标系中的窗口区域进行裁剪,得到要显示的内容;然后进行从窗口到视区的变换,即将世界坐标系中的窗口图形转换到规程化的设备坐标系的视区中;最后,将规格化设备坐标系描述的图形变换到设备坐标系中进行显示。此即为二维观察的变换流程,
5.交互式图形系统有哪几种数据输入方式?每种方式的含义是什么?
答:交互式图形系统向用户提供了三种基本的输入方式:请求方式、采样方式和事件方式,除此之外,还可以三种输入方式组合使用。其中:
请求方式: 指在使用过程中,当程序工作处于输入方式时,程序向主机发出请求,以请求方式指定输入设备。只有当设备被确定时,用户才能输入数据的T作方式。
取样方式:指当一台或多台输入设备被设定了采样方式后,在其工作时,可以不需要等待程序中的输入语句。系统可以对现被设定的设备所处的状态进行采样,不断存储数据,更新当前得数据,当前数据被默认用于程序所需输入数据的工作方式。 事件方式: 指用户每次对输入设备的每次操作以及形成的数据叫做一个“事件”。往往多个事件发生后,计算机来不及处理,于是就有必要把各个事件按照发生的顺序排成队列,把相应的数据存储在计算机内,以先进先出的原则来处理。事件方式是由输入设备来初始化数据输入、控制数据处理进程。这种处理方式叫做事件方式。
组合方式: 计算机图形输入系统往往不是单一地使用一种输入方式,各种输入方式会常常混合使用,即一个应用程序可以在几种输入控制方式下应用几种不同地输入设备来工作,这种方法就是组合方法。
6.试说明Bézier曲线、B样条曲线与NURBS曲线的主要几何特性,并比较其优劣.
答:Bézier曲线的起点与终点和特征多边形的起点与终点重合,且多边形的第一条边和最后一条边表示了曲线在起点和终点处的切矢方向。而且由于曲线的形状趋向于控制多边形的形状,所以可以通过调整顶点的位置来控制曲线的形状。但控制多边形的顶点数决定了Bézier曲线的阶次,不能作局部的修改。
B样条曲线具备了Bézier曲线的一切优点。其次数与控制点的个数无关,且具有局部性,可作局部修改。但B样条方法不能表示解析曲线与曲面。
NURBS曲线为标准的解析形状(如圆椎曲线和自由型曲线)的表示与设计提供了一个统一的数学形式。而且由操纵控制顶点及权因子为各种形状设计提供了充分的灵活性。
7、简单说明三维观察流程
解答:三维观察的过程可以经由以下几个步骤来完成。首先。在世界坐标系中生成图形;其次,进行从世界坐标系到观察坐标系的变换,将世界坐标系中的图形描述转换到观察坐标系中。然后进行观察空间的规范化变换,再在规范化空间内进行图形的三维裁剪。裁剪完后即可作正投影,将裁剪后的图形投影到观察平面l卜。最后,将观察窗口中的内容在图形输出设备上进行显示。以上的过程
学习必备 欢迎下载
就称为是三维观察流程
8、物体表面的颜色由什么因素决定,如果是在简单光照模型中,对不透明的物体而言,其表面颜色由什么决定?
物体表面的颜色一般决定于物体表面向视线方向辐射的光能中各波长的分布,也即决定于所选择吸收那部分光的波长。 在简单光照模型中,如果物体是不透明的,则物体表面的颜色取决于其反射光。
9、简单模型中,有哪几种类型的光?各自的特点什么?
解答:在简单光照模型中,一般可分成环境反射光、漫反射光和镜面反射光等。
环境反射光:环境光是周围的景物散发出来的通过物体表面而反射出来的光,没有直接的光源和固定的光线方向,弥漫于整个空间。这种光线在空间中是均匀的,被照射的物体的各个方向都有相同的明暗度。
漫反射光:光源来自一个方向,反射光均匀地射向各个方向。
镜面反射光:产生所谓的“高光”效应。镜面反射遵守反射定律,其是位于表面的法矢的两侧的,与反射角有关。
10、简要说明RGB、CMY和HSV三种颜色模型的特点 红、绿、蓝(RGB)颜色模型通常用于彩色
阴极射线管和彩色光栅图形显示器。它采用直角坐标系,红、绿、蓝原色是加色系统,即各种原色的强度加在一起生成另一种颜色。因对,对于一种颜色c,在RGB颜色系统下表示为: C=rR+gG+bB
以红、绿、蓝的补色青、品红、黄为原色构成的CMY颜色系统,常用于从白光中某种颜色,故称为减色原色系统。我们可以使用一个矩阵来表示RGB与CMY颜色模型之间的转换关系,即: HSV颜色模型可以用六棱锥表示,为这种模型中提供给用户的三种颜色参数是色彩(Hue)、色饱和度(Saturation)和明暗值(Value),即称HSV模型。用户通过选择一种彩色并将一定量的白色和黑色加到该颜色以获得不同的明暗、浓淡和色调。
物体表面的颜色一般决定于物体表面向视线方向辐射的光能中各波长的分布,也即决定于所选择吸收那部分光的波长。
在简单光照模型中,如果物体是不透明的,则物体表面的颜色取决于其反射光。
学习必备 欢迎下载
1.已知平面上一任意直线P1(x1,y1)和P2(x2,y2),试推导将其通过变换与y轴重合的变换矩阵.
答:可由以下步骤完成:
(1)将一端点P1(xl,y1)平移至坐标原点,变换矩阵为:
T1?1?0???x??101?y10?0 ?1???(2)将直线绕原点旋转,使端点P2(x2,y2)与y轴重合:
T2?cos????sin???0sin?cos?00?0?1??
α为直线与y轴所成夹角。A=arctg(x2-x1),(y2-y1),则变换矩阵:
T?T1T2
2.写出关于直线L的反射变换矩阵,其中L与x轴的正向成θ角,与y轴交于(0,b). 答:可由以下几步完成:
(1)将直线与y轴的交点平移到原点。
?100??cos?sin?0?T??010? (2)将直线旋转-θ角与x轴重合。T???sin?cos?0? 1?2??0?b101????0??100?(3)作关于x轴的反射变换。T??0?10? (4)将直线旋转θ角。
3??001???cos?sin?0?T???sin?cos?0? 4?01??0?(5)将原点移回(O,b)。
?100?T??000? 则关于该直线的反射变换矩阵表示为 T?T1T2T3T4T5 5??0b1??
学习必备 欢迎下载
7.编写一个程序,并在一蓝色窗口中绘制一红色的正方形,且正方形大小可随窗口尺寸改
变而调整。
#include
glClear(GL_COLOR_BUFFER BIT); //将作图颜色设为蓝色 glColor3f(0.0f,0.0f,1.0f); //作一个正方形
glRectf(50.0f, 50.0f, 150.0f, 150.0f); glFlush(); }
void myinit(void) {
//将背景颜色设为红色 glClearColor(1.0f,0.0f,0.0f,0.0f); }
void Myreshape(GLsizeiw, GLsizei h) {
glViewport(0,0,(GLsizei)w, (GLsizei)h); glMamxMode(GL_PROJECTION);