《计算机图形学 复习题》由会员分享,可在线阅读,更多相关《计算机图形学 复习题(8页珍藏版)》请在金锄头文库上搜索。
1、-计算机图形学计算机图形学复习题复习题一、名词解释1、齐次坐标系2、光顺性3、种子填充算法4、镜面反射光5、投影变换6、光线跟踪7、复合变换8、走样9、几何造型技术10、虚拟现实二、简答题1、前截面距离 F 和后截面距离 B 定义了什么?2、计算机动画的制作主要步骤3、计算机图形显示器和绘图设备表示颜色的方法各是什么颜色系统?它们之间的关系如何?4、图形软件主语言的选择应考虑哪些因素?5、制定 CGI,CGM,IGES 标准的目的分别是什么?6、自由曲面的表示通常有哪两种?7、什么叫做走样?什么叫做反走样?反走样技术包括那些?8、简述区域连贯性、扫描线的连贯性以及边的连贯性。9、简述 Bezi
2、er 曲线的缺乏之处。10、建立图形软件可采用哪三种方法?11、在观察空间中,如何确定投影的类型和方向?12、简述编码裁剪法即Cohen-Sutherland 线段裁剪法的算法过程。三、应用题1、分析边标志算法的实现过程,并写出其算法的C 语言描述。2、简述深度缓存算法及其特点。3、假设在观察坐标系下窗口区的左下角坐标为 w*l=10,wyb=10,右上角坐标为w*r=50,wyt=50 。设备坐标系中视区的左下角坐标为v*l=10,vyb=30,右上角坐标为v*r=50,vyt=90 。在窗口有一点 p(20,30),要将点 p 映射到视区的点 p,请问 p点在设备坐标系中的坐标是多少?此题
3、10 分4、如下表是采用 DDA 算法画出0,0到5,2的直线的数据,请填写空格处。i12*i01yi0yi+0.50.5int(yi+0.5)0.z.-3456234522.525、 三角形 ABC 各顶点的坐标 A(1,2)、 B(5,2)、 C(3,5), 相对直线 Y=4 做对称变换后到达 A、B、C。试计算 A、B、C的坐标值。 要求用齐次坐标进展变换,列出变换矩阵6、试对下列图中的多边形进展裁剪,用图表示裁剪过程。7、计算机图形系统包含哪些外部设备?8、简述消隐算法的分类。9、设窗口左下角点坐标为(*W1,YW1),宽为 LW,高为 HW,视区左下角点坐标为(*V1,YV1),宽为
4、 LV,高为HV,窗口中有一点A(*A,YA),在视区中对应的坐标为A(*A,YA)。试计算 A的坐标值。 要求用齐次坐标进展变换,列出变换矩阵,列出计算式子,不要求计算结果10、采用扫描线算法对多边形进展填充, 请写出 EL、AEL 的构造,并分析扫描线算法的步骤Ao(*W1,YW1)(*V1,YV1)和处理扫描线的步骤。11、种子点填充算法如下: 初始化:种子像素入栈,当栈非空时,重复 24 的步骤 栈顶像素出栈 将出栈像素置为多边形颜色 按右、上、左、下顺序依次检查与 出栈像素相邻的四个像素, 假设其中*个像素不在边界上且未置成多边形色, 则该像素入栈 当堆栈为空时,算法终止试填写堆栈的
5、变化过程复习题参考答案复习题参考答案一、名词解释1、齐次坐标系就是 N 维向量由 N+1 维向量来表示。 一个 N 维向量的齐次坐标表示不惟一, 由哑坐标决定大小。2、光顺性有两条含义:一是指曲线的切矢量和曲率的连续性;另一条是指保凸性。3、种子填充算法根据多边形区域部的一个象素点来找到区域其它象素点,从而对多边形区域部进展填.z.-充。4、镜面反射光一个理想的光泽外表,仅仅在反射角等于入射角时,光线才会被反射。只有在反射方向上,观察者才能看到从镜面反射出来的光线,而在其它方向都看不到反射光。5、投影变换就是把三维立体或物体投射到投影面上得到二维平面图形。6、光线跟踪光线跟踪是自然界光照明物理
6、过程的近似逆过程, 即逆向跟踪从光源发出的光经环境景物间的屡次反射、折射后投射到景物外表,最终进入人眼的过程7、复合变换图形作一次以上的几何变换,变换结果是每次的变换矩阵相乘;任何一复杂的几何变换都可以看作根本几何变换的组合形式。8、走样在光栅显示设备上,由于象素点和象素点之间是离散的, 因此用象素点阵组合出的图形, 与真实景物之间必然存在一定的误差。 比方,直线或曲线往往呈现锯齿状, 细小物体在图上显示不出来等。这种现象就是图形的走样9、几何造型技术研究如何构造直线段、多边形、多面体、多项式曲线、自由曲面等几何模型的理论、方法和技术称为几何造型技术。10、虚拟现实虚拟现实是指用计算机技术来生
7、成一个逼真的三维视觉、 听觉、触觉或嗅觉等感觉世界, 让用户可以从自己的视点出发,利用自然的技能和*些设备对这一生成的虚拟世界客体进展浏览和交互考察。二、简答题1、前截面距离 F 和后截面距离 B 定义了什么?前截面距离 F 和后截面距离 B 分别是从观察参考点VPR 沿观察平面法向 VPN 到前截面和后截面的距离,前截面和后截面将无限的观察空间截成有限的观察空间,即裁剪空间。2、计算机动画的制作主要步骤计算机动画的制作主要包含如下步骤:1)创意。根据设计的需要,由导演设计好动画制作的脚本。2)预处理。扫描外部图像,输入外部资料。3)场景造型。4)设定材质和光源。5)设置动画。6)运动图像的绘
8、制。7)动画播放。8)后处理9)动画的录制。10)配音(包括背景音乐和台词)3、计算机图形显示器和绘图设备表示颜色的方法各是什么颜色系统?它们之间的关系如何?计算机图形显示器是用 RGB 方法表示颜色, 而绘图设备是用 CMY 方法来表示颜色的。 它们之间的关系是:两者都是面向硬件的颜色系统,前者是增性原色系统,后者是减性原色系统,.z.-后者是通过在黑色里参加一种什么颜色来定义一种颜色, 而后者是通过指定从白色里减去一种什么颜色来定义一种颜色4、图形软件主语言的选择应考虑哪些因素?(1)图形处理系统主要应用于工程技术领域,因此应该选择在这些领域中较为通用的高级语言;(2)图形软件包是模块构造
9、,因此最好选择模块化构造的高级语言;(3)图形处理的应用围很广, 需要各方面的软件支持, 因此要选择支持性软件(如数学软件包、数据库管理等)比拟丰富的高级语言;(4)图形处理常常要采用相当复杂的数据构造,因此要选择数据类型比拟灵活和丰富的高级语言;(5)图形处理要和许多图形外部设备打交道,因此要选择输入输出功能比拟强的高级语言;(6)图形处理要求响应速度快,因此又要选择目标程序质量比拟高的高级语言。5、制定 CGI,CGM,IGES 标准的目的分别是什么?制定 CGI 标准的目的是提供控制图形硬件的一种与设备无关的方法。在用户程序和虚拟设备之间, 以一种独立于设备的方式提供图形信息的描述和通信
10、。 它可看作图形设备驱动程序的一种标准。制定 CGM 标准的目的是规定生成、存储、传送图形信息的通用格式。制定 IGES 标准的目的是为了解决在不同图形系统间进展数据传送的问题。6、自由曲面的表示通常有哪两种?自由曲面的表示通常有两种: 一种为参数曲面, 如 Bezier 曲面、 B 样条曲面、 NURBS 曲面等;另一种为隐式曲面。7、什么叫做走样?什么叫做反走样?反走样技术包括那些?答:走样指的是用离散量表示连续量引起的失真。为了提高图形的显示质量。 需要减少或消除因走样带来的阶梯形或闪烁效果, 用于减少或消除这种效果的方法称为反走样。其方法是前滤波,以较高的分辨率显示对象;后滤波,即加权
11、区域取样, 在高于显示分辨率的较高分辨率下用点取样方法计算, 然后对几个像素的属性进展平均得到较低分辨率下的像素属性。8、简述区域连贯性、扫描线的连贯性以及边的连贯性。答:区域连贯性:对于一个多边形及两条扫描线, 会有如下情况:两条扫描线之间的长形区域被多边形的边分割成假设干个梯形, 位于多边形部和外部的梯形相间排列。 扫描线的连贯性:多边形与扫描线相交,其交点数为偶数, 相邻两交点间的线段有些位于多边形,有些位于多边形外,且两者间隔排列。边的连贯性:相邻两条扫描线与多边形的的同一条边相交,其交点可按递增一个常量来计算,如:*2=*1+1,则 y2=y1+1/k (k 为该多边形边的斜率)。9
12、、简述 Bezier 曲线的缺乏之处。答:当 Bezier 曲线的 n 次多项式逼近方法中当 n 较大时,计算量也就迅速增大,而且计算结果也不稳定。同时,其特征多边形的顶点离开得很远, 造型时不利于准确控制。假设是采用插值形式,除了计算量更加庞大以外,曲线的保形性也难以保证。10、建立图形软件可采用哪三种方法?(1)图形程序包(2)修改高级语言(3)专用高级图形语言11、在观察空间中,如何确定投影的类型和方向?.z.-投影类型由参数 pt 可以确定,如果是透视投影,则投影中心就是投影参考点PRP;如果是平行投影,投影方向是从投影参考点PRP 指向窗口中心 CW。其中,投影参考点PRP 是观察坐
13、标系中的三维点。12、简述编码裁剪法即Cohen-Sutherland 线段裁剪法的算法过程。由 Dan Cohen 和 Ivan Sutherland 提出的区域编码判断方法,采用四位数码来标识线段的端点与窗口区域的关系,然后:1检查线段 P1P2 是否为完全可见,或完全不可见,对于这两种情况或完全取之,或完全弃之,否则 2。2找到 P1P2 在窗口外的一个端点 P1或 P2 ;3用窗口的边与 P1P2 的交点取代端点 P1或 P2 ;4P1P2 线段是否完全可见,假设是,则完毕,否则转到2继续执行。三、应用题1、分析边标志算法的实现过程,并写出其算法的C 语言描述。答:边标志算法可以克制象
14、素被重复访问这一缺点。其实现过程分为两步: 1勾画轮廓线,在每条扫描线上建立各区段的边界象素对;2填充这些边界象素之间的全部象素。算法的 C 语言描述如下:# define FALSE 0edgefill(Polydef)对多边形每条边转换;inside=FALSE;for(每条与多边形 Polydef 相交的扫描线)for(扫描线上每个象素点) if象素点被打上边标志 inside=! inside;if (inside!=FALSE) putpi*el(*,y,color);else putpi*el (*,y,bcolor);2、简述深度缓存算法及其特点。答: 深度缓存算法是一种典型的、
15、 也是最简单的图象空间的消隐算法。 在屏幕空间坐标系中,轴为观察方向,通过比拟平行于轴的射线与物体外表交点的值又称为深度值 ,用深度缓存数组记录下最小的值,并将对应点的颜色存入显示器的帧缓存。深度缓存算法最大的优点是简单。它在、方向上都没有进展任何排序,也没有利用任何相关性。算法复杂性正比于。在屏幕大小,即一定的情况下,算法的计算量只与多边形个数成正比。另一个优点是算法便于硬件实现,并可以并行化。3、假设在观察坐标系下窗口区的左下角坐标为 w*l=10,wyb=10,右上角坐标为w*r=50,wyt=50 。设备坐标系中视区的左下角坐标为v*l=10,vyb=30,右上角坐标为v*r=50,v
16、yt=90 。在窗口有一点 p(20,30),要将点 p 映射到视区的点 p,请问 p点在设备坐标系中的坐标是多少?此题10 分解: 1 将窗口左下角点10,10平移至观察坐标系的坐标原点,平移矢量为-10,-10 。 2 针对坐标原点进展比例变换,使窗口的大小和视区相等。比例因子为: S*=(50-10)/(50-10)=1; Sy=(90-30)/(50-10)=1.5。 3 将窗口的点映射到设备坐标系的视区中, 再进展反平移, 将视区的左下角点移回到设备坐.z.-标系中原来的位置10,30 ,平移矢量为10,30 。p点在设备坐标系中的坐标是20,60 。4、如下表是采用 DDA 算法画
17、出0,0到5,2的直线的数据,请填写空格处。i123456解:i123456*i012345yi00.40.81.21.62yi+0.50.50.91.31.72.12.5int(yi+0.5)001122*i012345yi02yi+0.50.52.5int(yi+0.5)025、 三角形 ABC 各顶点的坐标 A(1,2)、 B(5,2)、 C(3,5), 相对直线 Y=4 做对称变换后到达 A 、B 、C 。试计算 A 、B 、C的坐标值。 要求用齐次坐标进展变换,列出变换矩阵解:1将坐标系平移至 P1 (0,4)点2 以*轴对称3将坐标系平移回原处1000100814 变换矩阵:T=T
18、A*TB*TC=5 求变换后的三角形ABC 各顶点的坐标 A 、B 、CXAA:YA1001121T 121010161081*A=1, Y A=6XBB:YB1510021T 521010561081*B=5, Y B=6XCC:YC1001351T 351010331081*A=3, Y A=3.z.-6、试对下列图中的多边形进展裁剪,用图表示裁剪过程。依次用窗口的左、上、右、下四条边界进展裁剪:7、计算机图形系统包含哪些外部设备?图形输入设备:概念、特点图形显示设备:概念、构造原理、工作方式、特点图形绘制设备:概念、特点8、简述消隐算法的分类。答:1物体空间的消隐算法:物体空间是物体所在
19、的空间,即规化投影空间。这类算法是将物体外表上的个多边形中的每一个面与其余的每条边或每个面的遮挡关系。计算量正比于。个象素点,物个面进展比拟,准确求出物体上2图象空间的消隐算法:图象空间就是屏幕坐标空间,这类算法对屏幕的每一象素进展判断,以决定物体上哪个多边形在该象素点上是可见的。假设屏幕上有体外表上有个多边形,在该类消隐算法计算量正比于。9、设窗口左下角点坐标为(*W1,YW1),宽为 LW,高为 HW,视区左下角点坐标为(*V1,YV1),宽为 LV,高为HV,窗口中有一点A(*A,YA),在视区中对应的坐标为A(*A,YA)。试计算 A的坐标值。 要求用齐次坐标进展变换,列出变换矩阵,列
20、出计算式子,不要求计算结果Ao(*W1,YW1)(*V1,YV1)1TA0XW1解:1将坐标系平移至*W1,YW1点:01YW1001 LvLwTB0 0 2作比例变换:0HvHw000101YV10011Tc 0XV1 3将坐标系平移至视区左下角*V1,YV1 :.z.-5变换矩阵为:T=TA*TB*TC*TD cosTDsin0 4旋转视区度:sincos0001XY1 XY1 TAAAA 6求变换后的 A点:10、采用扫描线算法对多边形进展填充, 请写出 EL、AEL 的构造,并分析扫描线算法的步骤和处理扫描线的步骤。答:活化边 AET:指与当前扫描线相交的多边形的边,也称为活性边。Ym
21、a*(即 1/k)边的分类表 ET:把有效边按与扫描线交点*坐标递增的顺序存放在一个链表中,此链表称为有效边表。有效边表的每个结点:Yma*1/k ne*t算法步骤:(1)确定多边形所占有的最大扫描线数, 得到多边形顶点的最小和最大y 值 ymin 和 yma* 。(2)从 y=ymin 到 y=yma*,每次用一条扫描线进展填充。(3)对一条扫描线填充的过程可分为四个步骤:a.求交b.排序c.交点配对d.区间填色11、解:堆栈变化过程如下:1(2,3)2(2,2), (3,3), (2,4), (1,3)3(2,2), (3,3), (2,4), (1,2) (1,4)4(2,2), (3,3), (2,4), (1,2)5(2,2), (3,3), (2,4), (2,2)6(2,2), (3,3), (2,4), (2,1), (3,2)7(2,2), (3,3), (2,4), (2,1), (3,3,)8(2,2), (3,3), (2,4), (2,1)9(2,2), (3,3), (2,4)10(2,2), (3,3)11(2,2).z.