第1页共7页一、填空题(每空1.5分,共24分)1.透视投影中主灭点最多可以有3个.2.在几何造型系统中,描述物体的三维模型有线框、表面和实体模型。而实体模型的表示基本上可以分为分解表示、构造表示和边界表示三大类。3.在凸多面体消隐算法中,凸多面体的任一个面,可以根据其外法矢量N和视矢量S的夹角θ来进行可见性检测。若θ满足90°时,表示该表面不可见,此时N和S的关系是N·S0。4.试例举面消隐的至少2种常用算法:区域排序算法、Z-Buffer算法、扫描线算法。5.在如下的分形造型中,图形的分形维数为ln4/ln3。6.曲线间连接的光滑度的度量有参数连续和几何连续,这两种连续的关系是参数连续必同阶几何连续,反之不然。7.双三次Bezier曲面的控制网格有16个顶点。8.增量式光照明模型包括两个主要的算法双线性光强插值、双线性法向插值。1,计算机图形系统由硬件系统和软件系统组成。2,扫描仪最重要的参数是光学精度和扫描精度。3,常用的直线生成算法:Bresenham和DDA。4,在计算机图形学中,被裁剪的对象可以是线段、多边形和字符。5,曲线、曲面的表示有显式、隐式和参数三种形式。6,深度缓冲器算法是一种最简单的消除隐藏的算法。7,深度缓冲器算法最简单常用的面向应用的用户接口形式:子程序库、专用语言、交互命令。8,把三维物体变为二维图形表示的过程叫做投影变换。第2页共7页9,直线段与规则矩形的关系:(1)线段两端点均位于裁剪窗口内(2)线段两端点均在窗口之外,且位于裁剪窗口的同一侧(3)线段两端点在窗口之外,而不位于裁剪窗口的同一侧(4)线段的两端点一个位于窗口之内,一个位于窗口之外10,图形数据按照目的不同一般可以分为图形的表示数据和图形的显示数据。11,计算机图形的生成过程一般可分为图形的表示、表示图形的数据准备、图形的显示。12,通过增加帧缓冲存储器的位面和帧缓存数量,就可以让光栅显示器显示彩色或不同级别的灰度。13,颜色的三原色为:红(Red)、绿(Green)、蓝(Blue)。-------[备注:绘画中的三原色是指红、黄、蓝;电脑、电视等的三原色是红、绿、蓝(RGB)。]14,物理交互设备包括输入板,光笔,游戏杆,鼠标,控制旋钮,功能开关和按钮,数据手套,触摸屏以及最常用的字母数字键盘等等15,图形用户界面的基本元素有窗口、图标、菜单、指点装置。二、判断题(2分×10=20分)1.透视投影和平行投影的区别是投影方向是否垂直于投影面;(×)2.正平行投影的三视图是指主视图、俯视图、侧视图;(√)3.使用齐次坐标可以表示无穷远点;(√)4.平移变换不改变图形大小和形状,只改变图形位置;(√)5.错切变换虽然可引起图形角度的改变,但不会发生长度变化;(×)6.凹多面体的隐藏线消除比凸多面体的隐藏线消除要简单;(×)7.Bezier曲线的次数由其控制点的个数确定;(√)8.Bezier样条曲线的起点、终点与其控制多边形的起点、终点重合;(√)第3页共7页9.Bezier样条曲线位于其控制多边形构成的凸包内;(√)10.计算机显示设备一般使用的颜色模型是HSV。(×)四、用Bresenham画线算法画出从点(1,1)到点(8,5)的像素位置,并给出推断理由。(12分)答:首先计算初始值。在这个问题中,∆x=x1x0=81=7,∆y=y1–y0=51=4,因此,∆1=2∆y=8,∆2=2(∆y∆x)=6,P0=2∆y∆x=87=1由算法算出的值如下表,对应的像素位置如右图:五、简述种子点扫描线填充算法;并对下图中的区域,已知●为边界点,○为种子点,按4连通种子填充算法给出像素点填充的顺序。(12分)答:种子点扫描线填充算法如下:步骤1:将算法设置的堆栈置为空。将给定的种子点(x,y)压入堆栈。步骤2:从种子点(x,y)开始,沿当前扫描线向左右两个方向逐个像素用新的颜色值进行填充,直到边界为止。设区间两边界的横坐标分别为xleft和xright。步骤3:在与当前扫描线相邻的上下两条扫描线上,以区间[xleft,xright]为搜索范围,求出需要填充的各小区间,把各小区间中最右边的点并作为种子点压入堆栈。步骤4:如果堆栈为空,算法结束;否则取栈顶元素(x,y)作为种子点,转步骤2。上图中,按从上至下,从左至右的顺序将种子点压入堆栈进行填充。其中1,7,9,11,12均为种子点。Pixy1111+∆2=5225+∆1=3323+∆2=3433+∆1=5535+∆2=1641+∆1=7747+∆2=185●●●●●●●●●●●○●●●●●●●●●●●第4页共7页七、简述消隐算法中的Z-buffer算法。(10分)答:Z-Buffer算法需要建立两个缓冲器:一个是深度(Z)缓冲器,另一个是帧缓冲器。深度缓冲器,用于记录立体上每一个像素的深度值(ZB),初始化为立体的最小深度值。帧缓冲器,用于记录立体上每个像素点的颜色值(CB)。Z缓冲器中的单元与帧缓冲器中的单元一一对应。将z缓冲器中各单元的初始值置为-1(规范视见体的最小n值)。当要改变某个像素的颜色值时,首先检查当前多边形的深度值是否大于该像素原来的深度值(保存在该像素所对应的Z缓冲器的单元中),如果大于,说明当前多边形更靠近观察点,用它的颜色替换像素原来的颜色;否则说明在当前像素处,当前多边形被前面所绘制的多边形遮挡了,是不可见的,像素的颜色值不改变。简答题1,计算机图形学的应用领域有哪些,举例说明。(1)用户接口。(2)计算机辅助设计与制造。(3)科学、技术及事务管理中的交互绘图。(4)绘制勘探、测量图形。(5)过程控制及系统环境模拟。(6)电子印刷及办公室自动化。(7)艺术模拟。(8)科学计算的可视化。2,简述光栅扫描式图形显示器的基本原理。光栅扫描式图形显示器(简称光栅显示器)是画点设备,可看作是一个点阵单元发生器,并可控制每个点阵单元的亮度,它不能直接从单元阵列中的—个可编地址的象素画一条直线到另一个可编地址的象素,只可能用尽可能靠近这条直线路径的象素点集来近似地表示这条直线。光栅扫描式图形显示器中采用了帧缓存,帧缓存中的信息经过数字/模拟转换。能在光栅显示器上产生图形。3,什么是图形扫描转换?确定最佳逼近图形的象素集合,并用指定的颜色和灰度设置象素的过程称为图形的扫描转换或光栅化。对于一维图形,在不考虑线宽时,用一个象素宽的直线或曲线来显示图形。二维图形的光栅化必须确定区域对应的象素集,将各个象素设置成指定的颜色和灰度,也称之为区域填充4,什么是用户域?用户域是指程序员用来定义草图的整个自然空间。人们所要描述的图形均在用户域中进行定义。理论上说用户域是连续无限的。5,什么是窗口区?窗口区是把用户指定的任意的用户域的一个部分叫做窗口区。第5页共7页论述题,直线生成算法中数字微分分析法的原理和步骤答:(仅供参考)DDA算法是基于数字微分思想的直线声成算法,基本思想:已知过端点P0(x0,y0),P1(x1,y1)的直线段L当|k|1时,必须把x,y地位互换这种方法直观,但效率太低,因为每一步需要一次浮点乘法和一次舍入运算。2,论述圆的Bresenham算法的原理,方法和步骤答:Bresenham画圆算法是在每一步考察两个可能的像素点中哪一个更靠近理论圆周,从而推出沿圆周的整数位置。基本思想:通过比较像素与圆的距离平方来避免开方运算。基本方法:每一步都选择一个离开实际圆周最近的点Pi(xi,yi)使其误差项最小。设圆之半径为r。先考虑圆心在(0,0),并从x=0,y=r开始的顺时针方向的1/8第6页共7页圆周的生成过程。在这种情况下,x每步增加1,从x=0开始,到x=y结束。即有:xi+1=xi+1相应的yi+1则在两种可能中选择:pi称为误差。如果pi0则yi+1=yi,否则yi+1=yi-1。pi的递归式为:pi+1=pi+4xi+6+2(yi2+1-yi2)-2(yi+1-yi)(2)pi的初值由式(2.6)代入xi=0,yi=r而得p1=3-2r(3)根据上面的推导,圆周生成算法步骤为:1、求误差初值,p1=3-2r;i=1;画点(0,r);2、求下一个光栅位置:xi+1=xi+1;ifpi0则yi+1=yi;否则yi+1=yi-1;3、画点(xi+1,yi+1)第7页共7页4、计算下一个误差:ifpi0则pi+1=pi+4xi+6;否则pi+1=pi+4(xi-yi)+10;5、i=i+1;ifx=y则end;否则返2。虽然式(2)式表示pi+1的算法似乎很复杂,但因为yi+1只能取值yi或yi-1,因此在算法中,第4步的算式变得很简单,只须作加法和4的乘法。因此圆的Bresenham算法运行速度也是很快的,并适宜于硬件实现。选择题