计算机图形学基础期末练习题_第1页
计算机图形学基础期末练习题_第2页
计算机图形学基础期末练习题_第3页
计算机图形学基础期末练习题_第4页
计算机图形学基础期末练习题_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1. 计算机图形学是研究怎样用计算机 表示 、 生成 、 处理 和 显示 图形的一门学科。2. 构成图形的要素包括 几何要素 :刻画对象的轮廓、形状等和 非几何要素 :刻画对象的颜色、材质等。3. 图形主要分为两类, 基于线条信息表示 和 明暗图(Shading) 。4. 20世纪60年代末和70年代初,美国Tektronix公司发展了 存储管技术 ,后来由于大规模集成电路技术的发展和专用图形处理芯片的出现, 光栅扫描型 显示器的质量越来越好,价格越来越低,已成为图形显示器的常规形式。5. 图形输入和输出设备可以分为 矢量型 和 光栅扫描型 两类。6. 为了在帧缓存单元的位数不增加的情况下,具

2、有大范围内挑选颜色的能力,可以采用 颜色查找表 ;高分辨率和高刷新频率要高带宽,解决方法可以采用 隔行扫描 (现在已经基本不用,主流显示器都采用逐行扫描方式)。7. 在计算机图形学中,字符可以用不同的方法表达和生成,常用的描述方法有 点阵式字符 、 矢量式字符 、 方向编码式字符 和 轮廓字形技术 。8. 求交问题可以分为两类: 求交点 和 求交线 。9. 图形变换及可以看作是 图形不动而坐标系变动 ,变动后该图形在新的坐标系下具有新的坐标值;也可以看作是 坐标系不动而图形变动 ,变动后的图形在坐标系中的坐标值发生变化。 10. 用户域 是程序员用来定义草图的整个自然空间(WD), 窗口区 是

3、用户指定的任一区域(W), 屏幕域 是设备输出图形的最大区域(DC), 视图区 是任何小于或等于屏幕域的区域(v)。11. 屏幕坐标 系统也称 设备坐标 系统,它主要用于某种特殊的计算机图形显示设备的表面的点的定义。12. 平行投影根据 标准线与投影面的交角不同 可以分为 正交平行 投影和 斜交平行 投影。13. 在交互输入过程中,图形系统中有_请求 、 采样 、 事件 和它们的组合形式等几种输入(控制)模式。14. 图段 是GKS图形标准中采用的基本数据结构, 结构 则是PHIGS图形标准中所采用的基本数据结构。15. 线消隐 是以场景中的物体为处理单元,将一个物体与其余的k1个物体逐一比较

4、,仅显示它可见的表面以达到消隐的目的。此类算法通常用于 消除隐藏线 , 面消隐藏 是以窗口内的每个像素为处理单元,确定在每一个像素处,场景中的物体哪一个距离观察点最近(可见),从而用它的颜色来显示该像素。此类算法通常用于 消除隐藏面 。16. 图形 是计算机图形学的研究对象,是能在人的视觉系统中产生视觉印象的客观对象,包括自然景物、拍摄到的图片、以及用 数学 方法描述的图形等等。17. 计算机中表示图形的方法包括 点阵表示 :枚举出图形中所有的点(强调图形由点构成),简称为图像(数字图像); 参数表示 :由图形的形状参数(方程或分析表达式的系数,线段的端点坐标等)+属性参数(颜色、线型等)来表

5、示图形,简称为图形。18. 计算机图形学的研究起源于美国 麻省理工学院 ,在美国工业界,研制交互式图形显示器的工作在初期起作用最重要的是 IBM公司 。19. 计算机图形学的应用领域主要有 用户接口 、 计算机辅助设计与制造 、 地形地貌和自然资源图 、 计算机动画和艺术 、 科学计算可视化 和 游戏 等几个方面。20. 常用的图形绘制设备也称为硬复制设备有 打印机 和 绘图仪 。21. 液晶显示器与其他显示器不同,它是由 6 层薄板组成的平板式显示器;等离子显示器是用许多 小氖气灯泡 构成的平板阵列,每个灯泡处于开或关状态,等离子板不需要刷新。22. 求交运算是比较复杂的,在进行真正的求交计

