《计算机图形学》思考练习题第一章计算机图形学概论1.比较计算机图形学与图象处理技术相同点和不同点。计算机图形学是研究怎样用数字计算机生成、处理和显示图形的一门学科。图像处理技术研究如何对连续图像取样、量化以产生数字图像,如何对数字图像做各种变换以方便处理,如何滤去图像中的无用噪声,如何压缩图像数据以便存储和传输,图像边缘提取,特征增强和提取。2.列举三个计算机图形的应用实例。勘探、绘制地形地貌,系统模拟,虚拟现实。辅助教学设计。3.简述计算机图形学发展动向。造型技术—真实图形生成技术—人机交互技术—基于网络的图形技术第二章计算机图形系统概述1.叙述计算机图形系统的基本功能。输入、输出、计算、存储、对话他的基本功能是帮助人们设计、分析、采集、存贮图形、视频甚至音乐等信息。2.输入设备可有哪几种逻辑功能?请举出各自对应的物理设备。.定位(locator):指定一个坐标点。对应的物理设备有鼠标器、键盘、数字化仪、触摸屏等。.笔划(stroke):指示一个坐标点系列,如指定一条曲线的控制点等。主要物理设备有数字化仪。.送值(valuator):输入一个数值。最常用的物理设备是键盘的数字键。.字符串(string):输入一个字符串。键盘字母键.拾取(pick):各种定位设备.选择(choise):鼠标器,数字化仪,键盘功能键等3.画出图形软件的层次结构及主要组成。------------------------------------|应用程序||----------------------------||图形支撑软件|||-------------------|||高级语言||||------------||||操作系统|------------------------------------主要部分:图形核心系统GKS计算机图形元文件CGM计算机图形设备接口CGI程序员层次结构图形系统PHIGS4.颜色查找表的概念及实现原理。颜色查找表是一维线性表,其每一项的内容对应一种颜色,它的长度由帧缓存单元的位数决定。实现原理:把颜色码放在一个独立的表中,帧缓存存放的是颜色表中各项的索引值,这样在帧缓存单元的位数不增加的情况下,具有了大范围挑选颜色的能力。5.光栅扫描显示器结构与工作原理。工作原理:在这种显示器中,电子束的运动轨迹是固定的。即从左到右、自上而下扫描荧光屏,来产生一幅光栅。特点:由于图形是以点阵的形式存储在帧缓冲器中。所以光栅扫描显示器的电子束按从上到下、从左到右的顺序依次扫描屏幕,来建立图形。6.为什么要制订图形软件标准?举例说明它的分类。制定图形软件标准的目的在于使图形软件能够在不同的计算机和图形设备之间进行移植,以便提高图形软件的利用率,降低开发成本,缩短研制周期,使图形软件向着通用、高级与设备无关的方向发展。数据接口标准:CGM子程序接口标准:GKS、CGI、PHIGS第三章基本图形生成算法1.Bresenham直线生成算法原理。它与DDA算法相比,有何改进?算法思想:根据直线的斜率确定选择X或者Y方向作为计长方向,在此方向上每次递增一个单位步长(或者一个像素单位),另一个方向上是否同时产生一个单位增量由一个计算量很小的判别式来判断。DDA为增量算法。它根据每一次增长时在另一轴上的增长计算下一个点应该画在哪里。Bresenham算法与它相比,由于全部采用了整数计算,使算法效率比起DD有大大提高,程序中只含有+-和*2的计算,便于使用计算机内硬件实现。2.比较几种常用画圆弧算法的原理和效率。1)Bresenham算法思想其基本方法是从一个起点出发,利用判别式选择下一个显示点。判别式的值通过简单计算获得,其符号用作判断。只计算出1/8圆的点的位置,就可以画出整个圆来,效率高。2)正负法:首先区分不同象限的圆弧,然后,选定圆弧起点后,在输出圆弧过程中,根据当前点位置与理想圆弧的关系和所在象限,决定下一次的走向每次只在X或Y方向走步取点,这样一点一点逼近圆弧形状。在整个计算过程中,只使用了+-和*2运算,提高了硬件使用率。比起Bre算法,它更为简单。但生成的点数要比Bre多。3.简述两种字符生成方法。一种是在计算机中用笔划(矢量)方式来表示,然后通过扫描转换生成,这是目前常用的方法,生成的字符效果好,但计算量大;另一种是在计算机内用位图(点阵)来表示,存储在字符高速缓冲区(字符发生器)里,显示时可以直接通过像素拷贝将其装入显示缓冲区中。这是传统的方法,简单、速度快,但不灵活。4.何谓四连通和八连通?写出一种边界表示的八连通区域填充算法。4连通区域:取区域中的任何两个像素,从一象素出发,通过上、下、左、右4种运动,只经过该区域的点可以达到另一像素。8连通区域:取区域中任何两个像素,从一象素出发通过上、下、左、右、两条对角线方向共8种运动,只经过该区域的点可达到另一像素。漫水法:Procedureflood-fill-4(x,y,boundary-color,new-color:integer)beginifgetpixel(framebuffer,x,y)boundary-colorandgetpixel(framebuffer,x,y)new-colorthenbeginsetpixel(framebuffer,x,y,newcolor);flood-fill-4(x,y+1,boundary-color,new-color);flood-fill-4(x,y-1,boundary-color,new-color);flood-fill-4(x+1,y,boundary-color,new-color);flood-fill-4(x-1,y,boundary-color,new-color);flood-fill-4(x+1,y+1,boundary-color,new-color);flood-fill-4(x-1,y-1,boundary-color,new-color);flood-fill-4(x+1,y+1,boundary-color,new-color);flood-fill-4(x-1,y-1,boundary-color,new-color);endend5.解释活化边表的思想,以多边形区域填充为例介绍它的应用。边的活化链表AEL:记录当前扫描线与棱边的交点序列。初值为空,在处理过程中利用ET表和求交点的递推关系不断刷新。.链表AEL的边元素由以下4个域组成:ymax:该棱边的上端点的y坐标;x:该棱边与当前扫描线交点的x坐标;Dx:该棱边的斜率m的倒数;next:指向下一条棱边的指针。6.已知多边形各个顶点的坐标为(2,2),(2,4),(8,6),(12,2),(8,1),(6,2)及(2,2),在用扫描线填充算法实现扫描转换时,写出其边表(ET)和全部的活化边表(AET)的内容。第四章图形变换与裁剪1.什么是灭点?在我们从一定的视角看3D图形时,会看到彼此平行的直线在远处有交点,这个交点就叫做灭点。2.试用几种不同顺序的简单几何变换,求出将平面上的任一线段P1(x1,y1),P2(x2,y2)变换成与X轴重合的变换阵,并说明其等效性。斜率为k=(y2-y1)/x2-x1,可以使用以下几种方法进行变换:a.先把它平移到原点处,再旋转成水平线。其变换矩阵为/100\/cosθsinθ0\T=|010||-sinθcosθ0|\-x1–y11/\001/(其中θ=arctag(k))b.先旋转,使它水平,再平移到X轴上/cosθsinθ0\/100\T=|-sinθcosθ0||010|\001/\Tx01/(其中Tx可由几何计算得出)c.先平移,使原点在其所在的直线上,再旋转/100\/cosθsinθ0\T=|010||-sinθcosθ0|\0My1/\001/其中My=x1*(y2-y1)/(x2-x1)–y1由计算结果可知,三者是等价的。3.已知OXYZ坐标系下平面方程是x+y+z+d=0,试求变换距阵T,使该平面在O’X’Y’Z’坐标系下变成z’=0。三维坐标变换:比例变换:/a000\T=|0e00||00i0|\0001/其中a,e,i分别为在X,Y,Z坐标上的比例改变平移变换:/1000\T=|0100||0010|\lmn1/其中a,e,i分别为在X,Y,Z坐标上的平移量旋转变换:(手写)4.试简述二维图形裁剪的基本原理及可选用的裁剪策略.裁剪的原理:.在显示图形之前,组成图形的每一个基本元素都要经过裁剪,因此裁剪算法直接影响整个图形系统的效率。.裁剪的基本目的是判断图形元素是否在所考虑的区域内。如在区域内,则进一步求出在区域内的那一部分。因此裁剪处理包含两部分内容:1)点在区域内外的判断;2)计算图形元素与区域边界的交点。1.编码裁剪法(Sutherland-Cohen算法)2.中点分割裁剪法3.多边形的裁剪1.逐边裁剪法2.双边裁剪法第五章人机交互技术1.基本的交互任务有哪些?它们可用什么设备执行?基本交互任务1.定位2.选择3.数量输入4.文本输入5.三维交互任务2.举例说明WINDOWS系统常用的交互方式,编程实现其中一例。3.叙述设计人机交互的一般风格和原则。现在计算机系统的人机界面一般具有下列风格,即:“所见即所得”(whatyouseeiswhatyouget),直接操作(directmanipulate)及菜单和图形符号(icon)驱动。–“所见即所得”在交互式图形系统中一般都能做到,即在屏幕上所见到的设计结果和用硬拷贝所得的输出结果是一致的。–直接操作是对对象、特性及关系等操作时用户可得到一种直观及形象的表示,以说明这个操作是正确地被执行了。人机界面设计的一些基本原则:(1)简单易学(2)提供反馈(3)对错误操作容易纠正Undo(4)设计一致性功能布局、颜色、代号等应一致第六章曲线曲面的表示1.Bezier曲线具有哪些特性?试用n的归纳法证明其凸包性。2.B样条曲线的定义及其特点。特点:(1)凸包性(2)分段参数多项式(3)连续性(4)几何不变性(5)保凸性(6)局部调整性(7)造型灵活性3.比较Bezier曲面和B样条曲面的功能特点。Bezier曲面:凸包性,几何不变性,P(u,v)的控制网格{Pij}可以作为曲面的输入和人机交互的良好手段。另外,易拼接性、易离散性都较好。B样条曲面:凸包性,几何不变性,局部调整性和人机交互性与B样条曲线情况类似。(功能方面找不到)4.Coons曲面片构造方法及其特点。孔斯曲面的性质(1)端点位置H(0,0),H(0,1),H(1,0),H(1,1)是曲面P(u,v)的端点。(2)边界线在v=0处曲面的边界线为这是以式(6.2)中的矩阵的第一列元素为系数的三次埃尔米特曲线。其余的边界线P(u,1),P(0,v),P(1,v)分别是以该矩阵中的第2列,第1行和第2行的元素为系数的三次埃尔米特曲线。(3)跨界导矢由式(6.1)可得v=0处的跨界导矢为这是以式(6.2)中的矩阵的第3列元素为系数的三次埃尔米特曲线。其余各条边界的跨界导矢分别是以该矩阵中的第4列,第3行和第4行的元素为系数的三次埃尔米特曲线。另外,双三次孔斯曲面与双三次Bezier曲面的可相互转化。第七章三维实体的造型1.体素构造表示法中两物体正则运算的公式,并举例说明它们的计算方法。物体间的正则集合运算:.传统的点集之间的并、交、差运算可能改变点集的正则性质,有必要对传统的点的集合运算施加一定的限制。为此,对点集的正则集合运算作下述定义:正则并运算A∪*B=r(A∪B)正则交运算A∩*B=r(A∩B)正则差运算A-*B=r(A-B)其中,r表示正则化算子。正则物体经正则运算结果仍为正则物体。2.形体的拓扑信息和几何信息各包含哪些内容?举例说明它们起何作用。3.欧拉公式及其应用意义。欧拉公式:一个多面体的顶点数,边数和面数分别为V,E,F,则存在以下关系:V-E+F=2这就是著名的欧拉公式,它说明了简单多边形的顶点数,边数和面数之间的关系。4.试写出判定