1、图形图像处理模拟试卷 6及答案与解析 一、填空题 请完成下列各题,在各题的空处填入恰当的答案。 1 表面由平面多边形构成的空间三维体称为( )。 2 扫描表示法的两个关键要素是( )和扫描轨迹。 3 请列举常用的直线段裁减算法(四种)。 4 考虑三个不同的光栅系统,分辨率依次为 640*480, 1280*1024, 2560*2048。欲存储每个像素 12位,这些系统各需要多大的帧缓冲器(字节数)? 5 什么叫做走样?什么叫做反走样?反走样技术包括那些? 6 试说明一致缩放( sx=sy)和旋转形成可交换的操作对。 7 用参数方程形式描述曲线曲面有什么优点? 8 如下图所示,裁减窗口为正方形
2、,采用逐边裁件算法,依次按左、下、右、上的顺序,用四条窗口边界裁减多边形 ABCDE。试写出每条框口边界裁减后输出的新的多边形的顶点序列。 9 Bezier曲线在端点处的一阶导数为: p(0)=n(P1-P0), p(1)=n(Pn-Pn-1),二阶导数为: p”(0)=n(n-1)(P2-P1)-(P1-P0), p”(1)=n(n-1)(Pn-2-Pn-1)-(Pn-1-Pn)。 写出如图2所示的两段三次 Bezier曲线在连接点处的 G1, G2连续性条件。10 什么是图像的分辨率? 11 为什么需要隐藏面消影法? 12 局部光照模型和全局光照模型的不同之处是什么? 13 说出表面明暗处
3、理的三个部分和用于计算每个部分的辅助光线。 14 实体采用八叉树表示法有哪些优点? 15 实体采用八叉树表示法有哪些缺点? 16 什么是中点分割裁剪法? 17 二维编码裁剪法如何对线段的端点进行编码? 18 多边形填充扫描线算法包括哪些计算步骤? 19 消隐算法 有哪些类型,它们各有什么特点? 20 深度缓存( Z-buffer)消隐算法包括哪些步骤? 21 什么叫观察空间? 22 计算机图形研究的主要内容是什么? 23 什么是齐次坐标?齐次空间点 P(X、 Y、 W)对应的笛卡尔坐标是什么? 24 帧缓存的容量与什么有关?假定一个光栅扫描系统,分辨率 800600,要求可显示颜色 256种,
4、请问帧缓存的容量需要多少字节? 25 简单光照模型的反射光由哪几部分组成,光照计算时有哪两种明暗处理技术 ? 26 计算机图形学研究的主要内容是什么?图形主要分 为哪两类? 27 帧缓冲器的容量与什么有关?若要在 10241024的分辨率下显示 16种灰度级图像,帧缓冲器的容量应为多少 MB? 28 什么是齐次坐标?齐次空间点 P(X、 Y、 W)对应的笛卡尔坐标是什么? 29 Z缓冲器算法中有哪两个缓冲器?它们分别存放的是什么? 30 简述区域连贯性、扫描线的连贯性以及边的连贯性。 31 一条直线的两个端点是( 0, 0)和( 6, 18),计算 x从 0变到 6时 y所对应的值。 32 写
5、出关于 xy平面对称面的镜面反射变换。 33 写出直线方程 y=mx+b对应的 xy坐标方程,假设 xy坐标系是由 xy坐标系旋转 90得到。 34 使用斜截式方程画斜率介于 0和 45之间的直线的步骤是什么? 35 写出从 P1(x1,y1)到 P2(x2,y2)的段与( a)垂直线 x a,( b)水平线 y b的交点。 36 使用 Bresenham算法画斜率介于 0和 45之间的直线所需的步骤。 37 图中 ABCD为矩形窗口, P1P2为待裁剪线段。试用编码裁剪算法求出 P1P2在窗口中的直线段坐标。已知:窗口及线段的坐标分别为 A( 3, 1)、 B( 8, 1)、 C( 8, 6
6、)、 D( 3, 6)、 P1( 3,0)、 P2( 10, 9) 38 如下图所示三角形 ABC,将其关于 A点逆时针旋转 900,写出其变换矩阵和变换后图形各点的规范化齐次坐标。 39 如下图所示多边形,若采用 ET边表算法进行填充,试写出该多边形的 ET表和当扫描线 Y=3时的有效边表( AET表)。 40 试用 Liang-Barsky算法裁剪如图所示线段。 41 如图所示,物体 ABCDEFGH进行如下变换,写出其变换矩阵并求出复合变换后顶点的齐次坐标。 ( 1)点 C与点 P( 1,1, 0)重合; (2)绕 z轴旋转 60。 42 利用中点 Bresenham画圆算法的原理推导第
7、一象限从 y=0到 x=y圆弧段的扫描转换算法(设半径为 R,要求写清原理、误差函数、递推公式)。 43 如下图所示多边形,若采用改进的有效边表算法进行填充,试写出该多边形的ET表和当扫描线 Y=4时的 AET表。 44 利用中点 Bresenham画圆算法的原理推导第一象限从 y=x到 x=0圆弧段的扫描转换算法(要求写清原理、误差函数、递推公式)。 图形图像处理模拟试卷 6答案与解析 一、填空题 请完成下列各题,在各题的空处填入恰当的答案。 1 【正确答案】 平面多面体 2 【正确答案】 扫描体 3 【正确答案】 直接求交算法、编码算法、中点再分算法、 Cyrus-Beck算法。 4 【正
8、确答案】 640*480需要的帧缓存为 640*480*12/8=450KB; 1280*1024需要的帧缓存为 1280*1024*12/8=1920KB; 2560*2048需要的帧缓存为2560*2048*12/8=7680KB 5 【正确答案】 走样指的是用离散量表示连续量引起的失真。为了提高图形的显示质量。需要减少或消除因走样带来的阶梯形或闪烁效果,用于减少或 消除这种效果的方法称为反走样。其方法是 前滤波,以较高的分辨率显示对象; 后滤波,即加权区域取样,在高于显示分辨率的较高分辨率下用点取样方法计算,然后对几个像素的属性进行平均得到较低分辨率下的像素属性。 6 【正确答案】 因为
9、sx=sy,故有 T1=T2,所以一致缩放( sx=sy)和旋转可以形成可交换的操作对。 7 【正确答案】 点动成线; 可以满足几何不变性的要求; 可以避免斜率带来的问题; 易于定界; 可以节省工作量; 参数变化对各因变量的影响明显。 8 【正确答案】 左边界裁减后: ABCD12下边界裁减后: 4B56D123右边界裁减后: 4B7D123上边界裁减后: 4B789123 9 【正确答案】 因为是三次 Bezier曲线,所以有 n=3。根据 G1连续性条件有:p(1)=a*p(0)即: Q1-Q0=a*(P3-P2)又根据 G2连续性条件有: p”(1) b*p”(0)即:Q0-2Q1+Q2
10、=b*(P1-2P2 P3) 10 【正确答案】 在水平和垂直方向上每单位长度(如英寸)所包含的像素点的数目。 11 【正确答案】 需要用隐藏面消影法来判断哪些物体和表面遮挡了放在它们后面的物 体和表面,从而产生更逼真的图像。 12 【正确答案】 局部光照模型主要是考虑光源发出的光对物体的直接影响。另外,全局光照模型除了处理光源发出的光之外,还考虑其他辅助光的影响,如光线穿过透明或半透明物体,以及光线从一个物体表面反射到另一个表面等。 13 【正确答案】 局部贡献(阴影光线),反射光贡献(镜面反射光线)和透射光贡献(镜面透射光线)。 14 【正确答案】 实体采用八叉树表示法有以下优点:( 1)
11、可以用统一而且简单的形体来表示空间任意形状的实体。( 2)易于实现实体之间的集合运算,如交、并和差 等运算。( 3)易于检查实体之间是否接触。( 4)易于计算实体的统计量,如体积、质量和重量等。( 5)在对实体进行显示时,易于实现消隐。 15 【正确答案】 实体采用八叉树表示法有以下缺点:( 1)在分辨率较高时,所需的存储容量较大。( 2)难于实现某些几何变换,如旋转和任意比例系数的比例变换等。( 3)只能近似地表示空间实体,难于转换为表达更精确的边界表示。 16 【正确答案】 中点分割裁剪法又称对分裁剪法,该方法用于代替求交运算。如图 11所示, AB为线段 P1P2的可见部分。记 P1和
12、P2的中点为 Pm。从 P1出发 求A,如果 P1Pm部分可见部分不可见,则 A点在该线段上,用该线段代替 P1P2继续求解;否则,用 PmP2代替 P 17 【正确答案】 将用户域用为 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位编码全为零,则线 段全部
13、在窗口内;如果两端点的 4位编码按位进行与运算,结果为非零,则此线段全部在窗口之外;其他情况下,线段部分在窗口内,部分在窗口外。 18 【正确答案】 对于一个给定的多边形,用一组水平(垂直)的扫描线进行扫描,求出每条扫描线与多边形边的交点,这些交点将扫描线分割为相间排列的落在多边形内和外的线段,将落在多边形内的线段上的所有象素点赋以给定的多边形的颜色值。计算过程如下:( 1)求交:计算扫描线与多边形各边的交点;( 2)排序: 把所有交点按递增顺序进行排序;( 3)交点配对:每对交点表示扫描线与多边形的一个相交区间;( 4)区间填色:相交区间内的象素置成多边形颜色,相交区间外的象素置成背景色。
14、19 【正确答案】 消隐算法可以分为两大类:对象空间方法( ObjectSpaceMethods)和图象空间方法( imageSpaceMethods)。对象空间方法是通过分析对象的三维特性之间的关系来确定其是否可见。例如,将三维平面作为分析对象,通过比较各平面的参数来确定它们的可见性。图象空间是对象投影后所在的二维空间。图象空间方法是将对象投 影后分解为象素,按照一定的规律,比较象素之间的 z值,从而确定其是否可见。 20 【正确答案】 深度缓存( Z-buffer)算法是一种典型的、简单的图象空间面消隐算法。该算法需要一个深度缓存数组 ZB,此外还需要一个颜色属性数组 CB,它们的大小与屏
15、幕上像素点的个数相同。 Z-buffer算法的步骤如下:( 1)初始化 ZB和 CB,使得 ZB(i,j)=Zmax,CB(i,j)=背景色, i=1, , m;j=1, , n;( 2)对多边形P,计算它在点( i,j)处的深度值 zij,( 3)若 zijij,CB(i,j)= 21 【正确答案】 在透视投影中,从投影中心出发,过观察窗口边线的射线所围成的四棱锥称为透视投影的观察空间;在平行投影中,从投影参考点到观察窗口中心的方向为投影方向,过观察窗口边线且平行于投影方向的直线包围的四棱柱称为平行投影的观察空间。 22 【正确答案】 计算机图形学主要研究如何在计算机中表示图形,以及利用计算
16、机进行图形的计算、处理和显示的相关原理和算法。 23 【正确答案】 齐次坐标就是 n维空间中的物体可用 n+1维坐标空间来表示。齐次空间点 P(X、 Y、 W)对应的笛卡尔坐标是( X/W, Y/W)。 24 【正确答案】 帧缓存的容量与分辨率和颜色的位数有关。一个光栅扫描系统,分辨率 800600,要求可显示颜色 256种,帧缓存的容量 =80060088=480000(字节)。 25 【正确答案】 简单光照模型的反射光由环境光、漫反射光和镜面反射光组成。光照计算时有 Phong明暗处理技术和 Gouraud明暗处理技术。 26 【正确答案】 计算机图形学是研究如何在计算机中表示图形,以及利
17、用计算机进行图形的计算、处理和显示的相关原理与算法。图形主要分为两类:一类是基于线条表示的几何图形,另一类是 基于光照、材质和纹理映射表示的真实感图形。 27 【正确答案】 帧缓存的容量与分辨率和颜色的灰度级有关。一个光栅扫描系统,分辨率 10241024,要求可显示颜色 16种,帧缓存的容量=102410244810241024=0.5( MB)。 28 【正确答案】 齐次坐标就是 n维空间中的物体可用 n+1维齐次坐标空间来表示。齐次空间点 P( X、 Y、 W)对应的笛卡尔坐标是 x=X/W和 y=Y/W。 29 【正确答案】 Z缓冲器算法中有两个缓冲器:深度缓冲器和帧缓冲器。深度缓冲器
18、里存放着图像空间每个 可见像素的 z坐标。帧缓冲器里存放着图像空间每个可见像素的属性(光强或颜色)值。 30 【正确答案】 区域连贯性:对于一个多边形及两条扫描线,会有如下情况:两条扫描线之间的长形区域被多边形的边分割成若干个梯形,位于多边形内部和外部的梯形相间排列。扫描线的连贯性:多边形与扫描线相交,其交点数为偶数,相邻两交点间的线段有些位于多边形内,有些位于多边形外,且两者间隔排列。边的连贯性:相邻两条扫描线与多边形的的同一条边相交,其交点可按递增一个常量来计算,如: x2=x1+1,则 y2=y1+1/k(k为该多边形边的斜 率 )。 31 【正确答案】 由于直线的方程没有给出,所以必须
19、找到直线的方程。下面是寻找直线方程( y mx b)的过程。首先寻找斜率: m y/ x( y2 y1) /( x2 x1)( 18 0) /(6 0) 3接着 b在 y轴的截距可以代入方程 y 3x b求出 0 3 0 b。因此 b 0,所以直线方程为 y 3x。当 x从 0变到 6时 y所对应的值如下表:32 【正确答案】 由图得知 P( x, y, z)得对称点是( x, y, z)。其反射变换是: 33 【正确答案】 旋转坐标变换方程可以写成: x=xcos90+ysin90=y,y=-xsin90+ycos90=-x代入原方程式得到 -x=my+b,写成 y的方程式,得 y=(-1/
20、m)/x-b/m 34 【正确答案】 用斜截式方程画直线的过程如下: ( 1)计算 dx: dx x2 x1。 ( 2)计算 dy: dy y2 y1。 ( 3)计算 m: m dy/dx。 ( 4)计算 b:b y1 mx1 ( 5)设置左下方的端点坐标为( x, y),同时将 xend设为 x的最大值。如果 dx2、y y2和 xend x 35 【正确答案】 线段的参数方程为:( a)因为,将它代入方程 t=(a-x1)/(x2-x1)得到。然后把此值再代入方程,则交点是x1=a和 ( b)因为,将它代入方程 t=(b-y1)/(y2-y1)得到。然后把此值再代入方程,则交点是 y1=b
21、和 36 【正确答案】 用 Bresenham算法画直线的过程如下:( 1)计算初始值 dx x2 x1; Inc2 2( dy dx); dy y2 y1; d Inc1 dx; Inc1 2dy( 2)设置左下方的端点坐标为( x, y),同时将 xend设为 x的最大值。如果 dx2, y y2和 xend 37 【正确答案】 P1、 P2的编码分别为 Code(P1)=0100和 Code( P2) =1010; Code( P1) |Code( P2)不等于 0,说明不能简取之; Code( P1) &Code( P2) =0,说明不能简弃之。所以需要求 P1P2与窗口边界的交点,按
22、照左、右、下、上的顺序求交点。根据 P1 38 【正确答案】 将三角形 ABC的 A点平移至原点,其变换矩阵为然后将三角形 ABC绕原点即 A点逆时针旋转 900,其变换矩阵 最后再将三角形 ABC的 A点平移至( 2, 5),其变换矩阵总变换矩阵 三角形 ABC各点变换后的齐次坐标: 故变换后 A点的齐次坐标为( 2, 5, 1), B点的齐次坐标为( 6, 4, 1), C的齐次坐标为( 4, 9, 1)。 39 【正确答案】 边表的节点形式如下: 多边形的顶点采用下闭上开的原则处理。 ET表:; Y=3时的 AET: 40 【正确答案】 A(-2,6)x1=-2,y1=6B(7,-2)x
23、2=7,y2=-2窗口:wxl=0,wxr=4,wyb=0,wyt=3 P1=-x=-(7+2)=-9q1=x1-wxl=-2U1=2/9P2=x=9q2=wxr-x1=6U2=2/3P3=-y=-(-2-6)=8q3=y1-wyb=6U3=3/4P4=y=-8q4=wyt-y1=3U4=3/8 Umax= =max(0,2/9,3/8)=3/8Umin= =min(1,2/3,3/4)=2/3将 Umax, Um 41 【正确答案】 平移点 C与点 P重合的平移矩阵为 绕 z轴旋转 60矩阵为 所以,复合变换后的矩阵为 T1*T2,有:其中 ABCDEFGH为变换后对应的齐次坐标。 42 【
24、正确答案】 算法原理:如图 a所示,从 y=0到 x=y圆弧段即为逆时针方向,此时当 y方向走一步时, x方向能否走一步需要根据判别式进行判断,推导如下:先 构造函数 F(x,y)=x2+y2-R2,对于圆上点 F(x,y) 0;对于圆外点 F(x,y)0;圆内点 F(x,y)0时,如图 c,下一点取 P 43 【正确答案】 ET表:44 【正确答案】 x方向为最大走步方向, xi+1=xi-1,yi+1由 d确定 di0时,点在圆内, xi+1=xi-1,yi+1=yi+0.5; di=F(xm,ym)=(xi-1)2+(yi+0.5)2-R2; di+1=F(xm,ym)=(xi-2)2+(yi+1.5)2-R2=xi2-4xi+4+yi2+3yi+1.52-R2=(xi-1)2-2xi+3+(yi+0.5)2+2yi+2-R2=di-2xi+2yi+5=di+2(yi-xi)+5 di0时,点在圆外, xi+1=xi-1,yi+1=yi; di+