6、算之前,往往先用 凸包 等辅助结构进行粗略地比较,排除那些显然不相交的情形;在数学上两个浮点数可以严格相等,但在计算机内表示时有误差,相应地,求交运算中也要引入 容差 。 23. 假设直线的端点为P1、P2,则直线可以用向量形式表示为P(t) = A + Bt, 0t1;其中,A= p1 ,B= p2-p1 。24. 齐次坐标表示就是用 n+1 维向量表示n维向量,如n维向量(P1,P2,Pn)表示为(hP1,hP2,hPn,h),其中h称为哑坐标,当h=1时产生的齐次坐标称为 规格化坐标 ,因为前n个坐标就是普通坐标系下的n维坐标。25. 基本的几何变换研究物体坐标在直角坐标系内的 平移 、

7、 旋转 和 变比 的规律。26. 平面几何投影根据 投影线角度的不同可以分为 平行投影 和 透视投影 。27. PHIGS和GKS将各种图形输入设备从逻辑上分为六种:定位设备、笔划设备、 定值设备 、 选择设备 、 拾取设备 和 字符串设备 。28. 交互技术 指使用输入设备进行输入的技术,常见的有 定位技术 、 橡皮条技术 、拖拽技术 、 菜单技术 、 定值技术 、 拾取技术 、 网格与吸附技术 ,这些技术可作为设计应用系统用户接口的基本要素。29. 构成结构的基本的数据实体称为 结构元素 ,它用来表示应用问题所需要的各种几何与非几何数据,其中 控制结构元素 用来把若干结构相互联系起来构成一

8、个结构网络。30. 光照模型分3个部分描述物体表面的色彩明暗同光源特性、物体表面特性之间的关系,即 漫射光线情况 、 直线光线情况 和 透射光线情况 。1. 计算机图形:用计算机表示、生成、处理和显示的对象。由几何数据和几何模型利用计算机进行存储、显示,并修改、完善后形成。2. 直线光栅化:在光栅显示器的荧光屏上生成一个对象,实质上是往帧暂存寄存器的相应单元中填入数据;画一条直线,实质上是发现最佳逼近该直线的像素序列、并填入色彩数据的过程,这个过程也称为直线光栅化。3. 四连通区域:从区域内任意一点出发,可通过上、下、左、右四个方向到达区域内的任意象素。4. 点阵式字符:点阵式字符将字符形状表

9、示为一个矩形点阵,由点阵中点的不同值表达字符的形状。5. 视区:在规格化设备坐标系上要指定一个矩形区域与窗口对应,显示窗口里的内容,在规格化设备坐标系中的这个矩形被称为视区。6. 主灭点:平行于坐标轴的平行线产生的灭点。7. WDSS:与某个图形外部设备相对应的缓冲存储器,称为依靠工作站的图段存储器(Workstation Dependent Segment Storage),简称WDSS。8. 图文件:图文件(metafile)是图形信息的长期存储文件,可以作为一种特殊种类的工作站来处理,而且也是图形软件和其他软件之间的数据接口。9. 半影:半影指的是景物表面上那些被某些特定光源(或特定光源

10、的一部分)直接照射但并非被所有特定光源直接照射的部分。10. 光线跟踪:光线跟踪方法沿着到达视点的光线的反方向跟踪,经过屏幕上每一像素,找出与视线所交的物体表面点P0,并继续跟踪,找出影响P0点光强的所有光源,从而算出P0点上光照强度。11. 阴极射线管:阴极射线管通常利用电磁场产生高速的、经过聚焦的电子束,使其偏转到屏幕的不同位置,以轰击屏幕表面的荧光材料,而产生可见图形。12. 区域填充:区域填充即给出一个区域的边界,要求对边界范围内的所有像素单元赋予指定的颜色代码。区域填充中最常用的是多边形填色。13. 八连通区域:从区域内任意一点出发,可通过上、下、左、右、左上、左下、右上、右下八个方

