您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 其它文档 > 计算机图形学参考答案
计算机图形学参考答案第一章1、什么是图形?在计算机中,图形是如何表示的?答:能够在人的视觉系统中形成视觉印象的客观对象都称为图形。计算机中,表示图形的方法有两种:(1)点阵法:通过枚举出图形中所有的点来表示图形,它强调图形由哪些点组成。(2)参数法:用图形的形状参数和属性参数来表示图形。2、CRT射线管由哪几部分组成?它们的功能是什么?答:CRT射线管由五部分组成。(1)电子枪:包括灯丝、阴极、控制栅,作用是发射电子束,控制电子束中电子的数量和极性。(2)聚焦系统:使电子束足够细,保证屏幕的分辨率。(3)加速电极:使电子束高速运动,以便加快刷新速度。(4)偏转系统:控制电子束水平偏转和竖直偏转。(5)荧光屏:电子束激活荧光物质发光。3、什么是刷新?刷新频率与荧光物质的刷新时间有什么关系?答:(1)由于荧光物质的发光时间为10到60毫秒,为获得稳定的画面,就需要不断重复的绘制图形,这就是刷新。(2)荧光物质的持续发光时间越长,刷新频率可以越低。4、什么是像素?什么是显示器的分辨率?答:(1)屏幕上的光点称为像素。(2)若显示器水平的行数为M,每一行的扫描像素数为N,则M*N称为显示器的分辨率。5、显示器的分辨率为1024*1024,显示的颜色数为256色,试问带有查找表和不带查找表的帧缓存分别是多大?答:(1)不带查找表:1024*1024*24(bit)(2)带有查找表:1024*1024*8+256*24(bit)6、显示系统为什么使用查找表?答:在帧缓存单元的位数不增加的情况下,具有大范围内挑选颜色的能力,即提高帧缓存的利用率。第三章1、如何改进扫描转换直线段的中点算法,使之能够处理斜率为任意值的直线段?见课件。2、分别用Bresenham划线算法和DDA划线算法绘制(20,10)到(30,18)的直线,并画出扫描转换图表示。(1)DDA算法xa=20,ya=10;xb=30,yb=18;dx=10,dy=8;steps=dx=10;delta_x=1,delta_y=0.8;xysteps四舍五入取整20100(20,10)2110.81(21,11)2211.63(22,12)2312.43(23,12)2413.24(24,13)25145(25,14)2614.86(26,15)2715.67(27,16)2816.48(28,16)2917.29(29,17)301810(30,18)(2)Bresenham算法twody=16,twodydx=-4ixiyidi020102*8-10=6121116-4=2222122-4=-232312-2+16=144241314-4=105251410-4=6626156-4=2727162-4=-282816-2+16=149291714-4=101030183、分别用Bresenham画圆算法和中点画圆算法作图,r=10,圆心在坐标原点。(1)Bresenham画圆算法:voidCT3View::drawcircle1(CDC*pDC){intx=0,y=r,d=3-2*r;while(x=y){pDC-SetPixel(xcenter+x,ycenter+y,RGB(255,0,0));pDC-SetPixel(xcenter-x,ycenter+y,RGB(255,0,0));pDC-SetPixel(xcenter+x,ycenter-y,RGB(255,0,0));pDC-SetPixel(xcenter-x,ycenter-y,RGB(255,0,0));pDC-SetPixel(xcenter+y,ycenter+x,RGB(255,0,0));pDC-SetPixel(xcenter-y,ycenter+x,RGB(255,0,0));pDC-SetPixel(xcenter+y,ycenter-x,RGB(255,0,0));pDC-SetPixel(xcenter-y,ycenter-x,RGB(255,0,0));if(d0)d=d+4*x+6;else{d=d+4*(x-y)+10;y--;}x++;}}iDixiyi03-2*10=-17(初值)0101-17+4*0+6=-111102-11+4*1+6=-12103-1+4*2+6=13310413+4*-7+10=-5495-5+4*4+6=1759617+4*-4+10=1168711+4*-2+10=1377(2)中点画圆算法:voidCT3View::drawcircle2(CDC*pDC){intx=0,y=r,p=1-r;while(x=y){pDC-SetPixel(xcenter+x,ycenter+y,RGB(255,0,0));pDC-SetPixel(xcenter-x,ycenter+y,RGB(255,0,0));pDC-SetPixel(xcenter+x,ycenter-y,RGB(255,0,0));pDC-SetPixel(xcenter-x,ycenter-y,RGB(255,0,0));pDC-SetPixel(xcenter+y,ycenter+x,RGB(255,0,0));pDC-SetPixel(xcenter-y,ycenter+x,RGB(255,0,0));pDC-SetPixel(xcenter+y,ycenter-x,RGB(255,0,0));pDC-SetPixel(xcenter-y,ycenter-x,RGB(255,0,0));if(p0)p=p+2*x+3;else{p=p+2*(x-y)+5;y--;}x++;}}iPixiyi01-10=-90101-9+2*0+3=-61102-6+2*1+3=-12103-1+2*2+3=631046+2*(3-10)+5=-3495-3+2*4+3=85968+2*(5-9)+5=56875+2*(6-8)+5=677第四章1、给出扫描线算法扫描转换多边形的ET表和AEL表的变化过程。k0=-1/3k1=1/3k2=0k3=1/2k4=-2/3k5=02、按照上下左右的顺序写出内点表示4连通区域的泛滥填充算法的填充顺序。voidFloodFill4(intx,inty,intoldcolor,intnewcolor){if(getpixel(x,y)==oldcolor)//属于区域内点{drawpixel(x,y,newcolor);FloodFill4(x,y+1,oldcolor,newcolor);FloodFill4(x,y-1,oldcolor,newcolor);FloodFill4(x-1,y,oldcolor,newcolor);FloodFill4(x+1,y,oldcolor,newcolor);}}第五章1、光栅图形系统中,混淆现象有哪些?产生的原因是什么?答:阶梯不等走样:直线段或边界的连续图形扫描转换到整数坐标系。亮度不等走样:由不同方向的直线亮度不等引起。细节失真问题:当一个对象不能正确的排列或合适的放在一个像素网格上时。第六章1、用liang-barsky和Cohen-Sutherland算法对IJ直线进行裁剪,写出裁剪的过程和结果。(1)liang-barsky:I(1,3)J(7,7)2628设(x1,y1)=(1,3),(x2,y2)=(7,7)p1=-(x2-x1)=-6q1=x1-xmin=1-2=-1r1=q1/p1=1/6p2=6q2=xmax-x1=7r2=7/6p3=-(y2-y1)=-4q3=y1-ymin=1r3=-1/4p4=4q4=ymax-y1=3r4=3/4p10,p30,u1=max(0,r1,r3)=max(0,1/6,-1/4)=1/6p20,p40,u2=min(1,r2,r4)=min(1,7/6,3/4)=3/4u=1/6时1(21)1(71)/621(21)3(73)/63.7xxuxxyyuyyì=+?=+-=ïïíï=+?=+-=ïîu=3/4时1(21)1(71)3/45.51(21)3(73)3/46xxuxxyyuyyì=+?=+-?ïïíï=+?=+-?ïî若按4舍5入取整,则裁剪后的直线段是(2,4)到(6,6)(2)Cohen-Sutherland:设p1(x1,y1)=(1,3),p2(x2,y2)=(7,7)第一次循环:Code1=0001code2=1000m=(7-3)/(7-1)=0.67;因code1&0x1==0x1,所以与左边相交,p1.y+=(winmin.x-p1.x)*m,p1.y=3+(2-1)*0.67=3.67,p1.x=2第二次循环:Code1=0000code2=1000为保证p1在裁剪窗口外,令p1何p2互换,即p1(7,7),p2(2,3.67),code1=1000,code2=0000。因code1&0x8==0x1,所以与上边相交,p1.x+=(winmax.y-p1.y)/mp1.x=7+(6-7)/0.67=7-1.5=5.5,p1.y=6第三次循环:Code1=0000code2=0000完全可见,绘制p1(5.5,6)到p2(2,3.67),若按4舍5入取整,则裁剪后的直线段是(2,4)到(6,6)2、写出用Sutherland-Hodgeman算法按以下裁剪流程(左上右下)裁剪{v1,v2,v3}多边形的过程,写出每个裁剪器输出的顶点集。(1)左:输入{V1,V2,V3},输出{V2,I1,I3,V1}(2)上:输入{V2,I1,I3,V1},输出{I1,I3,V1,V2}(3)右:输入{I1,I3,V1,V2},输出{I3,V1,V2,I1}(4)下:输入{I3,V1,V2,I1},输出{I0,V2,I1,Q1}3、写出用Weilor-Atherton算法对以下多边形裁剪的过程及结果。Q0Q1Q2Q3I1I0I2I3第七章1、求图1中三角形变换至图2中三角形的变换矩阵。解:(1)缩放变换:Sx=1/2,Sy=1(2)平移变换:tx=2/3,ty=1(3)复合变换矩阵:2、求关于对称轴y=2的对称变换矩阵。(1)平移:tx=0,ty=-2(2)关于x轴的对称变换:(3)平移:tx=0,ty=2(4)复合变换矩阵:4、已知三角形各顶点的坐标为A(1,2),B(5,2),C(3,5),求相对y=2作对称变换后各坐标点的值。(要求用齐次坐标进行变换,写出变换矩阵)解:(1)各步骤同上。(2)A’(1,2),B’(5,2),C’(3,-1)5、设窗口左下角点为(xw1,yw1),宽LW,高HW;视区左下角点为(xv1,yv1),宽LV,高HV。已知窗口中一点A(xa,ya),求在视区中的坐标。103/21/2001/202/3(1/2,1)(2/3,1)011010011001001001MST轾轾轾犏犏犏犏犏犏===犏犏犏犏犏犏臌臌臌100100100100012010012014001001001001M轾轾轾轾犏犏犏犏犏犏犏犏=--=-犏犏犏犏犏犏犏犏臌臌臌臌x'x100xy'y014y110011M轾轾轾轾犏犏犏犏犏犏犏犏==-犏犏犏犏犏犏犏犏臌臌臌臌解:'1111'11'1111'11'''cossin0''()'sincos011000xaxvxaxwxaxwlvlvxwxalvxvxaxvlvlwlwlwlwyayvyaywyaywhvhvywyahvyvyayvhvhwhwhwhwlvxaxayaRyaqqqqq---?=??=?----?=??=?-轾轾轾-犏犏犏犏犏犏==犏犏犏犏犏犏臌臌臌1011011000lvxwxvlwlwxahvhvywyvyahwhw轾´犏-犏轾犏犏´犏犏-犏犏犏犏犏臌犏犏臌
本文标题:计算机图形学参考答案
链接地址:https://www.777doc.com/doc-2042312 .html