计算机图形学02807_第1页
计算机图形学02807_第2页
计算机图形学02807_第3页
计算机图形学02807_第4页
计算机图形学02807_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

一.判断题(10分)1.计算机图形生成的基本单位是线段。()2.在种子填充算法中所提到的八向连通区域算法同时可填充四向连通区;()3.齐次坐标提供了坐标系变换的有效方法,但仍然无法表示无穷远的点;()4.若要对某点进行比例、旋转变换,首先需要将坐标原点平移至该点,在新的坐标系下做比例或旋转变换,然后在将原点平移回去;()5.显式方程和参数曲线均可以表示封闭曲线或多值曲线;()FTFTF14.如果投影空间为平面,投影线为直线,则称该投影为平面几何投影。――――-(T)15.平面几何投影分为两大类:透视投影和平行投影。――――――――――――-(T)11.齐次坐标的表示不是唯一的(T)13.B样条曲线不具有变差缩减性(F)14.比例变换和旋转变换可以交换先后次序,变换结果不变(F)15.计算机图形学的标准通常指数据文件格式标准和子程序界面标准(T)二、判断题(请给正确的达上“√”,错误的打上“×”,每小题2分,共20分)1、所有图形都可以看成是由直线段组成的。()2、图形变换有两种形式:坐标模式变换和图形模式变换。()3、自由曲线可以用一条标准代数方程来描述。()4、B曲线具有对称性质。()5、齐次坐标可表示图形中无穷远点。()6、组合变换就是由若干个基本的几何变换组合而成()7、四向种子填充算法可以用于填充八连通区域。()8、多边形裁剪实际就是直线段裁剪的简单组合。()9、三维图形的投影变换分为正平行投影和斜平行投影。()10、三视图指的是主视图、仰视图、俯视图。()一、选择题(每小题2分,共20分)题号12345678910答案DBDBCCDBAC二、判断题(请给正确的达上“√”,错误的打上“×”,每小题2分,共20分)题号12345678910答案√√××√√××××二.单项选择题(20分)B2、计算机图形学与计算机图象学的关系是()。A)计算机图形学是基础,计算机图象学是其发展B)不同的学科,研究对象和数学基础都不同,但它们之间也有可转换部分C)同一学科在不同场合的不同称呼而已D)完全不同的学科,两者毫不相干C3、触摸屏是()设备。A)输入B)输出C)输入输出 D)既不是输入也不是输出1.计算机图形显示器一般使用什么颜色模型?(A)A.RGB;B.CMY;C.HSV;D.HLS3.下述用数值微分法(DDA)画斜率的绝对值小于1的直线的C语言子程序中哪一行有错?(A)VoiddrawLineWithDDA(intx1,inty1,intx2,inty2,intcolor){A.intx,y;B.floatk=(float)(y2-y1)/(x2-x1);C.for(x=x1,y=y1;x<=x2;x++){drawPixel(x,y,color);D.y+=k;}}4.下面关于反走样的论述哪个是错误的?(D)A.提高分辨率;B.把象素当作平面区域进行采样;C.采用锥形滤波器进行加权区域采样;D.增强图象的显示亮度;5.多边形填充时,下述哪个论述是错误的?(C)A.多边形被两条扫描线分割成许多梯形,梯形的底边在扫描线上,腰在多边形的边上,并且相间排列;B.多边形与某扫描线相交得到偶数个交点,这些交点间构成的线段分别在多边形内、外,并且相间排列;C.在判断点是否在多边形内时,一般通过在多边形外找一点,然后根据该线段与多边形的交点数目为偶数即可认为在多边形内部,若为奇数则在多边形外部,而且不需考虑任何特殊情况;D.边的连贯性告诉我们,多边形的某条边与当前扫描线相交时,很可能与下一条扫描线相交;D20、使用下列二维图形变换矩阵: 200010200010111T= A)图形放大2倍; B)图形放大2倍,同时沿X、Y坐标轴方向各移动1个绘图单位; C)沿X坐标轴方向各移动2个绘图单位; D)沿X坐标轴方向放大2倍,同时沿X、Y坐标轴方向各平移1个绘图单位。D21、下列有关Bezier曲线性质的叙述语句中,错误的结论为() A)Bezier曲线可用其特征多边形来定义; B)Bezier曲线不一定通过其特征多边形的各个顶点; C)Bezier曲线两端点处的切线方向必须与起特征折线集(多边形)的相应两端线段走向一致; D)n次Bezier曲线,在端点处的r阶导数,只与r个相邻点有关。C27.使用下列二维图形变换矩阵:T=,产生变换的结果为() A:图形放大2倍,同时,沿X和Y坐标轴方向各移动1/2个绘图单位; B:图形缩小1/2倍,同时,沿X、Y坐标轴方向各移动1/2个绘图单位; C:沿X坐标轴方向缩小1/2倍,同时,沿Y坐标轴方向移动1/2个绘图单位;D:沿Y坐标轴方向缩小1/2倍,同时,沿X坐标轴方向移动1/2个绘图单位。D28、使用下列二维图形变换矩阵:T=,产生变换的结果为() A:沿X坐标轴平移1个绘图单位,同时,沿Y坐标轴平移-1个绘图单位; B:绕原点逆时针旋转90度; C:沿X坐标轴平移-1个绘图单位,同时,沿Y坐标轴平移1个绘图单位; D:绕原点顺时针旋转90度;B29、下列有关B样条曲线性质的说明语句中,正确的论述为() A:B样条曲线具有几何不变性,其形状与坐标系无关; B:B样条曲线具有造型的灵活性,可构造直线段和切线等特殊情况; C:当移动B样条曲线一个顶点时,必定会对整条B样条曲线产生影响; D:一条直线与n个顶点控制的B样条曲线可有n个或更多个交点;三、简答题(每小题6分,共30分)1、简述图像处理、模式识别与计算机图形学的关系。2、简述直线段生成的数值微分算法基本思想。3、写出二维几何变换的变换矩阵,各功能子矩阵及作用是什么?4、简述直线段的编码裁剪方法。5、什么是三维投影变换1、图像处理、模式识别与计算机图形学是计算机应用领域发展的三个分支学科,它们之间有一定的关系和区别,它们的共同之处就是计算机所处理的信息都是与图有关的信息。它们本质上是不同的:图像处理是利用计算机对原存在物体的映象进行分析处理,然后再现图像;模式识别是指计算机对图形信息进行识别和分析描述,是从图形到描述的表达过程;计算机图形学是研究根据给定的描述用计算机生成相应的图形、图像。2、设(x1,y1)和(x2,y2)分别为所求直线的端点坐标,选定x2-x1和y2-y1中较大者作为步进方向(假设x2-x1较大),取该方向上的Dx为一个象素单位长,即x每次递增一个象素,然后计算相应的y值,把每次计算出的(Xi+1,Yi+1)经取整后顺序输出到显示器,则得到光栅化后得直线。3、二位图形齐次坐标变换矩阵的一般表达式:T=,这3×3矩阵中各元素功能一共可分成四个模块,其中可以实现图形的比例、对称、错切、旋转等基本变换;[lm]可以实现图形平移变换;[pq]可以实现图形透视变换;[s]可以实现图形全比列变换。4、裁剪窗口的四条边所在的直线把二维平面分成九个区域,每个区域赋予一个四位编码,代码中的每一位分别是0或者1,是按照窗口边线来确定,第一位置为1,则表示该端点位于窗口左则;第二位置为1,则表示该端点位于窗口右则;第三位置为1,则表示该端点位于窗口下面;第四位置为1,则表示该端点位于窗口上面;直线端点所在位置为端点区域所在的代码。算法步骤如下:(1)当线段的两个端点的编码为零时,表示直线在窗口内;(2)当线段的两个端点的编码的逻辑“与”为非零时,显然不可见;(3)对于那些非完全可见、又非完全不可见的线段,需要求交。5、通常图形输出设备都是二维的,用这些二维设备来输出三维图形,就得把三维坐标系下图形上各点的坐标转化为某一平面坐标系下的二维坐标,也就是将(x,y,z)变换为(x’,y’)或(x’,z’)或(y’,z’)。这种把三维物体用二维图形表示的过程称为三维投影变换。7.什么是中点分割裁剪法?解答:中点分割裁剪法又称对分裁剪法,该方法用于代替求交运算。如图11所示,AB为线段P1P2的可见部分。记P1和P2的中点为Pm。从P1出发求A,如果P1Pm部分可见部分不可见,则A点在该线段上,用该线段代替P1P2继续求解;否则,用PmP2代替P1P2继续求解。求解过程直到P1P2的长度小于预先给定的一个常数时结束,这时,P2为离A最近的可见点。类似地可以求解B。PP2BAPBAP1什么叫做走样?什么叫做反走样?反走样技术包括那些?答:走样指的是用离散量表示连续量引起的失真。为了提高图形的显示质量。需要减少或消除因走样带来的阶梯形或闪烁效果,用于减少或消除这种效果的方法称为反走样。其方法是①前滤波,以较高的分辨率显示对象;②后滤波,即加权区域取样,在高于显示分辨率的较高分辨率下用点取样方法计算,然后对几个像素的属性进行平均得到较低分辨率下的像素属性。试说明一致缩放(sx=sy)和旋转形成可交换的操作对。答:因为sx=sy,故有T1=T2,所以一致缩放(sx=sy)和旋转可以形成可交换的操作对。5、用参数方程形式描述曲线曲面有什么优点?答:=1\*GB3①点动成线;=2\*GB3②可以满足几何不变性的要求;=3\*GB3③可以避免斜率带来的问题;=4\*GB3④易于定界;=5\*GB3⑤可以节省工作量;=6\*GB3⑥参数变化对各因变量的影响明显。简述区域连贯性、扫描线的连贯性以及边的连贯性。答:区域连贯性:对于一个多边形及两条扫描线,会有如下情况:两条扫描线之间的长形区域被多边形的边分割成若干个梯形,位于多边形内部和外部的梯形相间排列。扫描线的连贯性:多边形与扫描线相交,其交点数为偶数,相邻两交点间的线段有些位于多边形内,有些位于多边形外,且两者间隔排列。边的连贯性:相邻两条扫描线与多边形的的同一条边相交,其交点可按递增一个常量来计算,如:x2=x1+1,则y2=y1+1/k(k为该多边形边的斜率)。2、分别写出平移、旋转以及缩放的变换矩阵。平移变换矩阵:(2分)旋转变换矩阵:绕X轴(2分)绕Y轴(2分)绕Z轴(2分)缩放变换矩阵:(2分)3、图形变换有什么特点?最基本的几何变换有哪些?答:图形变换的特点:大多数几何变换(如平移、旋转和变比)是保持拓扑不变的,不改变图形的连接关系和平行关系。对于线框图形,通常是以点变换为基础,把图形的一系列顶点作几何变换后,连接新的顶点序列即可产生新的变换后的图形。对于用参数方程描述的图形,可以通过参数方程几何变换,实现对图形的变换(基于效率的考虑)。最基本的几何变换有:平移、旋转、比例、错切、投影等。4、常用的线段裁剪方法有几种?简述它们的优缺点。答:常用的线段裁剪方法有三种,它们是:(1)Cohen-SutherLand裁剪算法;(2)中点分割算法;(3)参数化裁剪算法(Cyrus-Beck算法);Cohen-SutherLand裁剪算法与中点分割算法在区码测试阶段能以位运算方式高效率地进行,因而当大多数线段能够简单地取舍时,效率较好。参数化裁剪算法(Cyrus-Beck算法)在多数线段需要进行裁剪时,效率更高。这是因为运算只涉及到参数,仅到必要时才进行坐标计算。3、简述Bezier曲线的不足之处。 答:当Bezier曲线的n次多项式逼近方法中当n较大时,计算量也就迅速增大,而且计算结果也不稳定。同时,其特征多边形的顶点离开得很远,造型时不利于精确控制。若是采用插值形式,除了计算量更加庞大以外,曲线的保形性也难以保证。4、写出三维几何变换中的平移变换矩阵。答:.平移变换:其中,,,是物体在三个坐标方向上的位移量。5、计算机图形系统包含哪些外部设备? 图形输入设备:概念、特点 图形显示设备:概念、结构原理、工作方式、特点 图形绘制设备:概念、特点6、通常画直线的算法有哪几种?画圆弧的算法有哪几种?答:通常画直线的方法有三种:(1)逐点比较法;(2)数值微分法;(3)Bresenham算法。画弧线的常用方法有:(1)逐点插补法;(2)圆弧的正负法;(3)角度DDA法;(4)圆弧的Bresenham算法。(5)二次曲线的参数拟合法。4.使用斜截式方程画斜率介于0°和45°之间的直线的步骤是什么?解答:用斜截式方程画直线的过程如下:计算dx:dx=x2-x1。计算dy:dy=y2-y1。计算m:m=dy/dx。计算b:b=y1-m×x1设置左下方的端点坐标为(x,y),同时将xend设为x的最大值。如果dx<0,则x=x2、y=y2和xend=x1。如果dx>0,那么x=x1、y=y1和xend=x2。测试整条线是否已经画完,如果x>xend就停止。在当前的(x,y)坐标画一个点。增加x:x=x+1。根据方程y=mx+b计算下一个y值。转到步骤(6)。6.使用Bresenham算法画斜率介于0°和45°之间的直线所需的步骤。解答:用Bresenham算法画直线的过程如下:(1)计算初始值dx=x2-x1 Inc2=2(dy-dx)dy=y2-y1 d=Inc1-dxInc1=2dy(2)设置左下方的端点坐标为(x,y),同时将xend设为x的最大值。如果dx<0,则x=x2,y=y2和xend=x1。如果dx>0,那么x=x1、y=y1和xend=x2。在当前的(x,y)坐标画一个点。判断整条线段是否已经画完,如果x=xend就停止。计算下一像素的位置。如果d<0,那么d=d+Inc1。如果d≥0,那么d=d+Inc2,并且y=y+1。增加x:x=x+1。在当前的(x,y)坐标画一个点。转到步骤(4)。7、写出透视变换矩阵和三视图投影的变换矩阵。答: 透视变换矩阵形式为: 主视图: 俯视图: 侧视图:8、简述消隐算法的分类。1.物体空间的消隐算法:物体空间是物体所在的空间,即规范化投影空间。这类算法是将物体表面上的个多边形中的每一个面与其余的个面进行比较,精确求出物体上每条边或每个面的遮挡关系。计算量正比于。2.图象空间的消隐算法:图象空间就是屏幕坐标空间,这类算法对屏幕的每一象素进行判断,以决定物体上哪个多边形在该象素点上是可见的。若屏幕上有个象素点,物体表面上有个多边形,在该类消隐算法计算量正比于。9、简述深度缓存算法及其特点。答:深度缓存算法是一种典型的、也是最简单的图象空间的消隐算法。在屏幕空间坐标系中,轴为观察方向,通过比较平行于轴的射线与物体表面交点的值(又称为深度值),用深度缓存数组记录下最小的值,并将对应点的颜色存入显示器的帧缓存。深度缓存算法最大的优点是简单。它在、、方向上都没有进行任何排序,也没有利用任何相关性。算法复杂性正比于。在屏幕大小,即一定的情况下,算法的计算量只与多边形个数成正比。另一个优点是算法便于硬件实现,并可以并行化。12.如果不采用齐次坐标,二维图形平移变换该如何表示,采用齐次坐标又该如何表示?不采用齐次坐标,平移变换表示为:采用齐次坐标,平移变换表示为:可以与其它二维变换一样用3×3的矩阵统一表示。3、已知三角形各顶点坐标为(10,10),(10,30)和(30,20),作下列变换,写出变换的矩阵,画出变换后的图形。先绕原点逆时针旋转90度,再沿X正向平移10,沿Y负向平移20。(本题10分)平移变换矩阵为:,旋转变换矩阵为:总的变换矩阵为:T=×=13、写出三维几何变换中的缩放变换矩阵14.平移变换矩阵中,l,m,n分别表示什么?l,m,n分别为图形沿X轴、Y轴、Z轴方向的平移分量。16.试列出一些非官方的图形软件标准?非官方的图形软件标准包括SGI等公司开发的OpenGL,微软公司开发的DirectX,X财团的X-Window系统,Adobe公司的Postscript等。17.图形系统中如何进行画线操作?画线是通过计算沿线路径上两指定端点位置间的中间位置来完成的,输出设备则直接按指令在端点间的这些位置填充。