11、向到达区域内的任意象素。14. 矢量式字符:矢量式字符将字符表达为点坐标的序列,相邻两点表示一条矢量,字符的形状便由矢量序列刻画。15. 灭点:不平行于投影平面的平行线,经过透视投影之后收敛于一点,称为灭点。16. 菜单技术:菜单是一种很重要的交互技术,它可用于指定命令、确定操作对象或选定属性等多中选一的场合。17. WISS:同工作站独立的图段存储器(Workstation Independent Segment Storage),简称WISS。18. 本影:本影即景物表面上那些没有被光源(景物中所有特定光源的集合)直接照射的部分。19. 光照模型:光照模型(Illumination Mod

12、el)描述物体表面的色彩明暗同光源特性、物体表面特性之间的关系。20. 格拉斯曼(Grassmann H.)定律:从视觉的角度看,颜色包含3个要素,即色调(hue)、饱和度(saturation)和亮度(brightness)。分别对应光学中的术语:主波长(dominant wavelength)、纯度(purity)和辉度(luminance)。1 简述数字成像的一般处理过程。答:(1)建立模拟对象的几何模型,按照需要的逼近精度将模型简化为平面多面体。不少系统为了简化、统一运算过程,还进一步将多面体的各个棱面分解为三角形单元;(2)将单个物体进行组装,施加平移、旋转和比例变换等操作,形成整体

13、模拟环境;(3)确定观察点位置,进行显示对象的透视变换;(4)确定显示范围,相当于照相时的取景。窗口的有效范围用上、下、左、右、前、后6个平面规定。将所有准备输出的图元与窗口范围进行比较,剪裁出落在窗口有效边界以内的部分;(5)确定图形显示器屏面上的显示范围(称做视区),将用户定义的三维空间(称做世界坐标系)内的物体映射到显示器的屏面坐标系中;(6)计算各单元三角形的法向矢量,根据光照模型确定可见三角形表面的亮度和色彩;(7)显示所有可见的三角形单元。2 简述扫描线填色算法(区域填充)的基本思想,指出需要解决和改进之处并加以解决和改进。答:多边形以n、x_array、y_array的形式给出,

14、其中,x_array、y_array中存放着多边形的n个顶点的x,y坐标。用水平扫描线从上到下扫描由点线段构成的多段定义成的多边形。每根扫描线与多边形各边产生一系列交点。这些交点按照x坐标进行排序,将排序后的交点成对取出,作为两个端点,以所需要填的色彩画水平直线。多边形被扫描完毕后,填色也就完成。上述基本思想中,有几个问题需要解决或改进: 左、右顶点处理。当以1、2、3的次序画多边形外框时,多边形的左顶点和右顶点如图中所示的顶点2。它们具有以下性质。左顶点2:y1<y2<y3;右顶点2:y1>y2>y3;其中y1、y2、y3是3个相邻的顶点的y坐标。当扫描线与多边形的每

15、个顶点相交时,会同时产生2个交点。这时,填色就会因扫描交点的奇偶计数出错而出现错误。因此,对所有左、右顶点作如下处理:左、右顶点的入边(以该顶点为终点的那条边,即12边)之终点删去。对于左顶点,入边端点(x1, y1)、(x2, y2)修改为(x1, y1)、(x2-1/m, y2-1);对于右顶点,入边端点(x1, y1)、(x2, y2)修改为(x1, y1)、(x2+1/m, y2+1);其中m= y2- y1/ x2- x1,即入边的斜率。对于多边形的上顶点(y2>y1、y2>y3)或下顶点(y2<y1、y2<y3),奇偶计数保持正确。 水平边处理。水平边(y1

16、=y2)与水平扫描线重合无法求交点。因此,将水平边画出后删去,不参加求交点及求交点以后的操作。 扫描线与边的求交点方法采用递归算法。以(x1, y1)、(x2, y2)为端点的边与第i+1条扫描线的交点为 减少求交计算量,采用活性边表。对于一根扫描线而言,与之相交的边只占多边形全部边的一部分,每根扫描线与多边形所有边求交的操作是一种浪费,需要加以改进。活性边表(Active List of Side)的采用将多边形的边分成两个子集:与当前扫描线相交的边的集合,以及与当前扫描线不相交的边的集合。对后者不必进行求交运算,这样就提高了算法的效率。3 写出图段定义,数据结构及其常见属性。答:图形学软件

