计算机图形学复习题及答案137083.pdf
.-可修编-中南大学复习试题.及参考答案 计算机图形学 一、名词解释 1图形 2像素图 3参数图 4扫描线 5构造实体几何表示法 6投影 11区域填充 12扫描转换 二、判断正误(正确写 T,错误写 F)1.存储颜色和亮度信息的相应存储器称为帧缓冲存储器,所存储的信息被称为位图。()2光栅扫描显示器的屏幕分为 m 行扫描线,每行 n 个点,整个屏幕分为 mn 个点,其中每个点称为一个像素。()3点阵字符用一个位图来表示,位图中的 0 对应点亮的像素,用前景色绘制;位图中的 1 对应未点亮的像素,用背景色绘制。()4矢量字符表示法用(曲)线段记录字形的边缘轮廓线。()5将矢量字符旋转或放大时,显示的结果通常会变得粗糙难看,同样的变换不会改变点阵字符的显示效果。()6在光栅图形中,区域是由相连的像素组成的集合,这些像素具有相同的属性值或者它们位于某边界线的部。()7多边形的扫描变换算法不需要预先定义区域部或边界的像素值。()8 齐次坐标表示法用 n 维向量表示一个 n维向量。()10平面多面体表面的平面多边形的边最多属于两个多边形,即它的表面具有二维流形的性质。()11 实体几何性质包括位置、长度和大小等。()19用 DDA 算法生成圆周或椭圆不需要用到三角运算,所以运算效率高。().-可修编-三、填空 1图形软件的建立方法包括提供图形程序包、和采用专用高级语言。2直线的属性包括线型、和颜色。3颜色通常用红、绿和蓝三原色的含量来表示。对于不具有彩色功能的显示系统,颜色显示为。4平面图形在存中有两种表示方法,即和矢量表示法。5字符作为图形有和矢量字符之分。6区域的表示有和边界表示两种形式。7区域的点表示法枚举区域的所有像素,通过来实现点表示。8区域的边界表示法枚举区域边界上的所有像素,通过给赋予同一属性值来实现边界表示。9区域填充有和扫描转换填充。10区域填充属性包括填充式样、和填充图案。11对于图形,通常是以点变换为基础,把图形的一系列顶点作几何变换后,连接新的顶点序列即可产生新的变换后的图形。12裁剪的基本目的是判断图形元素是否部分或全部落在之。13字符裁剪方法包括、单个字符裁剪和字符串裁剪。14图形变换是指将图形的几何信息经过产生新的图形。15从平面上点的齐次坐标,经齐次坐标变换,最后转换为平面上点的坐标,这一变换过程称为。四、简答题 1.什么是图像的分辨率?5.实体采用八叉树表示法有哪些优点?6.实体采用八叉树表示法有哪些缺点?7.什么是中点分割裁剪法?8.二维编码裁剪法如何对线段的端点进行编码?9多边形填充扫描线算法包括哪些计算步骤?五、计算题 1 一条直线的两个端点是(0,0)和(6,18),计算 x 从 0 变到 6 时 y 所对应的值。2写出关于 xy 平面对称面的镜面反射变换。5 写出从),(111yxP到),(222yxP的段与(a)垂直线 xa,(b)水平线 yb 的交点。6使用 Bresenham 算法画斜率介于 0和 45之间的直线所需的步骤。.-可修编-参考答案 一、名词解释 1图形:能够在人们视觉系统中形成视觉印象的对象称为图形,包括自然景物和人工绘图。2像素图:点阵法列举图形中的所有点。用点阵法描述的图形称为像素图。3参数图:参数法描述图形的形状参数和属性参数。用参数法描述的图形称为参数图。4扫描线:在光栅扫描显示器中,电子枪扫过的一行称为一条扫描线。5构造实体几何表示法:用简单的实体(也称为体素)通过集合运算组合成所需的物体的方法称为构造实体几何表示法。6投影:投影是从高维(物体)空间到低维(投影)空间的一种映射。7参数向量方程:参数向量方程是包含参数和向量的方程。8自由曲线:形状比较复杂、不能用二次方程来表示的曲线称为自由曲线,通常以三次参数方程来表示 9曲线拟合:给定一个点列,用该点列来构造曲线的方法称为曲线拟合。10曲线插值:已知曲线上的一个点列,求曲线上的其他点的方法称为曲线插值。11区域填充:根据像素的属性值、边或顶点的简单描述,生成区域的过程称为区域填充。12扫描转换:在矢量图形中,多边形用顶点序列来表示,为了在光栅显示器或打印机等设备上显示多边形,必须把它转换为点阵表示。这种转换称为扫描转换。二、判断正误(正确写 T,错误写 F)1.存储颜色和亮度信息的相应存储器称为帧缓冲存储器,所存储的信息被称为位图。(T)2 光栅扫描显示器的屏幕分为 m 行扫描线,每行 n 个小点,整个屏幕分为 mn 个中点,其中每个小点称为一个像素。(T)3点阵字符用一个位图来表示,位图中的 0 对应点亮的像素,用前景色绘制;位图中的 1 对应未点亮的像素,用背景色绘制。(F)4矢量字符表示法用(曲)线段记录字形的边缘轮廓线。(T)5将矢量字符旋转或放大时,显示的结果通常会变得粗糙难看,同样的变换不会改变点阵字符的显示效果。(F).-可修编-6在光栅图形中,区域是由相连的像素组成的集合,这些像素具有相同的属性值或者它们位于某边界线的部。(T)7多边形的扫描变换算法不需要预先定义区域部或边界的像素值。(T)8 齐次坐标表示法用 n 维向量表示一个 n维向量。(F)9 实体的边界由平面多边形或空间曲面片组成。(T)10平面多面体表面的平面多边形的边最多属于两个多边形,即它的表面具有二维流形的性质。(T)11 实体几何性质包括位置、长度和大小等。(T)12实体的拓扑关系表示实体之间的相邻、相离、方位、相交和包含等关系。(F)13实体的扫描表示法也称为推移表示法,该表示法用一个物体和该物体的一条移动轨迹来描述一个新的物体。(T)14 如果投影空间为平面,投影线为直线,则称该投影为平面几何投影。(T)15.平面几何投影分为两大类:透视投影和平行投影。(T)16 当投影中心到投影面的距离为有限值时,相应的投影为平行投影。(F)17 当投影中心到投影面的距离为无穷大时,相应的投影即为透视投影。(F)18在透视投影中,不平行于投影平面的平行线,经过透视投影后交汇到一个点,该点称为灭点。(T)19用 DDA 算法生成圆周或椭圆不需要用到三角运算,所以运算效率高。(F)20 主灭点的个数正好等于与投影面相交的坐标轴的个数,显然最多有四个主灭点。(F)21透视投影按主灭点个数分为一点透视、二点透视和三点透视。(T)22平行投影分为正(射)投影和斜(射)投影。(T)23 在正投影中,投影方向与投影面垂直。(T)24在斜投影中,投影线不垂直于投影面。(T)25当投影面与 x,y 和 z 垂直时所得到的投影分别称为正(主)视图、侧视图和俯视图,统称为三视图。(T)26 在斜投影中,当投影面与三个坐标轴都不垂直时,所形成的投影称为正轴测。(F)27投影面也称为观察平面。(T)28观察空间位于前后裁剪面之间的部分称为裁剪空间或视见体。(T)29找出并消除物体中的不可见部分,称为消隐。(T).-可修编-30经过消隐得到的图形称为消隐图。(T)三、填空 1图形软件的建立方法包括提供图形程序包、修改高级语言 和采用专用高级语言。2直线的属性包括线型、线宽 和颜色。3颜色通常用红、绿和蓝三原色的含量来表示。对于不具有彩色功能的显示系统,颜色显示为 灰度级(或亮度级)。4平面图形在存中有两种表示方法,即 栅格表示法 和矢量表示法。5字符作为图形有 点阵字符 和矢量字符之分。6区域的表示有 点表示 和边界表示两种形式。7区域的点表示法枚举区域的所有像素,通过 给区域的像素赋予同一属性值来实现点表示。8区域的边界表示法枚举区域边界上的所有像素,通过给 区域边界的像素点 赋予同一属性值来实现边界表示。9区域填充有种子填充 和扫描转换填充。10区域填充属性包括填充式样、填充颜色 和填充图案。11对于线框 图形,通常是以点变换为基础,把图形的一系列顶点作几何变换后,连接新的顶点序列即可产生新的变换后的图形。12裁剪的基本目的是判断图形元素是否部分或全部落在 窗口区域 之。13字符裁剪方法包括 矢量裁剪、单个字符裁剪和字符串裁剪。14图形变换是指将图形的几何信息经过 几何变换后 产生新的图形。15从平面上点的齐次坐标,经齐次坐标变换,最后转换为平面上点的坐标,这一变换过程称为规化过程。16实体的表面具有 连通性、有界性、非自交性和闭合性。17 集合的点是集合中的点,在该点的 一个充分小邻域 的所有点都是集合中的元素。18空间一点的任意邻域既有集合中的点,又有集合外的点,则称该点为集合的边界点。19点组成的集合称为集合的部。.-可修编-20边界点组成的集合称为集合的 边界。21任意一个实体可以表示为 部和边界 的并集。22集合与它的边界的并集称集合的 闭包。23取集合的部,再取部的闭包,所得的集合称为原集合的 正则(点)集。24如果曲面上任意一点都存在一个充分小的邻域,该邻域与平面上的(开)圆盘同构,即邻域与圆盘之间存在连续的 1-1 映射,则称该曲面为 二维流形。25对于一个占据有限空间的正则(点)集,如果其表面是 二维流形,则该正则集为一个实体(有效物体)。26通过实体的边界来表示一个实体的方法称为 实体的边界表示法。27表面由平面多边形构成的空间三维体称为 平面多面体。28扫描表示法的两个关键要素是 扫描体 和扫描轨迹。29标量:一个标量表示 一个数值。30向量:一个向量是由若干个标量组成的 一个元组,其中每个标量称为向量的一个分量。四、简答题 1.什么是图像的分辨率?解答:在水平和垂直方向上每单位长度(如英寸)所包含的像素点的数目。2.为什么需要隐藏面消影法?解答:需要用隐藏面消影法来判断哪些物体和表面遮挡了放在它们后面的物体和表面,从而产生更逼真的图像。3.局部光照模型和全局光照模型的不同之处是什么?解答:局部光照模型主要是考虑光源发出的光对物体的直接影响。另外,全局光照模型除了处理光源发出的光之外,还考虑其他辅助光的影响,如光线穿过透明或半透明物体,以及光线从一个物体表面反射到另一个表面等。4.说出表面明暗处理的三个部分和用于计算每个部分的辅助光线。解答:局部贡献(阴影光线),反射光贡献(镜面反射光线)和透射光贡献(镜面透射光线)。5.实体采用八叉树表示法有哪些优点?解答:实体采用八叉树表示法有以下优点:(1)可以用统一而且简单的形体来表示空间任意形状的实体。(2)易于实现实体之间的集合运算,如交、并和差等运算。.-可修编-(3)易于检查实体之间是否接触。(4)易于计算实体的统计量,如体积、质量和重量等。(5)在对实体进行显示时,易于实现消隐。6.实体采用八叉树表示法有哪些缺点?解答:实体采用八叉树表示法有以下缺点:(1)在分辨率较高时,所需的存储容量较大。(2)难于实现某些几何变换,如旋转和任意比例系数的比例变换等。(3)只能近似地表示空间实体,难于转换为表达更精确的边界表示。7.什么是中点分割裁剪法?解答:中点分割裁剪法又称对分裁剪法,该方法用于代替求交运算。如图 11 所示,AB为线段 P1P2的可见部分。记 P1和 P2的中点为 Pm。从 P1出发求 A,如果 P1Pm部分可见部分不可见,则 A 点在该线段上,用该线段代替 P1P2继续求解;否则,用 PmP2代替 P1P2继续求解。求解过程直到 P1P2的长度小于预先给定的一个常数时结束,这时,P2为离 A 最近的可见点。类似地可以求解 B。8.二维编码裁剪法如何对线段的端点进行编码?解答:将用户域用为 9 个区域,每个区域都有相应的编码,当线段的端点落在某个区域时,对该端点进行相应的编码。从高位开始,每位编码如下:(1)第 1 位,端点在 y=ymax 上方则取 1,否则取 0;(2)第 2 位,端点在 y=ymin 下方则取 1,否则取 0;(3)第 3 位,端点在 x=xmax 右方则取 1,否则取 0;(4)第 4 位,端点在 x=xmin 左方则取 1,否则取 0。如果线段两端点的 4 位编码全为零,则线段全部在窗口;如果两端点的 4 位编码按位进行与运算,结果为非零,则此线段全部在窗口之外;其他情况下,线段部分在窗口,部分在窗口外。编码裁剪法的编码用于判断线段与窗口的关系。A B P1 P2 0000 区域编码 0010 1010 0110 0100 1000 0101 0001 1001.-可修编-9多边形填充扫描线算法包括哪些计算步骤?解答:对于一个给定的多边形,用一组水平(垂直)的扫描线进行扫描,求出每条扫描线与多边形边的交点,这些交点将扫描线分割为相间排列的落在多边形和外的线段,将落在多边形的线段上的所有象素点赋以给定的多边形的颜色值。计算过程如下:(1)求交:计算扫描线与多边形各边的交点;(2)排序:把所有交点按递增顺序进行排序;(3)交点配对:每对交点表示扫描线与多边形的一个相交区间;(4)区间填色:相交区间的象素置成多边形颜色,相交区间外的象素置成背景色。10消隐算法有哪些类型,它们各有什么特点?解答:消隐算法可以分为两大类:对象空间方法(Object Space Methods)和图象空间方法(image Space Methods)。对象空间方法是通过分析对象的三维特性之间的关系来确定其是否可见。例如,将三维平面作为分析对象,通过比较各平面的参数来确定它们的可见性。图象空间是对象投影后所在的二维空间。图象空间方法是将对象投影后分解为象素,按照一定的规律,比较象素之间的 z 值,从而确定其是否可见。11深度缓存(Z-buffer)消隐算法包括哪些步骤?解答:深度缓存(Z-buffer)算法是一种典型的、简单的图象空间面消隐算法。该算法需要一个深度缓存数组 ZB,此外还需要一个颜色属性数组 CB,它们的大小与屏幕上像素点的个数相同。Z-buffer 算法的步骤如下:(1)初始化 ZB 和 CB,使得 ZB(i,j)=Zmax,CB(i,j)=背景色,i=1,,m;j=1,,n;(2)对多边形 P,计算它在点(i,j)处的深度值 zi,j,(3)若 zi,j ZB(i,j),则 ZB(i,j)=zi,j,CB(i,j)=多边形 P 的颜色;(4)对每个多边形重复(2)、(3)两步,最终在 CB 中存放的就是消隐后的图形。这个算法的关键在第()步,要尽快判断出哪些点落在一个多边形,并尽快求出一个点的深度值。这里需要应用多边形点与点之间的相关性,包括水平相关性和垂直相关性。12什么叫观察空间?解答:在透视投影中,从投影中心出发,过观察窗口边线的射线所围成的四棱锥称为透视投影的观察空间;在平行投影中,从投影参考点到观察窗口中心的方向为投影方向,过观察窗口边线且平行于投影方向的直线包围的四棱柱称为平行投影的观察空间。五、计算题 一条直线的两个端点是(0,0)和(6,18),计算 x 从 0 变到 6 时 y 所对应的值。解答:由于直线的方程没有给出,所以必须找到直线的方程。下面是寻找直线方程(y.-可修编-mxb)的过程。首先寻找斜率:m y/x (y2y1)/(x2x1)(180)/(60)3 接着 b 在 y 轴的截距可以代入方程 y3xb 求出 030b。因此 b0,所以直线方程为 y3x。当 x 从 0 变到 6 时 y 所对应的值如下表:x 0 1 2 3 4 5 6 y 0 3 6 9 12 15 18 2写出关于 xy 平面对称面的镜面反射变换。解答:由图得知 P(x,y,z)得对称点是P(x,y,z)。其反射变换是:100010001M 3写出直线方程bmxy对应的 xy 坐标方程,假设yx坐标系是由 xy 坐标系旋转90得到。解答:旋转坐标变换方程可以写成:90sin90cosyyxx,xyxy90cos90sin 代入原方程式得到bmyx,写成 y 的方程式,得mbxmy/)/1(4使用斜截式方程画斜率介于 0和 45之间的直线的步骤是什么?解答:用斜截式方程画直线的过程如下:(1)计算 dx:dxx2x1。(2)计算 dy:dyy2y1。(3)计算 m:mdy/dx。(4)计算 b:by1mx1(5)设置左下方的端点坐标为(x,y),同时将 xend设为 x 的最大值。如果 dx 0,那么 xx1、yy1和 xendx2。(6)测试整条线是否已经画完,如果 x xend就停止。(7)在当前的(x,y)坐标画一个点。(8)增加 x:xx1。(9)根据方程 ymxb 计算下一个 y 值。转到步骤(6)。P(x,y,zP(x,y,z)y x z.-可修编-5写出从),(111yxP到),(222yxP的段与(a)垂直线 xa,(b)水平线 yb 的交点。解答:线段的参数方程为:)()(121121yytyyxxtxx10 t(a)因为ax,将它代入方程)()(121xxxat得到。然后把此值再代入方程,则交点是axI和 121211yyxxxayyI(b)因为by,将它代入方程)()(121yyybt得到。然后把此值再代入方程,则交点是byI和 121211xxyyyaxxI 6使用 Bresenham 算法画斜率介于 0和 45之间的直线所需的步骤。解答:用 Bresenham 算法画直线的过程如下:(1)计算初始值 dx x2x1 Inc2 2(dydx)dy y2y1 d Inc1 dx Inc1 2dy(2)设置左下方的端点坐标为(x,y),同时将 xend设为 x 的最大值。如果 dx 0,那么 xx1、yy1和 xendx2。(3)在当前的(x,y)坐标画一个点。(4)判断整条线段是否已经画完,如果 xxend就停止。(5)计算下一像素的位置。如果 d0,那么 ddInc1。如果 d0,那么 dd+Inc2,并且 yy1。(6)增加 x:xx1。(7)在当前的(x,y)坐标画一个点。(8)转到步骤(4)。