18.二维图形包括那些基本图形?点和直线段是最简单的二维图形,其它二维图形有圆、圆锥曲线、二次曲面、样条曲线和曲面、多边形填色区域以及字符串等。四、推导与计算题(15×1=15分)如图4-1所示多边形,若采用ET边表算法进行填充,试写出该多边形的ET表和当扫描线Y=3时的有效边表(AET表)。(12分)图4-1利用中点Bresenham画圆算法的原理推导第一象限从y=x到x=0圆弧段的扫描转换算法(要求写清原理、误差函数、递推公式)。(10分)解:x方向为最大走步方向,xi+1=xi-1,yi+1由d确定di=F(xm,ym)=(xi-1)2+(yi+0.5)2-R2⑴di<0时,点在圆内,xi+1=xi-1,yi+1=yi+0.5di+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⑵di≥0时,点在圆外,xi+1=xi-1,yi+1=yidi+1=F(xm,ym)=(xi-2)2+(yi+0.5)2-R2=xi2-4xi+4+(yi+0.5)2-R2=di-2xi+3如下图所示多边形,若采用改进的有效边表算法进行填充,试写出该多边形的ET表和当扫描线Y=4时的AET表。(本题10分)六、(本题15分)如右图所示的多边形,若采用改进的有效边表算法进行填充,在填充时采用“下闭上升”的原则(即删除y=ymax的边之后再填充)试画出该多边形的ET表和当扫描线Y=3和Y=8时的AET表。解:ET表如下:当扫描线Y=8时的AET表:当扫描线Y=3时的AET表:7/37-1/375-1/24.553/4991/2/七、(本题15分)如图所示四边形ABCD,求绕P(5,4)点逆时针旋转90度的变换矩阵,并求出各端点坐标,画出变换后的图形。解:用Bresenham算法生成椭圆 一时,若: 在第一象限上半部分误差项递推公式为:下半部分的递推公式为:时,说明从椭圆的上半部分转入下半部分。请写出画出整个椭圆的算法步骤。答:算法步骤如下:1).输入椭圆的长半轴a和短半轴b。2).计算初始值d=b2+a2(-b+0.25)、x=0、y=b。3).绘制点(x,y)及其在四分象限上的另外三个对称点。4).判断d的符号。若d≤0,则先将d更新为d+b2(2x+3),再将(x,y)更新为(x+1,y);否则先将d更新为d+b2(2x+3)+a2(-2y+2),再将(x,y)更新为(x+1,y-1)。5).当b2(x+1)<a2(y-0.5)时,重复步骤3和4。否则转到步骤6。6).用上半部分计算的最后点(x,y)来计算下半部分中d的初值:7).绘制点(x,y)及其在四分象限上的另外三个对称点。8).判断d的符号。若d≤0,则先将d更新为b2(2xi+2)+a2(-2yi+3),再将(x,y)更新为(x+1,y-1);否则先将d更新为d+a2(-2yi+3),再将(x,y)更新为(x,y-1)。9).当y>0时,重复步骤7和8。否则结束。 3、已知三角形ABC各顶点的坐标A(1,2)、B(5,2)、C(3,5),相对直线Y=4做对称变换后到达A’、B’、C’。试计算A’、B’、C’的坐标值。(要求用齐次坐标进行变换,列出变换矩阵)解:(1)将坐标系平移至P1(0,4)点(2)以X轴对称(3)将坐标系平移回原处(4)变换矩阵:T=TA*TB*TC=(5)求变换后的三角形ABC各顶点的坐标A’、B’、C’A’:XA'=1,YA'=6B’:XB'=5,YB'=6C’:XA'=3,YA'=34、已知一直线段起点(0,0),终点(-8,-3),利用Bresenham算法生成此直线段,写出生成过程中坐标点及误差ε的变化情况。并在下面的方格中,标出直线上各点解:以X方向计长(0,0)走步数C=8(0,0)∵是第三象限C=8x0=0,y0=0,取点(0,0)C=7ε(x1)=2△Y-△X=6-8=-2<0x1=x0-1=-1,y1=y0=0取点(-1,0)C=6ε(x2)=ε(x1)+2△Y=-2+6=4x2=x1-1=-2,y2=y1-1=-1取点(-2,-1)C=5ε(x3)=ε(x2)+2△Y-2△X=4+6-16=-6<0x3=x2-1=-3,y3=y2=-1取点(-3,-1)C=4ε(x4)=ε(x3)+2△Y=-6+6=0x4=x3-1=-4,y4=y3-1=-2取点(-4,-2)C=3ε(x5)=ε(x4)+2△Y-2△X=0+6-16=-10<0x5=x4-1=-5,y5=y4=-2取点(-5,-2)C=2ε(x6)=ε(x5)+2△Y=-10+6=-4<0x6=x5-1=-6,y6=y5=-2取点(-6,-2)C=1ε(x7)=ε(x6)+2△Y=-4+6=2x7=x6-1=-7,y7=y6-1=-3取点(-7,-3)C=0ε(x8)=ε(x7)+2△Y+2△X=2+6-16=-8x8=x7-1=-8,y8=y7=-3取点(-8,-3)7请用图说明,一个四连通区域的边界是八连通的,而一个八连通区域的边界式四连通的。2、采用整数Bresenham算法,为一台计算机编制直线扫描转换程序。从键盘敲入两端点坐标,就能在显示器屏幕上画出对应的直线。VoidDrawLine(intcolor){intx0,y0,x1,y1,color,I;scanf(“%d,%d,%d,%d”,&x0,&y0,&x1,&y1);dx=x1–x0;dy=y1–y0;e=-dx;x=x0;y=y0;for(i=0;i<=dx;i++){putpixel(x,y,color);x=x+1;e=e+2*dy;if(e>=0){y=y+1;e=e–2*dy;}}}4、试编写按逆时针方向生成第二个8分圆的中点算法算法设计:输入圆的半径定义圆当前点坐标x和y、中点偏差判别式d、像素点颜色rgb计算d=1.25-R,x=0,y=R,rgb=RGB=(0,0,255).绘制点(x,y),及其在八分圆中的另外7个对称点‘判断d的符号,若d<0,则(x,y)更新为(x+1,y),d更新为d+2x+3,否则(x,y)更新为(x+1,y-1),d更新为d+2(x-y)+5.当x小于等于y,重复步骤(4)和(5),否则结束。MidpointCircle(r,color)intr,color;{floatx,y;floatd;x=0;y=r;d=1.25–r/1.414;dr

温馨提示

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

评论

0/150

提交评论