17、在输出基元和画面之间设置一个中间数据结构,称为图段(Segment)。图段是由一组输出基元和一组性质(Attribute of Segment)所构成的集合。可以表示为:Segment = Id, primitives, S-attributes 图段的数据结构 图段的数据结构可分为两个部分:1.图段头(head of segment)包括图段名、图段的性质以及指向图段体的指针;2. 图段体(body of segment) 一张线性表,其中每一个结点是构成该图段的一个基元。图段的常见性质如下: 可见性 优先度 突出性 变换矩阵。4 试画出GKSM的结构示意图。5 试阐述深度缓存(Z-buff

18、er)算法基本思想和步骤。答:帧缓冲器 保存各像素颜色值(CB) z缓冲器 -保存各像素处物体深度值(ZB) z缓冲器中的单元与帧缓冲器中的单元一一对应思路:先将z缓冲器中个单元的初始值置为+Zmax (大于场景中的所有Z值)。当要改变某个像素的颜色值时,首先检查当前多边形的深度值是否小于该像素原来的深度值(保存在该像素所对应的Z缓冲器的单元中),如果小于,说明当前多边形更靠近观察点,用它的颜色替换像素原来的颜色;否则说明在当前像素处,当前多边形被前面所绘制的多边形遮挡了,是不可见的,像素的颜色值不改变。 Z-buffer算法的步骤如下: 初始化ZB和CB,使得ZB(i, j)=Zmax,CB

19、(i, j)=背景色。其中,i=1, 2, , m,j=1, 2, , n。 对多边形a,计算它在点(i, j)处的深度值zi, j。 若zij<ZB(i, j),则ZB(i, j)=zij,CB(i, j)=多边形a的颜色。 对每个多边形重复、两步。最后,在CB中存放的就是消隐后的图形。6 阴极射线管(CRT)的从结构上看,分为哪几部分?请简述各部分的功能。(5分)答:阴极射线管主要组成部分如下: 阴极 当它被加热时,发射电子。 控制栅 控制电子束偏转的方向和运动速度。 加速结构 用以产生高速的电子束。 聚焦系统 保证电子束在轰击屏幕时,汇聚成很细的点。 偏转系统 控制电子束在屏幕上的

20、运动轨迹。 荧光屏 当它被电子轰击时,发出亮光。所有这些部件都封闭在一个真空的圆锥形玻璃壳内,其结构如图所示:阴极射线管的组成7 根据下图阐述Cohen-Sutherland直线剪裁算法。(8分)答:Cohen-Sutherland直线剪裁算法以区域编码为基础,将窗口及其周围的8个方向以4 bit的二进制数进行编码。图所示的编码方法将窗口及其邻域分为5个区域: 内域:区域(0000)。 上域:区域(1001, 1000, 1010)。 下域:区域(0101, 0100, 0110)。 左域:区域(1001, 0001, 0101)。 右域:区域(1010, 0010, 0110)。 当线段的两

21、个端点的编码的逻辑“与”非零时 ,线段为显然不可见的。对某线段的两个端点的区号进行位与运算,可知这两个端点是否同在视区的上、下、左、右;算法的主要思想是,对每条直线P1P2: 对直线两端点P1、P2编码分别记为C1(P1)=a1, b1, c1, d1,C2(P2)=a2, b2, c2, d2其中,ai、bi、ci、di取值范围为1, 0,i1, 2。 如果ai=bi=ci=di=0,则显示整条直线,取出下一条直线,返步骤(1)。否则,进入步骤(3)。如果|a1-a2|=1,则求直线与窗上边(y=yw-max)的交点,并删去交点以上部分。如果|b1-b2|=1,|c1-c2= |1,|d1-

22、d2|=1,作类似处理。a) 返步骤(1)。8 写出用户定义的二维图元的窗口区到视图区的输出过程。(5分)答:应用程序得到的坐标(UC)®对窗口区进行裁剪(WC)®窗口区到视图区的规格化变换(NDC)®视图区的规格化坐标系到设备坐标系的变换(DC)®调用基本图元生成算法在图形设备上输出图形。9 试画出CGM图形元文件结构。(4分)10 试阐述在面消隐中采用区域排序算法的基本思想和步骤。(8分)在图象空间中,将待显示的所有多边形按深度值从小到大排序,用前面可见多边形去切割后面的多边形,最终使得每个多边形要么是完全可见,要么是完全不可见。用区域排序算法消隐,

23、需要用到一个多边形裁剪算法。当对两个形体相应表面的多边形进行裁剪时,我们称用来裁剪的多边形为裁剪多边形,另一个多边形为被裁剪多边形。算法要求多边形的边都是有向的,不妨设多边形的外环总是顺时针方向的,并且沿着边的走向,左侧始终是多边形的外部,右侧是多边形的内部。若两多边形相交,新的多边形可以用“遇到交点后向右拐”的规则来生成。于是被裁剪多边形被分为两个乃至多个多边形;我们把其中落在裁剪多边形外的多边形叫作外部多边形;把落在裁剪多边形之内的多边形叫作内部多边形。算法的步骤: 进行初步深度排序,如可按各多边形z向坐标最小值(或最大值、平均值)排序。 选择当前深度最小(离视点最近)的多边形为裁剪多边形

24、。 用裁剪多边形对那些深度值更大的多边形进行裁剪。 比较裁剪多边形与各个内部多边形的深度,检查裁剪多边形是否是离视点最近的多边形。如果裁剪多边形深度大于某个内部多边形的深度,则恢复被裁剪的各个多边形的原形,选择新的裁剪多边形,回到步骤再做,否则做步骤。 选择下一个深度最小的多边形作为裁剪多边形,从步骤开始做,直到所有多边形都处理过为止。在得到的多边形中,所有内部多边形是不可见的,其余多边形均为可见多边形。1 试根据下图推导直线Bresenham算法位于1a象限的情况(要求写清原理、误差函数和递推公式),分析算法效率并论述如何将1a象限的情况推广到其它象限。解:设直线从起点(x1, y1)到终点

25、(x2, y2)。直线可表示为方程y=mx+b,其中b=y1-m*x1 ,m=(y2-y1)/(x2-x1)=dy/dx;此处的讨论先将直线方向限于1a象限,在这种情况下,当直线光栅化时,x每次都增加1个单元,即xi+1 = xi + 1,而y的相应增加值应当小于1。为了光栅化,yi+1只可能选择图中两种位置之一。yi+1的位置选择yi+1 =yi或者yi+1=yi+1,选择的原则是看精确值y与yi及yi+1的距离d1及d2的大小而定。计算公式为 y = m(xi + 1) + b (1) d1 = y - yi (2) d2 = yi +1 - y (3)如果d1-d2>0,则yi+1

26、=yi+1,否则yi+1=yi。将式(1)、(2)、(3)代入d1-d2,再用dx乘等式两边,并以Pi=(d1-d2) dx代入上述等式,得Pi = 2xidy-2yidx+2dy+(2b-1) dx (4)d1-d2是用以判断符号的误差。由于在1a象限,dx总大于0,所以Pi仍旧可以用作判断符号的误差。Pi+1为Pi+1 = Pi+2dy-2(yi+1-yi) dx (5)求误差的初值P1,可将x1、y1和b代入式(2.4)中的xi、yi而得到 P1 = 2dy-dx综述上面的推导,第1a象限内的直线Bresenham算法思想如下: 画点(x1, y1),dx=x2-x1,dy=y2-y1,

27、计算误差初值P1=2dy-dx,i=1; 求直线的下一点位置 xi+1 = xi + 1 如果Pi>0,则yi+1=yi+1,否则yi+1=yi; 画点(xi+1, yi+1); 求下一个误差Pi+1,如果Pi>0,则Pi+1=Pi+2dy-2dx,否则Pi+1=Pi+2dy; i=i+1;如果i<dx+1则转步骤2;否则结束操作。Bresenham算法的优点如下: 不必计算直线的斜率,因此不做除法。 不用浮点数,只用整数。 只做整数加减运算和乘2运算,而乘2运算可以用移位操作实现。Bresenham算法的运算速度很快,并适于用硬件实现。讨论:以上讨论的是 0yx 的情况,对

28、于适用所有8个方向的直线(图2.1)的生成算法,则要考虑以判断条件|dx|>|dy|为分支,并分别将2a、3a象限的直线和3b、4b象限的直线变换到1a、4a和2b、1b象限方向去,以实现程序处理的简洁。2. 试根据下图推导直线DDA算法(要求写清原理和递推公式),用伪代码描述直线DDA算法并分析算法效率。解:假设 直线的起点坐标为P1 (x1,y1),终点坐标为P2 (x2,y2)。x方向的增量为 xx2x1 ;y方向上增量为 yy2y1;直线的斜率为 kyx。当 xy 时,让 x 从 x1 到 x2 变化,每步递增 1,那么,x 的变化可以表示为 xi+1xi1,y 的变化可以表示为

29、 yi+1yik用上式可求得图中直线 P1P2 和 y向网格线的交点,但显示时要用舍入找到最靠近交点处的象素点来表示。当 x<y 时,让 y 递增 1,x作相应变化。综合考虑,按照从(x1, y1)到(x2, y2)方向不同,分8个象限(见图)。对于方向在第1a象限内的直线而言,取增量值Dx=1,Dy=m。对于方向在第1b象限内的直线而言,取增量值Dy=1,Dx=1/m。象 限 dx|>|dy|? DxDy1a true 1 m1b false 1/m 12a true -1 m2b false -1/m 13a true -1 -m3b false -1/m -14a true

30、1 -m4b false 1/m -1研究表中的数据,可以发现两个规律。 当|dx|>|dy|时|Dx| = 1,|Dy| = m否则|Dx| = 1/m,|Dy| = 1 Dx、Dy的符号与dx、dy的符号相同。算法描述如下:dda_line(xa, ya, xb, yb, c)int xa, ya, xb, yb, c;float delta_x, delta_y, x, y;int dx, dy, steps, k;dx=xb-xa;dy=yb-ya;if(abs(dx)>abs(dy)steps=abs(dx);else steps=abs(dy);delta_x=(flo

31、at)dx/(float)steps;delta_y=(float)dy/(float)steps;x=xa;y=ya;set_pixel(x, y, c);for(k=1;k<=steps;k+)x+=delta_x;y+=delta_y;set_pixel(x, y, c);使用DDA算法,每生成一条直线做两次除法,画线中每一点做两次加法。因此,用DDA法生成直线的速度是相当快的。1 假设两条直线的端点分别为P1、P2和Q1、Q2,利用直线段的向量参数方程和向量的基本性质求这两条直线段的交点。解:假设两条直线的端点分别为P1、P2和Q1、Q2,则直线可以用向量形式表示为P(t) = A + Bt, 0t1;Q(s) = C + Ds, 0s1;其中,A=P1,B=P2-P1,C=Q1,D=Q2-Q1。构造方程A + Bt = C + Ds。对三维空间中的直线段来说,上述方程组实际上是一个二元一次方程组,由3个方程式组成。可以从其

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论