计算机图形学第五章习题11
计算机图形学教程课后习题参考答案
第一章1、试述计算机图形学研究的基本内容答:见课本P5-6页的1.1.4节;2、计算机图形学、图形处理与模式识别本质区别是什么请各举一例说明;答:计算机图形学是研究根据给定的描述,用计算机生成相应的图形、图像,且所生成的图形、图像可以显示屏幕上、硬拷贝输出或作为数据集存在计算机中的学科;计算机图形学研究的是从数据描述到图形生成的过程;例如计算机动画制作;图形处理是利用计算机对原来存在物体的映像进行分析处理,然后再现图像;例如工业中的射线探伤;模式识别是指计算机对图形信息进行识别和分析描述,是从图形图像到描述的表达过程;例如邮件分捡设备扫描信件上手写的邮政编码,并将编码用图像复原成数字;3、计算机图形学与CAD、CAM技术关系如何答:见课本P4-5页的1.1.3节;4、举3个例子说明计算机图形学的应用;答:①事务管理中的交互绘图应用图形学最多的领域之一是绘制事务管理中的各种图形;通过从简明的形式呈现出数据的模型和趋势以增加对复杂现象的理解,并促使决策的制定;②地理信息系统地理信息系统是建立在地理图形基础上的信息管理系统;利用计算机图形生成技术可以绘制地理的、地质的以及其它自然现象的高精度勘探、测量图形;③计算机动画用图形学的方法产生动画片,其形象逼真、生动,轻而易举地解决了人工绘图时难以解决的问题,大大提高了工作效率;5、计算机绘图有哪些特点答:见课本P8页的1.3.1节;6、计算机生成图形的方法有哪些答:计算机生成图形的方法有两种:矢量法和描点法;①矢量法:在显示屏上先给定一系列坐标点,然后控制电子束在屏幕上按一定的顺序扫描,逐个“点亮”临近两点间的短矢量,从而得到一条近似的曲线;尽管显示器产生的只是一些短直线的线段,但当直线段很短时,连成的曲线看起来还是光滑的;②描点法:把显示屏幕分成有限个可发亮的离散点,每个离散点叫做一个像素,屏幕上由像素点组成的阵列称为光栅,曲线的绘制过程就是将该曲线在光栅上经过的那些像素点串接起来,使它们发亮,所显示的每一曲线都是由一定大小的像素点组成的;当像素点具有多种颜色或多种灰度等级时,就可以显示彩色图形或具有不同灰度的图形;7、当前计算机图形学研究的课题有哪些答:见课本P10-11页的节;8、简述三维图形生成和输出的流水线答:见课本P13页1.5.6.节;9、向量图形和点阵图形之间的区别有哪些答:通过矢量法产生的图形称为矢量图形或者向量图形,用描点法产生的图形称为点阵图形;向量图形区别点阵图形的特点在于描述图形几何形状的数学模型及依据此模型生成几何图形的计算机命令;向量图形由各个基本图形构成,这就要求各个基本图形有各自独立的信息;如果用点阵图形来表示一个向量图形,构成向量图形的某个基本图形如直线段、圆弧等的所有点应有一个信息;因此,在描述一个基本图形时,同时要描述其相应的信息;向量图形最基本的优点是它本身是由精确的数据给出,所以可以充分利用各种输出图形设备的分辨率尽可能精确地输出图形;也正因为如此,向量图形的尺寸可以任意变化而不损失图形显示的质量;但是向量图形仅适合于描绘简单图形,而点阵图形可以描绘绚烂多彩的复杂图形;10、什么是虚拟现实技术和可视化技术答:虚拟现实技术:利用计算机生成一种模拟环境,通过多种传感器和设备使用户“投入”到该环境中,实现用户和该环境直接进行交互的技术;例如模拟飞机驾驶舱;可视化技术:通过对空间数据场构造中间几何因素,或用图形绘制技术在屏幕上产生二维图像;例如分子模型构造;第二章1、计算机图形系统有什么特点有哪些主要功能答:课本2.1.1的图22、计算机图形系统有哪几种各有什么特点答:一种分类方法:交互式图形系统允许操作者以某种方式对话方式或命令方式来控制和操作图形生成过程,使得图形可以边生成、边显示、边修改,直至符合要求为止;而被动式绘图系统,图形在生成过程中,操作者无法对图形进行实时操作和控制,不具备交互功能,只提供各种图形命令或图形程序库,通过编程获得所需图形;另一种分类方法:见课本2.1.3节,分为脱机绘图系统、联机绘图系统和交互式绘图系统;3、阴极射线管由哪些部分组成它们的功能分别是什么答:CRT由四部分组成:电子枪、聚焦系统、偏转系统和荧光屏,这四部分都在真空管内;电子枪由灯丝、阴极和控制栅极组成;灯丝加热阴极,阴极表面向外发射自由电子,控制栅控制自由电子是否向荧光屏发出,若允许电子通过,形成的电子流在到达屏幕的途中,被聚焦系统电子透镜聚焦成很窄的电子束,由偏转系统产生电子束的偏转电场或磁场,使电子束左右、上下偏转,从而控制荧光屏上光点上下、左右运动,使得在指定时刻在屏幕指定位置上产生亮点;4、光栅扫描显示器由哪些部分组成它们的功能分别是什么答:见课本P21页图所展示的组成框图,其后有各部分的介绍及功能;5、对于分辨率为10241024的光栅系统,若每一像素用8位和12位二进制来表示存储信息,各需多大光栅存储容量以及显存每一屏幕最多能显示多少颜色若R,G,B 灰度都占8位,其显示颜色的总数是多少解:1每一像素用8位二进制来表示存储信息,所需容量为102410241=202Byte=1MB彩色素:82=256项2若每一像素用12位二进制表示存储信息,所需容量为:10241024=202Byte = 由于显示卡的显存是按2的指数次倍增长的,因此所需显存为2M彩色素:122=4096 项3颜色总数:282828=224种6、对于19英寸显示器,若X 和Y 两方向的分辨率相等,即10241024,那么每个像素点的直径是多少解: 210244.25*19=mm 或2102419=英寸 7、对于分辨率为1024×768的光栅系统,若调色板设置为真彩色32位,此时需要显示一个三维图形,各需要多大光栅存储容量以及显存答:调色板为真彩色32位,即意味着像素值的位长为32所需容量为102476832/83=9MB 因此所需要的显存为16M8、GKS 有哪三种坐标系它们有什么不同试写出它们之间对应关系答:GKS 有3种不同的坐标系;第一种是供应用程序使用的实际世界坐标系统World Coordinate System,简称 WC ;第二种是GKS 内部使用的规范设备坐标系Normalized Device Coordinate,简称NDC,它的取值范围为0,1,这是一种既与设备无关也与应用无关的坐标系;第三种是各工作站物理设备使用的设备坐标系Device Coordinate System,简称DC;GKS 只支持二维对象的图形处理,因此上述3个坐标系都是二维坐标系;详见课本图的描述;9、GKS 中输入设备有哪6种逻辑功能请各举出对应的物理设备;答:见课本2.4.5.节;10、当前主流的图形软件有哪些答:见课本2.6.3节;第三章1、编写画一正方形程序,并在其中用不同的颜色画15个正方形,每一个都比前一个小;include“”include“”void main{int i,color=0,ls=0;int j=700;int gdriver=VGA;int gmode=VGAHI;initgraph&gdriver,&gmode,””;setbkcolor15; fori=0;i<225;i=i+15, j=j-30{ setcolorcolor;bari,i,j,j;color++; ls++;}getch;closegraph;}2、用不同的线形绘制题1中的图形include “”include “” 3-1批改说明; 必须至少包含""initgraph&gdriver,&gmode,""; 必须包含15个正方形,一般用for 循环,也可能用到while 等;void main{int i,color=1,ls=0;int j=700;int gdriver=VGA;gmode=VGAHI;initgraph&gdriver,&gmode,””;setbkcolor15;fori=0;i<=225;i=i+15, j=j-30{setcolorcolor; 为什么说直线生成算法是二维图形生成技术的基础 答:无论什么复杂图形,它们都是由直线段和曲线段组成三维图形经投影后最终变成了二维图形,而图形设备显示曲线段时,最终还是将曲线段转化成一系列直线段逼近表示的;因此,所有图形都可以看成是由直线段组成的;可参考课本图; 2. 根据DDA 画直线算法,遍一程序求0,0到4,12和0,0,到12,4的直线 include “”include “”void DDA_Lineint x1,int y1,int x2,int y2{float increx,increy,x,y,length;int i; 3-2批改说明; 注意查看3_1部分内容3-3批改说明;必须至少包含""initgraph&gdriver,&gmode,"";ifabsx2-x1>absy2-y1length=absx2-x1;elselength=absy2-y1;increx=x2-x1/length;increy=y2-y1/length;x=x1;y=y1;fori=1;i<=length;i++{putpixelx,y,1;x=x+increx;y=y+increy;}}void main{int driver=DETECT,mode=0; initgraph&driver,&mode,””; int x1=0,y1=0,x2=4,y2=12;int x3=12,y3=4;DDA_Linex1,y1,x2,y2;DDA_Linex1,y1,x3,y3;getch;}3. 根据逐点比较法编一程序画一段圆弧,其圆心为0,0,圆弧两点为A5,0、B0,5 方法1:顺4象限include ""include ""include ""void ZDBJ_ARCfloat x0,float y0,float x1,float y1,float x2,float y2; void main{int gdriver=CGA,mode=CGAC0;initgraph&gdriver,&mode," ";ZDBJ_ARC0,0,25,0,0,25;getch;closegraph;}void ZDBJ_ARCfloat x0,float y0,float x1,float y1,float x2,float y2 {float f=,F;float dx=1,dy=1;whileabsx1-x2>1{iff>=0{x1=x1-dx;y1=y1;putpixelx1,y1,1;f=f-2dxx1-x0+dxdx;}else{x1=x1;y1=y1+dy;putpixelx1,y1,1;f=f+2dyy1-y0+dydy;}}}方法2:逆4象限include ""include ""include ""void ZDBJ_ARCfloat x0,float y0,float x1,float y1,float x2,float y2;void main{int gdriver=CGA,mode=CGAC0;initgraph&gdriver,&mode," ";ZDBJ_ARC0,0,0,25,25,0;getch;closegraph;}void ZDBJ_ARCfloat x0,float y0,float x1,float y1,float x2,float y2 {float f=,F;float dx=1,dy=1;whileabsy1-y2>1{iff>0{x1=x1;y1=y1-dy;putpixelx1,y1,1;f=f-2dyabsy1-y0+dydy;}elsex1=x1+dx;y1=y1;putpixelx1,y1,1;f=f+2dxabsx1-x0+dxdx;}}}方法3:顺1象限include“”编一程序用角度DDA法画一圆,采用DDA算法产生的直线和将端点坐标值先取整后再用否完全相同为什么能否扩充整数Bressenham不是整数的情况;答:不相同;因为DDA算法总是选择△x或者△y中的较大者作为步进的方向,不失一般性,假设选择x方向,则x方向每前进一个像素点,y方向前进的像素点个数应该在0, 1区间,但是由于采用了向上或者向下或者四舍五入取整运算,必然会导致某些像素点偏在了真实直线的一侧;而Bressenham算法每一步都会根据实际直线与网格的距离来决定下一个像素点的选择,因此所选像素点更加贴近于真实的直线;可以扩充整数Bressenham算法使之能够处理当线段端点坐标值不是整数的情况;6. 若采用Bresenham算法实现画圆,写出算法实现的具体流程包括判别公式推导B答:给定圆心在原点,半径为R 的圆,其方程为x 2+y 2=R 2,构造函数Fx, y= x 2+y 2-R 2,对于圆上的点,有Fx, y=0;对于圆外的点,Fx, y>0;而对于圆内的点,Fx, y<0;此处仅考虑如图所示的第一象限内x ∈⎣⎦2/,0R 的1/8圆弧,此时中点Bresenham素序列; x 方向上走一步,而y 方向上或减1或减i , y i ,那么下一候选像素只能是正右方的Pux i 进行判别;假设M 是Pu 和Pd 的中点,即有Mx i +1, ,则当Fx M , y M <0,M 在圆内,这说明Pu 离圆弧更近,应取其为下一个像素点;当Fx M , y M >0,M 在圆外,说明Pd 离圆弧更近;当Fx M , y M =0,则约定取Pd;构造判别式d i =Fx M , y M = Fx i +1, =x i +12+2- R 2 1 当d i <0,取Pux i +1, y i ,计算下一步的的判别式 d i+1=Fx u , y u = Fx i +2, = x i +22+2- R 2= d i +2x i +3 所以沿正右方向,d i 的增量为2x i +3;2 当d i ≥0,取Pdx i +1, y i +1,计算下一步的的判别式 d i+1=Fx d , y d = Fx i +2, = x i +22+2- R 2= d i +2x i -y i +5所以沿右下方向,d i 的增量为2x i -y i +5;显然,所绘制圆弧段的第一个像素为P 00, R,因此判别式d 0的初始值为,可以令d ’=来摆脱小数运算,则判别式d i <0对应于d i <,由于d 始终是整数,d i <等价于d i <0;YX圆7. 已知4个型值点,,,,,,,,求各段三次样条曲线;SiXi=1,2,3,设边界条件为抛物线端解:m1=x2-x1=, m2=x3-x2=, m3=x4-x3=1; λ2=m2/m2+m1=; u2=m1/m1+m2=; λ3=m3/m2+m3=; u3=m2/m2+m3=;R2=3u2y3-y2/m2+λ2y2-y1/m1=; R3=3u3y4-y3/m3+λ3y3-y2/m2=; 于是有+2b 2+= ............1 +2b3+= (2)又边界抛物线端b1+b2=2 ..............................3 b3+b4=-1 (4)由1,2,3,4得b1=39/38, b2=37/38, b3=3/38, b4=-41/38从而 c1=-1/57; d1=0; c2=-1/57; d2=-64/513;,, ,,c3=-11/19;d3=0;故可得s1x=2+39/38x-1-1/57x-12 x∈,s2x=+37/38-1/572-64/5133 x∈,s3x=+3/38x-4-11/19x-42 x∈,8. 已知4个型值点坐标值P05,5、P110,15、P215,10、P310,5,绘一个三次贝塞尔曲线;解:用矩阵表示为pt=t3 t2 t 1P p0 p1 p2 p3TP= -1 3 -3 13 -6 3 0-3 3 0 01 0 0 0p0=5, 5p=,p=,p=,p=,p=,p1=10, 5将上面各点相连可以画出三次贝塞尔曲线;9. 编写一个绘制Bezier曲线的程序;该程序根据以下数据点x, y:50, 100 80, 230 100, 270 140, 160 180, 50 240, 65 270, 120 330, 230 380, 230 430, 150计算出结果,并实现三段首尾相接的三次贝塞尔曲线在屏幕上显示的功能,采用了C++语言实现;include ""include ""include ""typedef struct{double x,y;} DPOINT; , bPi.y, bPi+1.x, bPi+1.y ; , bPi.y,5; ,bPm_maxIndex.y,5;}void Bezier::drawCurve+3bPp1.x-3bPp2.x+bPp3.xttt+3bPp0.x-6bPp1.x+3bPp2.xtt+-3bPp0.x+3bPp1.xt+bPp0.x;tmpy=-bPp0.y+3bPp1.y-3bPp2.y+bPp3.yttt+3bPp0.y-6bPp1.y+3bPp2.ytt+-3bPp0.y+3bPp1.yt+bPp0 .y;putpixeltmpx,tmpy,3;}}void main =;p0.y=;p1.x=;p1.y=;p2.x=;p2.y=;p3.x=;p3.y=;p4.x=;p4.y=;p5.x=;p5.y=;p6.x=;p6.y=;p7.x=;p7.y=;p8.x=;p8.y=;p9.x=;p9.y=;Bezier bzrp,10; ;delete p; getch; closegraph;}10. 编写一个绘制B 样条曲线的程序;该程序根据以下数据点x, y :P050, 130 P1120, 40 P2100, 270和P3140, 160计算出结果,并实现两段首尾相接的两次B 样条曲线在屏幕上显示的功能,采用了C++语言实现;将已知点代入式4-19可得两段两次B 样条曲线方程:P 1t = 21 t2 t 1⎢⎢⎢⎣⎡-121122- ⎥⎥⎥⎦⎤001⎢⎢⎢⎣⎡10012050⎥⎥⎥⎦⎤27040130 =-45 160t 2 +70 -90t +85 85P 2t = 21 t2 t1⎢⎢⎢⎣⎡-121122- ⎥⎥⎥⎦⎤001⎢⎢⎢⎣⎡140100120⎥⎥⎥⎦⎤60127040 = 30 -170t 2 +-20 230t +110 155include "" include "" include "" typedef struct { double x,y;} DPOINT; , bPi.y, bPi+1.x, bPi+1.y ; , bPi.y,5; ,bPm_maxIndex-1.y,5;}void B_Spline::drawCurve -bPp1.x+bPp2.xtt+-bPp0.x+bPp1.xt+bPp0.x+bPp1.x;tmpy=bPp0.y-bPp1.y+bPp2.ytt+-bPp0.y+bPp1.yt+bPp0.y+bPp1.y; putpixeltmpx,tmpy,3;}}void main =; p0.y=; p1.x=; p1.y=;p2.x=;p2.y=;p3.x=;p3.y=;B_Spline b_spp,4;;delete p;getch;closegraph;}11. 简述NURBS曲线产生的背景和特点答:NURBS曲线具有局部可调性、凸包性、几何和透视投影变换不变性等等,它采用有理参数多项式可以精确表示圆锥曲线、二次曲面等,对于几何造型算法提供了思路;12. 将下列数据X 2 6 10 12 14 16Y 3 8 11 13 15 17按最小二乘法曲线拟合,分别求一次和二次多项式曲线,拟合以上数据并画图表示;解:如下表所示:一次多项式的情形:60a +601a =67 0a = 600a +7361a =802 1a= 所求多项式为y=fx=+二次多项式的情形:60a +601a +7362a =67 0a = 600a +7361a +97922a =802 1a = 7360a +97921a +1360002a =10564 2a =所求多项式为y=fx=+ 设五边形的五个顶点坐标为10, 10,15, 5,12, 5,8, 2和4, 5,利用多边形区域填充算法,编一程序生成一个实心图;解:假设以上五个顶点依次对应编号A-B-C-D-E,首先计算得到ET 表:0123456789100123456789101112131415165 43 2 10 用于存放AET 活动边表 该多边形的AET 指针的内容为: 1 AET 为空 2 3 4 5 6 7 8DC9具体编程实现如下:第1步:1 根据输入的五个顶点坐标找到y值最小的点例如点D,此时y=2,并找到与D有边关系的两个顶点此时为E和C,在y=2处建立ET边表记录ymax、xi和m 值均可通过顶点坐标间的计算得到,例如DE边的建立,特别注意:当D点和E点y 坐标值相同时,也即是DE与x轴平行,该边不能计入ET边表,之后标记D点被访问过;2 排除访问过的点以及和该点相关联的边,重复1直至将ET表建立完善;注边关系的建立可通过邻接矩阵的数据结构实现,权值可以为该矩阵行编号对应点的y坐标值,ET边表采用邻接表的数据结构第2步:根据ET表构建AET表,并逐行完成多边形填充,具体的C++代码如下:1 建立头文件,主要是边表结点结构体和ET边表类的实现enum ResultCode{Success, Failure};template <class T>struct Enode{Enode {next=NULL;}EnodeT pymax, float pxi, float pm, Enode pnext{ymax=pymax; xi=pxi;m=pm; next=pnext;}T ymax, xi; 已知多边形各顶点坐标为2, 22, 48, 612, 28, 16, 2及2, 2,在用多边形区域填充时,请写出ET 及全部AET 内容; 解:如图所示:1234567891011120123456789101112则该多边形的ET 表为: 6 5 4 3 2该多边形的AET 指针的内容为:每条扫描线均有3行指针链,第1行表示将ET 表加入AET 中,第2行表示从AET 表中删去y i =y max ,第3行表示x i =x i +1/m 后,学生只要P写出第2行即可 1 2 3 4 515. 用扫描线种子填充算法,编写一个填充多边形区域的程序;204060801001201401601802000306090120150180210240270300该测试多边形的各个端点坐标分别为:A50, 150,B50, 100,C100, 50,D250, 50,E200, 150; F100, 100,G100, 75,H175, 135; /本程序实现区域填充功能,首先输入多边形顶点的个数,回车, 然后依次输入各顶点的坐标格式如下:100,123回车一定要在中间用逗号隔开噢,输完最后一个点后,屏幕上会依次 画出各条边,最后填充满程序还不完善,比如颜色值应该用变量表示以易于修改,画多边形和求种子点 应该做成独立的函数等等,以后再做上吧,这是细节的问题 扫描的次序:先上后下 进栈的次序:先右后左 测试数据:第一个多边形:A50, 150,B50, 100,C100, 50,D250, 50,E200, 150; 第二个多边形:F100, 100,G100, 75,H175, 135; /include <> include <> include <> include <> include <>和0, 15,对此图形分别进行下列比1 2 解:如图所示,实线部分为原图,虚线部分为变换后得到的图形:1 原先坐标 变换矩阵 变换后坐标⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡1150115201020100⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡100020000.5=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡1300130101010100 2 原先坐标 变换矩阵 变换后坐标10 20 40图b⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡1150115201020100⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡0.500010001=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡0.51500.515200.50200.500 归一化 ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡1300130401040100 17.已知三角形各顶点坐标为10,10,10,30,30,15,试对其进行下列变换,写出变换矩阵,画出变换后的图形;(1) 沿X 向平移20,沿Y 向平移15,再绕原点旋转90度 (2) 绕原点旋转,再沿X 向平移20,沿Y 轴平移15 解:1由二维图形变换相关知识,可得变换矩阵为1 0 0 cos90 sin 90 0 0 1 0 0 1 0 -sin90 cos90 0 = -1 0 0 20 15 1 0 0 1 -15 20 1 根据得出的新坐标可画出图形图形略 新坐标的值为-25, 30-45, 30-30, 50 2变换矩阵为:10 10 1 0 1 0T= 10 30 1 -1 0 0 30 15 1 20 15 1 坐标数据点 变换矩阵 10 25 1T= -10 25 15 45 1由得出的新坐标画图图形略18.已知直线方程(1)y=kx+b(2)x/a+y/b=1a==0试求出图形对该直线进行对称变换得变换矩阵解:1kx-y+b=0α=arctg-A/B =arctgk (1)cos2α sin2α 0T= sin2α -cos2α 0 (2)Cos2α-1C/A sin2αC/A 1将1代入2式可得变换矩阵,并根据万能公式sin2α=2sinαcosαcos2α=cos2α-sin2αtgα=sinα/cosα可得1-K2/1+K2 2K/1+K2 0T= 2K/1+K2 K2-1/K2+1 0-2bK/1+K2 2b/1+K2 12x/a +y/b =1bx+ay-ab=0所以α=arctg-A/B=arctg-b/a (3)将3代入2式得a2-b2/a2+b2 -2ab/a2+b2 0T= -2ab/a2+b2 b2-a2/b2+a2 02ab 2/a 2+b 2 2a 2b/a 2+b 2 1 19. 编一程序实现直线的编码裁剪法 解:具体源代码如下所示: include "" include "" include "" include ""int w1=90, w2=270, w3=40, w4=160;编一程序实现直线中点分割裁剪法解:如图所示:include "" include "" include "" include ""define e 1 什么是反走样技术,比较超采样和区域采样的异同点答:各种光栅化算法,如非水平亦非垂直的直线或多边形边界进行扫描转换时,或多或少会产生锯齿或阶梯状;我们把这种用离散量表示连续量引起的失真称为走样Aliasing;走样是数字化发展的必然产物;所谓的反走样Antialiasing 技术,就是减缓或者消除走样效果的技术;目前有两类反走样的方法,第一类方法是通过提高采样频率提高光栅分辨率来显示图形的细节;基于此,可以将显示器看成比实际更加细腻的网格,在这种假想的高分辨率上对光栅进行计算,采用某种平均算法得到较低分辨率的像素的属性,并把结果转换到较低分辨率的显示器上进行显示;我们将这种方法称之为超采样Supersampling 或者后置滤波有些教材也称为过取样;第二类反走样技术是根据图形在每个像素点上的覆盖程度来确定像素点的最xmax, ymaxP1x1,终亮度,此时将像素点当成了一个有面积的平面区域而并非一个点,这种方法称之为区域采样Area Sampling 或者前置滤波;第五章 习题参考答案1.试编写一个绘制Bezier 曲面的程序; 解答:void CMyView::OnAppBezier {22223333cos θsin θsin θcos θ3322221/32/3cos θ+1/31/3cos θθ+-θθ1/31/3cos θθ-1/32/3cos θ+1/33sin 1/3cos θθ+-1/33sin 1/3cos θθ-1/33sin 1/3cos θθ-1/32/3cos θ+1f246a186f266c/int i, j, m, n;float pNewMatrix1, pNewMatrix2, Sum; if Num_Column_Matrix1 = Num_Row_Matrix2 { printf"Invalid Matrixs\n"; return 0; }pNewMatrix1 = mallocNum_Row_Matrix1 Num_Column_Matrix2 4; /申请内存空间, Size/bytes = 第一个矩阵的行数 第二个矩阵的列数 4= sizeoffloat/pNewMatrix2 = pNewMatrix1;/具体算法详见如下代码/for i = 0; i < Num_Row_Matrix1; i++ {for n = 0; n < Num_Column_Matrix2; n++ {Sum = 0;for j = 0; j < Num_Column_Matrix1; j++Sum += pMatrix1+iNum_Column_Matrix1+j pMatrix2+jNum_Column_Matrix2+n;pNewMatrix1++ = Sum;}}return pNewMatrix2;}/转换成齐次坐标矩阵/void Matrix_Convertionfloat pMatrix, int Num_Row {int i, j;fori = 0; i < Num_Row; i++ {ifpMatrix+i4+3 = 0 {pMatrix+i4 = pMatrix+i4 / pMatrix+i4+3;pMatrix+i4+1 = pMatrix+i4+1 / pMatrix+i4+3;pMatrix+i4+2 = pMatrix+i4+2 / pMatrix+i4+3;}}}/取得投影坐标/float Get_X_Yfloat pMatrix, int Num_Row {int i, j, Num;float pNewMatrix;Num = 0;fori = 0; i < Num_Row; i++ {ifpMatrix+i4+3 = 0Num++;}pNewMatrix = mallocNum 2 4;/存放格式,{x1, y1,x2, y2, ... ,xn, yn}/fori = 0; i < Num; i++ {ifpMatrix+i4+3 = 0 {pNewMatrix+i2 = pMatrix+i4+300; /显示在屏幕中心, x = 300/pNewMatrix+i2+1 = pMatrix+i4+1+200; /显示在屏幕中心, y = 200/}}return pNewMatrix;}/设置旋转矩阵, Rotate around aixs labled with X or Y or Z/ void SetMatrix_Xfloat X_Angle {float CosX, SinX;SinX = sinX_Angle PI /128;CosX = cosX_Angle PI /128;X_Rotate_Matrix11 = CosX;X_Rotate_Matrix12 = SinX;X_Rotate_Matrix21 = -1 SinX;X_Rotate_Matrix22 = CosX;}void SetMatrix_Yfloat Y_Angle {float CosY, SinY;SinY = sinY_Angle PI /128;CosY = cosY_Angle PI /128;Y_Rotate_Matrix00 = CosY;Y_Rotate_Matrix02 = -1 SinY;Y_Rotate_Matrix20 = SinY;Y_Rotate_Matrix22 = CosY;}void SetMatrix_Zfloat Z_Angle {float CosZ, SinZ;SinZ = sinZ_Angle PI /128;CosZ = cosZ_Angle PI /128;Z_Rotate_Matrix00 = CosZ;Z_Rotate_Matrix01 = SinZ;Z_Rotate_Matrix10 = -1 SinZ;Z_Rotate_Matrix11 = CosZ;}/类同/void Set_Transist_Matrixfloat X, float Y,float Z { Transist_Matrix30 = X;Transist_Matrix31 = Y;Transist_Matrix32 = Z;}/类同/void Set_Perspective_Projectionfloat k {Perspective_Projection23 = -1/k;}/初始化图形驱动/void InitGraphvoid {int gd=DETECT,gm;initgraph&gd,&gm,"E:\\TC";}/生成立方体/float Cubevoid {int i, j, k;float pPoints1, pPoints2;num = 0;for i = -50; i <= 50; i += 20for j = -50; j <= 50; j += 20for k = -50; k <= 50; k += 20 num++;pPoints1 = malloc num 4 4 ;pPoints2 = pPoints1;for i = -50; i <= 50; i += 20for j = -50; j <= 50; j += 20for k = -50; k <= 50; k += 20 { pPoints1++ = i;pPoints1++ = j;pPoints1++ = k;pPoints1++ = 1;}return pPoints2;}/Functions used for drawing & Clearing/ void Plot_NewPointsfloat pPoints {int i;fori=0;i<num;i++putpixel int pPoints+i2, int pPoints+i2+1, 7;}void Clear_OldPointsfloat pPoints {int i;fori=0;i<num;i++putpixel int pPoints+i2, int pPoints+i2+1, 0;}/Function used for controlling/void Operateint Switch, float Ang_Rot_X, float Ang_Rot_Y, float Ang_Rot_Z,float X_Delta, float Y_Delta, float Z_Delta,float Distance {switchSwitch {case X_axis_clkwise: Ang_Rot_X--; break;case X_axis_Cntclkwise: Ang_Rot_X++; break;case Y_axis_clkwise: Ang_Rot_Y--; break;case Y_axis_Cntclkwise: Ang_Rot_Y++; break;case Z_axis_clkwise: Ang_Rot_Z--; break;case Z_axis_Cntclkwise: Ang_Rot_Z++; break;case X_Delta_Plus: X_Delta--; break;case X_Delta_Minus: X_Delta++; break;case Y_Delta_Plus: Y_Delta--; break;case Y_Delta_Minus: Y_Delta++; break;case Z_Delta_Plus: Z_Delta++; break;case Z_Delta_Minus: Z_Delta--; break;case Distance_forward: Distance++; break; case Distance_Backward: Distance--; break; default: Ang_Rot_Y++; break;}}int main {int i, j, Key;float pMatrix1, pMatrix2;float pBasePoints;float pPerspectivePoints;float Ang_Rot_Xaxis, Ang_Rot_Yaxis, Ang_Rot_Zaxis; float X_Delta, Y_Delta, Z_Delta;float Distance;clrscr;InitGraph;/Varieties initialized/pBasePoints = Cube;Ang_Rot_Xaxis = 0;Ang_Rot_Yaxis = 0;Ang_Rot_Zaxis = 0;X_Delta = 0;Y_Delta = 0;Z_Delta = 0;Distance = 200;Key = 0;whileKey = ESC {if bioskey1Key = bioskey0;OperateKey, &Ang_Rot_Xaxis, &Ang_Rot_Yaxis, &Ang_Rot_Zaxis,&X_Delta, &Y_Delta, &Z_Delta, &Distance;SetMatrix_XAng_Rot_Xaxis;SetMatrix_YAng_Rot_Yaxis;SetMatrix_ZAng_Rot_Zaxis;Set_Transist_MatrixX_Delta, Y_Delta, Z_Delta;Set_Perspective_ProjectionDistance;/The following may be known by youpay your attention specially to the pair of malloc & free /pMatrix1 = Matrix_Mul floatX_Rotate_Matrix, 4, 4, floatY_Rotate_Matrix, 4, 4;pMatrix2 = Matrix_Mul pMatrix1, 4, 4, floatZ_Rotate_Matrix, 4, 4;freepMatrix1;pMatrix1 = Matrix_Mul pMatrix2, 4, 4, floatTransist_Matrix, 4, 4;freepMatrix2;pMatrix2 = Matrix_Mul pMatrix1, 4, 4, floatPerspective_Projection, 4, 4;freepMatrix1;pMatrix1 = Matrix_Mul pBasePoints, num, 4, pMatrix2, 4, 4;freepMatrix2;Matrix_Convertion pMatrix1, num;pPerspectivePoints = Get_X_YpMatrix1, num;Plot_NewPointspPerspectivePoints;delay5000;Clear_OldPointspPerspectivePoints;freepPerspectivePoints;freepMatrix1;}freepBasePoints;closegraph;return 0;}5.设三棱锥各顶点坐标为0,0,20,20,0,20,20,0,0,10,20,10,试编程绘制三面正投影图;void CProView::OnStart {0.70700.40800.70700.4080000.81600001-⎡⎤⎢⎥--⎢⎥⎢⎥⎢⎥⎣⎦⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡---10000943.0000312.00354.00118.00935.0⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-100001000707.00707.0001⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-100001000354.00354.0001⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡+=100100000001mq n lq ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡++--=10sin cos 010000sin 00cos mq lp n m l q pθθθθ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡++++---1cos )cos sin (sin 0sin cos cos 00sin cos 0sin sin sin 0cos 2112112211211nr mp lp n m l m l rq pθθθθθθθθθθθθθ(2,0,0)AB =-(1,0,1)AC =-),,(z y x n =n AB n AC 200n AB x n AC x z ⎧•=-=⎪⎨•=-+=⎪⎩00x z =⎧⇒⎨=⎩(0,1,0)n = for y := Ymin to Ymax do for X := Xmin to Xmax do if z < offset { offset = z;offset = Ival;} face = ; }13.试述画家算法的基本思想;画家方法也称表优先级法;这种方法的效率介于物体空间算法和图像空间算法之间,它在物体空间预先计算物体各面可见性优先级,然后在图像空间产生消隐图;它以深度优先级进行排序,按照多边形离观察者的远近来建立一张深度优先级表,离观察者远的优先级低,近的优先级高;当深度优先级表确定以后,画面中任意两个图形元素在深度上均不重叠,从而解决消隐问题;14.试述基本的Warnock算法思想;Warnock算法遵循“细分与占领”的设计思想;首先在图像空间中设置一个窗口,用递归过程来判定窗口内是否有可见的目标多边形;当判定的窗口中不包含任何多边形或者窗口内只有与一个多边形的相交部分时,称这个多边形为可见;这时可直接显示该窗口;否则,就将该窗口分割成若干较小的窗口,直到被分割的子窗口所包含的画面足够简单,可直接显示为止;。
《计算机图形学》习题与解答
《计算机图形学》习题与解答第一章概述1. 试描述你所熟悉的计算机图形系统的硬软件环境。
计算机图形系统是计算机硬件、图形输入输出设备、计算机系统软件和图形软件的集合。
例如:计算机硬件采用PC、操作系统采用windows2000,图形输入设备有键盘、鼠标、光笔、触摸屏等,图形输出设备有CRT、LCD等,安装3D MAX图形软件。
2. 计算机图形系统与一般的计算机系统最主要的差别是什么?3. 图形硬件设备主要包括哪些?请按类别举出典型的物理设备?图形输入设备:鼠标、光笔、触摸屏和坐标数字化仪,以及图形扫描仪等。
图形显示设备:CRT、液晶显示器(LCD)等。
图形绘制设备:打印机、绘图仪等。
图形处理器:GPU(图形处理单元)、图形加速卡等等。
4. 为什么要制定图形软件标准?可分为哪两类?为了提高计算机图形软件、计算机图形的应用软件以及相关软件的编程人员在不同计算机和图形设备之间的可移植性。
图形软件标准通常是指图形系统及其相关应用系统中各界面之间进行数据传送和通信的接口标准,另外还有供图形应用程序调用的子程序功能及其格式标准。
5. 请列举出当前已成为国际标准的几种图形软件标准,并简述其主要功能。
(1)CGI(Computer Graphics Interface),它所提供的主要功能集包括控制功能集、独立于设备的图形对象输出功能集、图段功能集、输入和应答功能集以及产生、修改、检索和显示以像素数据形式存储的光栅功能集。
(2)GKS(Graphcis Kernel System),提供了应用程序和图形输入输出设备之间的接口,包括一系列交互和非交互式图形设备的全部图形处理功能。
主要功能如下:控制功能、输入输出功能、变换功能、图段功能、询问功能等。
6. 试列举计算机图形学的三个应用实例。
(1)CAD/CAM(2)VISC(3)VR.第二章光栅图形学1. 在图形设备上如何输出一个点?为输出一条任意斜率的直线,一般受到哪些因素影响?若图形设备是光栅图形显示器,光栅图形显示器可以看作是一个像素的矩阵,光栅图形显示器上的点是像素点的集合。
(完整版)计算机图形学基础第五章课后习题答案
5.3 试用中点Bresenham 算法画直线段的原理推导斜率在[-1,0]之间的直线段绘制过程(要求写清原理、误差函数、递推公式以及最终画图过程)。
解:原理:每次在最大位移方向上走一步,而另一个方向是走步还是不走步取决于误差项的判别。
∵斜率k 在[-1,0]之间∴x 为最大位移方向,每次在x 加1,而y 或减1或减0。
设直线段的方程F(x,y)=y-kx-b ,假设当前点是P(x i ,y i ),则下一点在P u (x i +1,y i )与P d (x i +1,y i -1)中选一。
设M 为P u 和P d 的中点,则M 点的坐标为(x i +1,y i -0.5)。
构造误差判别式:d i =F(x M ,y M )=F(x i +1,y i -0.5)=y i -0.5-k(x i +1)-b若d i ≥0,取P d (x i +1,y i -1);若d i <0,取P u (x i +1,y i );即有x i+1=x i +1,y i+1=y i -1(d i ≥0)或y i (d i <0)。
误差函数的递推:d i ≥0时,取P d (x i +1,y i -1),再判断下一像素取哪个时,应计算d i+1=F(x i +2,y i -1.5)= y i -1.5-k(x i +2)-b=d i -1-k ,增量为-1-k 。
d i <0时,取P u (x i +1,y i ),再判断下一像素取哪个时,应计算(x 0,yd i+1=F(x i+2,y i-0.5)= y i-0.5-k(x i+2)-b=d i-k,增量为-k。
判别式的初值:从(x0,y0)点出发,下一个像素的选取计算d0=F(x0+1,y0-0.5)= y0-0.5-k(x0+1)-b=-0.5-k取的是误差判别式的符号,因此可进行如下变换:D=d*2∆x∆x=x1-x0,根据选取的起点和绘制方向,∆x>0,因此,D与d同号。
第五章习题
一、选择题1.下列________图像文件格式大量用于扫描仪和桌面出版。
A.BMP B.TIF C.GIF D.JPEG2.若计算机中连续2个字节内容的十六进制形式为34和51,则它们不可能是________。
A.2个西文字符的ASCII码 B.1个汉字的机内码C.1个16位整数 D.一条指令3.下面关于图像的叙述中错误的是________。
A.图像的压缩方法很多,但是一台计算机只能选用一种B.图像的扫描过程指将画面分成m×n个网格,形成m×n个取样点C.分色是将彩色图像取样点的颜色分解成三个基色D.取样是测量每个取样点每个分量(基色)的亮度值4.使用16位二进制编码表示声音与使用8位二进制编码表示声音的效果不同,前者比后者________。
A.噪音小,保真度低,音质差 B.噪音小,保真度高,音质好C.噪音大,保真度高,音质好 D.噪音大,保真度低,音质差5.下列关于计算机合成图像(计算机图形)的应用中,错误的是________。
A.可以用来设计电路图B.可以用来生成天气图C.计算机只能生成实际存在的具体景物的图像D.可以制作计算机动画6.下列汉字输入方法中,属于自动识别输入的是________。
A.把印刷体汉字使用扫描仪输入,并通过软件转换为机内码形式B.键盘输入C.语音输入D.联机手写输入7.一个字符的标准ASCII码由________位二进制数组成。
A.7 B.1C.8 D.168.把模拟的声音信号转换为数字形式有很多优点,以下不属于其优点的是________。
A.数字声音能进行数据压缩,传输时抗干扰能力强B.数字声音易与其他媒体相互结合(集成)C.数字形式存储的声音复制时没有失真D.波形声音经过数字化处理后,其数据量会变小9.某显示器的最高分辩率为1024*1024,可显示的不同颜色的总数为65536种,则显示存储器中用于存储图像的存储容量是________。
A.0.5MB B.2MB C.1MB D.16MB10.汉字的键盘输入方案数以百计,能被用户广泛接受的编码方案应________。
计算机图形学基础课后部分习题答案
xi+1 xi+2
第四象限
-6-
d0=F(x0+1,y0-0.5)=-(k+0.5) 令 Di=2dxdi,得 D0=-(dx+2dy),D 与 d 同号 当 Di≥0,下一点(xi,yi-1),Di+1=Di-2dy 当 Di≤0,下一点(xi+1,yi-1),Di+1=Di-2(dx+dy)
大学计算机第五章(订正了部分答案)
第五章1、数字视频的一些特性提示我们可对其进行大幅度数据压缩,这些特性中不包含_____。
AA.数字视频的数据量大得惊人B. 视频信息中各画面内部有很强的信息相关性C. 一些视频细节人眼无法感知D. 视频信息中相邻画面的内容有高度的连贯性2、数字图像的基本属性中不包含______。
AA. 宽高比B. 分辨率C. 像素深度D. 颜色空间的类型3、在未压缩情况下,图像文件大小与下列因素无关的是________。
AA. 图像内容B. 水平分辨率C.垂直分辨率D.像素深度4、视频卡能够处理的视频信号可以来自连接在计算机上的_______设备。
AA. 显示器B. VCD盘唱盘 D.扬声器5、下列关于计算机合成图像(计算机图形)的应用中,错误的是__________。
CA. 可以用来设计电路图B. 可以用来生成天气图C.计算机只能生成实际存在的具体景物的图像,不能生产虚拟景物的图像D.可以制作计算机动画6、使用计算机进行文本编辑与文本处理是常见的两种操作,下面属于文本处理操作的是_________。
DA. 设置页面版式B. 设置文章标题首行居中C.设置文本字体格式D.文语转换7、图像处理软件有很多功能,以下________不是通用图像处理软件的基本功能。
DA.图像的缩放显示B. 调整图像的亮度、对比度C. 在图片上制作文字,并与图像融为一体D. 设计制作石油开采地形图8、文字处理软件输出汉字时,首先根据汉字的机内码在字库中进行查找,找到后,即可显示(打印)汉字,在字库中找到的是该汉字的__________。
DA. 外部码B. 交换码C. 输入码D. 字形描述信息9、若中文Windows 环境下西文使用标准ASCII码,汉字采用GB2312编码,设有一段简单文本的内码为CB F5 D0 B4 50 43 CA C7 D6 B8,则在这段文本中,含有________。
B 个汉字和1个西文字符个汉字和2个西文字符个汉字和2个西文字符个汉字和1个西文字符10、对带宽为300~3400Hz的语音,若采样频率为8kHz、量化位数为8位、单声道,则其未压缩时的码率约为_____。
【中南大学】计算机图形学习题及答案
计算机图形学作业答案第一章序论第二章图形系统1.什么是图像的分辨率?解答:在水平和垂直方向上每单位长度(如英寸)所包含的像素点的数目。
2.计算在240像素/英寸下640×480图像的大小。
解答:(640/240)×(480/240)或者(8/3)×2英寸。
3.计算有512×512像素的2×2英寸图像的分辨率。
解答:512/2或256像素/英寸。
第三章二维图形生成技术1.一条直线的两个端点是(0,0)和(6,18),计算x从0变到6时y所对应的值,并画出结果。
解答:由于直线的方程没有给出,所以必须找到直线的方程。
下面是寻找直线方程(y =mx+b)的过程。
首先寻找斜率:m =⊿y/⊿x =(y2-y1)/(x2-x1)=(18-0)/(6-0) = 3接着b在y轴的截距可以代入方程y=3x+b求出 0=3(0)+b。
因此b=0,所以直线方程为y=3x。
2.使用斜截式方程画斜率介于0°和45°之间的直线的步骤是什么?解答:(1)计算dx:dx=x2-x1。
(2)计算dy:dy=y2-y1。
(3)计算m:m=dy/dx。
(4)计算b: b=y1-m×x1(5)设置左下方的端点坐标为(x,y),同时将x end设为x的最大值。
如果dx < 0,则x=x2、y=y2和x end=x1。
如果dx > 0,那么x=x1、y=y1和x end=x2。
(6)测试整条线是否已经画完,如果x > x end就停止。
(7)在当前的(x,y)坐标画一个点。
(8)增加x:x=x+1。
(9)根据方程y=mx+b计算下一个y值。
(10)转到步骤(6)。
3.请用伪代码程序描述使用斜截式方程画一条斜率介于45°和-45°(即|m|>1)之间的直线所需的步骤。
假设线段的两个端点为(x1,y1)和(x2,y2),且y1<y2int x = x1, y = y1;float x f, m = (y2-y1)/(x2-x1), b = y1-mx1;setPixel( x, y );/*画一个像素点*/while( y < y2 ) {y++;x f = ( y-b)/m;x = Floor( x f +0.5 );setPixel( x, y );}4.请用伪代码程序描述使用DDA算法扫描转换一条斜率介于-45°和45°(即|m|≤1)之间的直线所需的步骤。
《计算机图形学》1-8章习题解答
3.请给出Hermite形式曲线的曲线段i与曲线段i-1及曲线段i+1实现C1连续的条件。
答:参见教材第133页。
(4)进行步骤(2)和(1)的逆变换,变换矩阵为 和 。
设向量 ,则有 ,所以变化矩阵为:
8.如何确定一个点P在观察点的内部还是外部?
答:一个平面将空间分成两部分。平面的一般方程是:
对于任意点 ,若定义一个标量函数 ,有:
如果 ,则说明P点和Q点在同一边(相对平面而言)。令 分别表示顶平面、底平面、右平面、左平面、前平面、后平面。
(a)相对于水平线y=2;
(b)相对于垂直线x=2;
(c)相对于直线y=x+2。
答:
(a)
(b)
(c)
4.请写出一个图例变换,将正方形A(0,0),B(1,0),C(1,1),D(0,1)一半大小的复本放到主图形的坐标系中,且正方形的中心在(-1,-1)点。
答:原正方形的中心在P(1/2,1/2),首先进行关于P点的缩放变换,变换矩阵为M;
对 到 直线上的任意点 ,要证明 在 和 连接的直线上,其中 是 的变换,且 ,(3)
即要证明: ,(4)
将公式(1)、(2)、(3)代入公式(4),经整理得:
因为 满足: ,
由此得到, 在 和 连接的直线上。
6.二次旋转变换定义为先绕x轴旋转再绕y轴旋转的变换:
(a)写出这个变换的矩阵;
(b)旋转的先后顺序对结果有影响吗?
A(0001)B(1000)、C(0000)D(1010)、E(0000)F(0000)、G(0100)H(0010)、I(1001)J(1000)
计算机图形学_第五章
方阵 单位矩阵:对角线元素为1,其他元素为0。记作 I n
式7-5
转置 M的转置记作 M
T
,它的列由M的行组成。即
式7-6 式7-7
MT ij M ji
对于向量来说,转置将行向量变成列向量
在书面表达中列向量通常写为
式7-8
矩阵乘法 矩阵乘法的计算前提
nc
A的列数和B的行数相等。一个 矩阵的结果是一个 矩阵,记作AB
r n r c
矩阵A乘以一个
矩阵乘法
矩阵乘法的计算 若矩阵A是 矩阵, 矩阵B是 绩AB的计算方法如下:
r n
nc
矩阵,则它们的成
矩阵乘法
矩阵乘法
矩阵乘法的注意事项
任何矩阵M乘以方阵S,矩阵维数不变;如S是单位矩阵,则不变,即: MI=IM=M 矩阵乘法不满足交换律
矩阵乘法满足结合律,即(AB)C=A(BC) 矩阵乘法满足与标量或者向量的结合律,即: (kA)B= k(AB)= A(kB) (vA)B= v(AB) 矩阵积的转置相当于先转置然后以相反的顺序乘:
式5-8
d
ba
d x d yd z
2 2
2
2
式5-9
(bx ax ) (by a y ) (bz az )
2
2
式5-10
向量点乘 运算法则 向量点乘的结果为一个标量。
a1 b1 a b 2 2 ... ... a1b1 a2b2 ... an 1bn 1 anbn a n 1 bn 1 an bn
a 图4-3
b 图4-4
向量运算 线性代数与几何 符号约定 零向量 负向量 向量大小(长度或模) 标量与向量的乘法 标准化向量 向量的加法和减法 距离公式 向量点乘 向量叉乘 线性代数公式
计算机图形学习题参考答案(完整版)
计算机图形学习题参考答案第1章绪论1、第一届ACM SIGGRAPH会议是哪一年在哪里召开的?解:1974年,在Colorado大学召开了第一届SIGGRAPH年会。
2、计算机图形学之父是谁?解:Sutherland3、列举一些计算机图形学的应用领域(至少5个)。
解:计算机辅助设计、图示图形学、计算机艺术、娱乐、教学与培训、可视化、图像处理、图形用户界面等。
4、简要介绍计算机图形学的研究内容。
解:(1)图形的输入。
如何开发和利用图形输入设备及相关软件把图形输入到计算机中,以便进行各种处理。
(2)图形的处理。
包括对图形进行变换(如几何变换、投影变换)和运算(如图形的并、交、差运算)等处理。
(3)图形的生成和输出。
如何将图形的特定表示形式转换成图形输出系统便于接受的表示形式,并将图形在显示器或打印机等输出设备上输出。
5、简要说明计算机图形学与相关学科的关系。
解:与计算机图形学密切相关的学科主要有图像处理、计算几何、计算机视觉和模式识别等。
计算机图形学着重讨论怎样将数据模型变成数字图像。
图像处理着重研究图像的压缩存储和去除噪音等问题。
模式识别重点讨论如何从图像中提取数据和模型。
计算几何着重研究数据模型的建立、存储和管理。
随着技术的发展和应用的深入,这些学科的界限变得模糊起来,各学科相互渗透、融合。
一个较完善的应用系统通常综合利用了各个学科的技术。
6、简要介绍几种计算机图形学的相关开发技术。
解:(1)OpenGL。
OpenGL是一套三维图形处理库,也是该领域事实上的工业标准。
OpenGL独立于硬件、操作系统和窗口系统,能运行于不同操作系统的各种计算机,并能在网络环境下以客户/服务器模式工作,是专业图形处理、科学计算等高端应用领域的标准图形库。
以OpenGL为基础开发的应用程序可以十分方便地在各种平台间移植;OpenGL与C/C++紧密接合,便于实现图形的相关算法,并可保证算法的正确性和可靠性;OpenGL使用简便,效率高。
第五章单选题汇总
5
①②③④⑨ ①②⑦
①②③⑥⑧ ⑨
5
对GB2312标准中的汉字而言,下 输入码 列_ ______码是唯一的。
第 14 页
输出字形码 机内码
数字码
5
为了保证对频谱很宽的全频道音 乐信号采样时不失真,其取样频 率应达到_____以上。 使用计算机进行文本编辑与文本 处理是常见的两种操作,下列不 属于文本处理的是________ 。 下列关于计算机合成图像(计算 机图形)的应用中,错误的是 __________。
扫描,取样 绘制,建模 取样,A/D 转换 在文本编辑 在文本编辑 它可以编辑 过程中,它 过程中,它 制作超文本 能做到“所 不具有“回 见即所得” 退”(Undo) 功能 资源共享 数据解密
建模,绘制 它不但能进 行编辑操 作,而且能 自动生成文 本的“摘要 ”
5
MP3是目前比较流行的一种数字 音乐格式,从MP3网站下载MP3 音乐主要是使用了计算机网络的 ________功能。 MP3音乐所采用的声音数据压缩 编码的标准是_____。 要通过口述的方式向计算机输入 汉字,必须配备的辅助设备是 ______。
Dolby AC-3 MIDI
5
分色是将彩 色图像取样 点的颜色分 解成三个基 色
取样是测量 每个取样点 每个分量 (基色)的 亮度值
5
若中文Windows 环境下西文使用 2个汉字和1 4个汉字和2 8个汉字和2 4个汉字和1 标准ASCII码,汉字采用GB2312 个西文字符 个西文字符 个西文字符 个西文字符 编码,设有一段文本的内码为CB F5 D0 B4 50 43 CA C7 D6 B8,则在 这段文本中,含有________。 大多数WWW网页的文件类型是 _________________。 JPG ZIP HTM AVI
计算机图形学教程课后习题参考答案
计算机图形学教程课后习题参考答案文档编制序号:[KKIDT-LLE0828-LLETD298-POI08]第一章1、试述计算机图形学研究的基本内容答:见课本P5-6页的1.1.4节。
2、计算机图形学、图形处理与模式识别本质区别是什么请各举一例说明。
答:计算机图形学是研究根据给定的描述,用计算机生成相应的图形、图像,且所生成的图形、图像可以显示屏幕上、硬拷贝输出或作为数据集存在计算机中的学科。
计算机图形学研究的是从数据描述到图形生成的过程。
例如计算机动画制作。
图形处理是利用计算机对原来存在物体的映像进行分析处理,然后再现图像。
例如工业中的射线探伤。
模式识别是指计算机对图形信息进行识别和分析描述,是从图形(图像)到描述的表达过程。
例如邮件分捡设备扫描信件上手写的邮政编码,并将编码用图像复原成数字。
3、计算机图形学与CAD、CAM技术关系如何答:见课本P4-5页的1.1.3节。
4、举3个例子说明计算机图形学的应用。
答:①事务管理中的交互绘图应用图形学最多的领域之一是绘制事务管理中的各种图形。
通过从简明的形式呈现出数据的模型和趋势以增加对复杂现象的理解,并促使决策的制定。
②地理信息系统地理信息系统是建立在地理图形基础上的信息管理系统。
利用计算机图形生成技术可以绘制地理的、地质的以及其它自然现象的高精度勘探、测量图形。
③计算机动画用图形学的方法产生动画片,其形象逼真、生动,轻而易举地解决了人工绘图时难以解决的问题,大大提高了工作效率。
5、计算机绘图有哪些特点答:见课本P8页的1.3.1节。
6、计算机生成图形的方法有哪些答:计算机生成图形的方法有两种:矢量法和描点法。
①矢量法:在显示屏上先给定一系列坐标点,然后控制电子束在屏幕上按一定的顺序扫描,逐个“点亮”临近两点间的短矢量,从而得到一条近似的曲线。
尽管显示器产生的只是一些短直线的线段,但当直线段很短时,连成的曲线看起来还是光滑的。
②描点法:把显示屏幕分成有限个可发亮的离散点,每个离散点叫做一个像素,屏幕上由像素点组成的阵列称为光栅,曲线的绘制过程就是将该曲线在光栅上经过的那些像素点串接起来,使它们发亮,所显示的每一曲线都是由一定大小的像素点组成的。
计算机图形学第二版(陆枫)课后习题答案部分
计算机图形学第二版(陆枫)课后习题集第一章绪论概念:计算机图形学、图形、图像、点阵法、参数法、图形的几何要素、非几何要素、数字图像处理;计算机图形学和计算机视觉的概念及三者之间的关系;计算机图形系统的功能、计算机图形系统的总体结构。
第二章图形设备图形输入设备:有哪些。
图形显示设备:CRT的结构、原理和工作方式。
彩色CRT:结构、原理。
随机扫描和光栅扫描的图形显示器的结构和工作原理。
图形显示子系统:分辨率、像素与帧缓存、颜色查找表等基本概念,分辨率的计算第三章交互式技术什么是输入模式的问题,有哪几种输入模式。
第四章图形的表示与数据结构自学,建议至少阅读一遍第五章基本图形生成算法概念:点阵字符和矢量字符;直线和圆的扫描转换算法;多边形的扫描转换:有效边表算法;区域填充:4/8连通的边界/泛填充算法;内外测试:奇偶规则,非零环绕数规则;反走样:反走样和走样的概念,过取样和区域取样。
5.1.2 中点 Bresenham 算法(P109)5.1.2 改进 Bresenham 算法(P112)习题解答习题5(P144)5.3 试用中点Bresenham算法画直线段的原理推导斜率为负且大于1的直线段绘制过程(要求写清原理、误差函数、递推公式及最终画图过程)。
(P111)解: k<=-1 |△y|/|△x|>=1 y为最大位移方向故有构造判别式:推导d各种情况的方法(设理想直线与y=yi+1的交点为Q):所以有: y Q-kx Q-b=0 且y M=y Qd=f(x M-kx M-b-(y Q-kx Q-b)=k(x Q-x M)所以,当k<0,d>0时,M点在Q点右侧(Q在M左),取左点 P l(x i-1,y i+1)。
d<0时,M点在Q点左侧(Q在M右),取右点 Pr(x i,y i+1)。
d=0时,M点与Q点重合(Q在M点),约定取右点 Pr(x i,y i+1) 。
所以有递推公式的推导:d2=f(x i-1.5,y i+2)当d>0时,d2=y i+2-k(x i-1.5)-b 增量为1+k=d1+1+k当d<0时,d2=y i+2-k(x i-0.5)-b 增量为1=d1+1当d=0时,5.7 利用中点 Bresenham 画圆算法的原理,推导第一象限y=0到y=x圆弧段的扫描转换算法(要求写清原理、误差函数、递推公式及最终画图过程)。
计算机图形学知到章节答案智慧树2023年中国地质大学(武汉)
计算机图形学知到章节测试答案智慧树2023年最新中国地质大学(武汉)第一章测试1.计算机图形学产生图形,计算机图像学产生图像。
()参考答案:错2.下列哪项不属于计算机图形学的应用领域?()参考答案:识别图片中的动物3.本课程将讲不讲解以下哪个内容?()参考答案:游戏制作4.使用OPENGL画带颜色的直线,需要调用不同的函数,分别指定颜色和起始点坐标。
()参考答案:对5.在OPENGL中定义的结点仅包含位置信息。
()参考答案:错第二章测试1.四面体的表面建模中,可用四个三角形来描述四面体的表面,每个三角形包含三个点,因此,四面体中点的总个数为()。
参考答案:42.三次BEZIER曲线有几个控制点?()参考答案:43.三次BEZIER曲线经过几个控制点?()参考答案:24.不经过Y轴的斜线绕Y轴旋转得到的曲面是()参考答案:球面5.BEZIER曲线上的所有点都是由控制点经过插值得到的。
()参考答案:错第三章测试1.通过变换可以将单位圆变成长半轴2短轴0.5的椭圆,具体实施步骤是()。
参考答案:水平方向做拉伸变换,竖值方向做平移变换2.变换前后二线夹角保持不变的保角变换有()参考答案:缩放3.水平方向的剪切变换,如果表达为x'=ax+by y'=cx+dy,则有()。
参考答案:a=1,c=0,d=14.正交变换不包括()。
参考答案:剪切5.变换的复合运算不满足交换律。
()参考答案:对第四章测试1.在模型表示中,对于材质结点是用状态机表示的。
()参考答案:对2.场景图的遍历通常采用的算法是()。
参考答案:深度优先3.场景图中的具体变换实现时,使用栈而不是按原来的逻辑进入变换乘以局部变换矩阵,返回时乘以局部变换的逆矩阵,其原因包括()。
参考答案:浮点误差的累积效应;奇异矩阵无法求逆4.在描述人体及机器人骨架结构时,通常将什么部位作为根结点()。
参考答案:臀部5.以下哪种情形一定是欠定问题()。
计算机图形学基础(第二版)部分习题答案
驭剑天下——收集整理华中科技大学计算机图形学课后习题指导一、第五章5.3 试用中点Bresenham 算法画直线段的原理推导斜率为负且大于1的直线段绘制过程(要求写清原理、误差函数、递推公式及最终画图过程)。
分析:这是典型的算法推导题,这是典型的算法推导题,推导时需要首先确定最大位移方向,推导时需要首先确定最大位移方向,推导时需要首先确定最大位移方向,然后根据最大位移方向然后根据最大位移方向确定候选点,并利用候选点的中点构造判别式;并利用候选点的中点构造判别式;根据判别式确定选择候选点的条件,根据判别式确定选择候选点的条件,根据判别式确定选择候选点的条件,然后确然后确定判别式的递推公式以及初值。
解:5.7 利用中点Bresenham 画圆算法的原理推导第一象限x =y 到y =0圆弧段的扫描转换算法(要求写清原理、误差函数、递推公式及最终画图过程)。
(要求写清原理、误差函数、递推公式及最终画图过程)。
分析:这是典型的算法推导题,这是典型的算法推导题,推导时需要首先确定最大位移方向,推导时需要首先确定最大位移方向,推导时需要首先确定最大位移方向,然后根据最大位移方向然后根据最大位移方向确定候选点,并利用候选点的中点构造判别式;并利用候选点的中点构造判别式;根据判别式确定选择候选点的条件,根据判别式确定选择候选点的条件,根据判别式确定选择候选点的条件,然后确然后确定判别式的递推公式以及初值。
圆算法应该注意的是算法是从理想圆与坐标轴交点开始的。
解:在x=y 到y=0的圆弧中,(R, 0)点比在圆弧上,算法从该点开始。
最大位移方向为y ,由(R, 0)点开始,y 渐增,x 渐减,每次y 方向加1,x 方向减1或减0。
(注意算法的起始点)始点)设P 点坐标(xi, yi ),下一个候选点为Pr (xi, yi+1)和Pl (xi -1, yi+1),取Pl 和Pr 的中点M (xi -0.5, yi+1),设理想圆与y=yi+1的交点Q ,构造判别式:d=F(xM, yM)=(x -0.5)2+(y+1)2-R 2当d<0时,M 在Q 点左方,取Pr (xi,yi+1););当d>0时,M 在Q 点右方,取Pl (xi -1,yi+1););当d =0时,M 与Q 点重合,约定取Pl (xi -1, yi+1)。
计算机图形学第5章课后习题参考答案
+(U0*a[3][0]+U1*a[7][0]+U2*a[11][0]+U3*a[15][0])*W3);
y=((U0*a[0][1]+U1*a[4][1]+U2*a[8][1]+U3*a[12][1])*W0
+(U0*a[2][1]+U1*a[6][1]+U2*a[10][1]+U3*a[14][1])*W2
+(U0*a[3][1]+U1*a[7][1]+U2*a[11][1]+U3*a[15][1])*W3);
dc.LineTo(x,y);
}
}
pen2.DeleteObject();
pen1.DeleteObject();
}
}
for(i=0;i<4;i++)
{
dc.MoveTo(a[i][0],a[i][1]);
for(j=0;j<16;j=j+4)
{
dc.LineTo(a[i+j][0],a[i+j][1]);
}
dc.SelectObject(&pen2);
}
double x,y;
x=a[0][0];
y=a[0][1];
pen2.CreatePen(PS_SOLID,3,RGB(0,0,255));
double a[24][2]={{100,400},{110,300},{130,250},{150,350},
{200,300},{210,280},{250,200},{280,250},
计算机第五章测验及答案
第五章测验(金陵学院)一、判断1. GIF格式图像可形成动画效果,因而在网页制作中大量使用。
( )2. JPEG图像压缩比是用户可以控制的。
压缩比越高,图像质量越好。
( )3. 超文本中的超链可以指向文字,也可以指向图形、图像、声音或动画节点。
( )4. GB2312国标字符集由三部分组成:第一部分是字母、数字和各种符号;第二部分为一级常用汉字;第三部分为二级常用汉字。
( )5. 图像数据压缩,即使是无损压缩,重建的图像与原始图像也还有一定误差。
( )6. 在一个字节中存放一个ASCII字符,该字节最高位为0。
( )7. GB2312共有10000多个不同的汉字符号。
( )8. GBK字符集兼容GB2312字符集,但字符数量增多。
( )9. GBK字符集不包括繁体字。
( )10. USC-2采用双字节编码。
( )11. UCS与GB2312不兼容。
( )12. GB18030-2000兼容GB2312、GBK。
( )13. 汉字键盘输入编码没有区位码直接输入法,因此,汉字不可以用区位码直接输入。
( )14. 超文本是一种线性网状结构。
( )15. Windows中的“帮助”文件是一种超文本。
( )16. PDF格式文本是电子出版领域事实上的标准。
( )17. 字符形状描述分为点阵描述和轮廓描述。
( )18. TrueType字库采用的就是轮廓描述方法。
( )19. PhotoShop是一种流行的图形处理工具。
( )20. DVD使用的是MPEG-2标准。
( )21. MP3 与MIDI 均是常用的数字化记录或者表示音乐,一般情况下,用它们表示或记录同一首电子琴乐曲时,前者的质量比后者好。
()22. MP3 与MIDI均是常用的数字化记录或者表示音乐,一般情况下,用它们表示或记录同一首电子琴乐曲时,前者的数据量比后者大得多。
( )23. 视频信号的数字化比声音的数字化要复杂的多,每处理一帧画面都要花费若干秒。
「计算机图形学第5章作业答案Final」
习题1答案习题1. 设空间有两条线段AB 和CD ,其端点坐标分别为(,,)a a a x y z ,(,,)b b b x y z 和(,,)c c c x y z ,(,,)d d d x y z ,怎样判断它们是否相交?若相交,求出交点坐标。
解法1解答:由端点坐标可知线段AB 和CD 的参数方程分别为:)10(≤≤λ如果线段AB 和CD 相交,则存在1t 和2t ,使下面的方程组:121212()()(1)()()(2)()()(3)a b a c d c a b a c d c ab acd c x x x t x x x t y y y t y y y t z z z t z z z t +-=+-⎧⎪+-=+-⎨⎪+-=+-⎩由(1)式,(2)式即可求出1t 和2t :12()()()()c d a d c c a c d d a d c a b d b c c b d b c a d a c b a b a b c c a c b d c a b d b c c b d b c a d a y y x x y x y x y x y t y y x x y x y x y x y x y x y y y x x y x y x y x y t y y x x y x y x y x y x y x y ---++⎧=⎪--+-++-⎪⎨-+--+⎪=⎪--+-++-⎩将求得的1t 和2t 代入(3)式,若满足(3)式,则线段AB 和C D所在的直线相交。
此时如果有: []]1,0[,1,021∈∈t t则线段AB 和CD 相交,否则不相交。
令1t =λ代入线段AB 的参数方程中或者令2t =代入线段CD 的参数方程即可求出交点坐标。
解法2解答:由端点坐标可知线段AB 和CD 的参数方程分别为:)10(≤≤λ线段A B和CD 在z=0平面上的正投影线段A’B ’和C ’D ’端点坐标分别为),(a a y x ,),(b b y x ,),(c c y x ,),(d d y x 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7.指令兼容有几种形式?各是什么? 指令兼容有两种,一种是向上兼容,另一种是向下兼容 8、将高级语言源程序转换成机器语言程序有哪几种方法?每种方 法各有何特点? 高级语言源程序转换成机器语言程序的方法: 1)编译法:速度快 交互性差,有完整目标程序 2)解释法:速度慢 交互性好 无完整目标程序 9、计算机程序设计语言共分几级?每级各有何特点? 程序设计语言共分三级 机器语言 快 占空间少 不易懂 不脱机 汇编语言 较快 占空间较少 较易懂 不脱机 高级语言 慢 占空间多 易懂 脱机
设计题(选作题) 1、指令字长为16位,每个地址码为6位,采用扩展操作 码的方式,设计14条二地址指令,100条一地址指令, 100条零地址指令。 (1)画出扩展图; (2)给出指令译码逻辑图; (3)计算操作码的平均长度。
2、某半导体存储器容量为14KB,其中0000H~1FFFH
为ROM区,2000H ~37FFH为RAM区,地址总线 A15 ~A0,双向数据线D7 ~D0,读/写控制线R/W。 可选用的存储芯片有EPROM4KB/片,RAM2K×4/ 片。 (1)画出该存储芯片级逻辑图,包括地址线、数据线、 片选信号线(低电平有效)及读/写信号线的连接; (2)说明加到各芯片的地址范围;
11、设相对转移指令占两个字节,第一个字节是操作码,
其地址是 2000H,第二个字节是相对位移量,那么: (1)若第二个字节的内容为06H,则转移到的地址为 ______ 。 A、2008H B、2009H C、1FFCH D、FFBH (2)若转移到的地址为1FFDH,则第二个字节的内容为 _______。 A、05H B、FBH C、FDH D、FFH
D31~D24
D15~D8
OE
OE 128×8 128×8
OE 128×8
OE 128×8 128×8 cs
512×8 512×8
CS
D23~D16 A18~A0
128×8 128×8
128×8
cs
cs
cs
D7~D0
Байду номын сангаасA16~A0
2:4译码器
A18
A17
8、在计算机中存放当前指令地址的寄存器叫( ),在顺 序执行指令的情况下(存储器按字节编址,指令字长32 位),每执行一条指令,使寄存器自动加();在执行() 指令或()操作时,()应接收新地址。 A、指令寄存器 B、地址寄存器 C、程序寄存器 D、 转移 E、中断 F、顺序 G、1 H、2 I、4 9、在CPU中,保存当前正在执行的指令的寄存器为(), 保存当前正在执行的指令地址的寄存器是(),算术逻辑 运算的结果通常放在( )或()中。 A、程序计数器 B、指令寄存器 C、程序状态字 D、通用 寄存器 E、地址寄存器 F、数据寄存器 G、累加器
1、一台计算机所有()指令的(),称为这台计算机的 指令系统。 2、形成指令地址的方式称为()方式,有()寻址和() 寻址两种,使用()来跟踪指令地址。 3、RISC指令系统的最大的特点是();()固定;() 种类少;只有()指令访问存储器。 4、不同机器有不同的(),RISC指令系统是()指令系 统的改进。 5、二地址指令中,操作数的物理位置有三种形式,他们 是()型、()型和()型。 6、条件转移指令、无条件转移指令、转子指令、返主指 令和中断返回指令都是()指令。这类指令在指令格式 中所表示的地址是(),而不是()。
1.指令按地址码可分为哪几种? 零地址指令,一地址指令,二地址指令,三地址指令,多地址 指令 2. 指令按操作码可分为哪几种? 定长码指令,变长码指令 3. 最快的寻址方式是什么? 是立即寻址方式,因为该指令只一次访问存储器,取指令后, 便得到了操作数 4. 程序控制类指令中含哪几种? 转移指令,调用指令,返回指令 5. 指令操作分为几步?各步完成什么操作? 指令执行分三步,它们是,取指令,分析指令,执行指令 6. RISC和CISC代表什么? RISC:精简指令系统计算机;CISC:复杂指令系统计算机
1.确定哪些数据类型用数据表示来实现,下面几项中不重 要的是: A.能够缩短程序运行的时间 B.数据表示能够有良好的通用性和利用率 C.尽可能多的用硬件实现,提高性能
D.减少CPU和主存储器之间的通信量
2.有效的缩短地址码的长度,主要采用的有哪些方法? (1)用间址寻址方式缩短地址码长度 (2)用变址寻址方式缩短地址码长度 (3)用寄存器间接寻址方式缩短地址码长度是最有效的 方法
(4)操作数的地址为某一寄存器内容与位移量之 和,可以是()、()或()。
6、假设(R)=1000,(1000)=2000,(2000)=3000 若:(PC)=4000,问在以下寻址方式下访问到的操作数的值什 么? (1)寄存器寻址 R (2)寄存器间接寻址 (R) (3)直接寻址 1000 (4)存储器间接寻址 (1000) (5)相对寻址 -2000(PC) (6)立即数寻址 2000 7、某计算机字长16位,运算器16位,有16个通用寄存器,8种 寻址方式,主存客量为64k字,指令中地址码由寻址方式字段和 寄存器字段组成,试问。 (1)单操作数指令最多有多少条? (2)双操作数如指令最多有多少条? (3)单字长指令间接寻址范围有多大?
3.指令优化编码方法,就编码的效率来讲,那种方法最好? A. 固定长度编码 B. 扩展编码法 C. huffman编码法 D. 以上编码都不是
4、人们根据特定需要预先为计算机编制的指令序列称为 ( )。 A、软件 B、文件 C、集合 D、程序 5、先计算后再访问内存的寻址方式是( )。 A、立即寻址 B、直接寻址 C、间接寻址 D、变址寻址 6、以下四种类型指令中,执行时间最长的是( )。 A、RR 型 B、RS 型 C、SS 型 D、程序控制指令
7、数据传送指令的功能是实现()和()之间,()和 ()之间的数据传送。 8、计算机的低级语言分为()和(),这两种语言都是 面向()的语言,高级语言的语句和用法与具体()的 ()无关。 9、在寄存器间接寻址方式中,有效地址存放在()中, 而操作数存放在()中。 10、根据操作数所在位置指出其寻址方式 (1)操作数在寄存器中为() (2)操作数地址在寄存器中为() (3)操作数在指令中为()
6、设有两种flash芯片,128K×8位8片,512K×8位2片, 试用这些芯片构成512K×32位的存储器。 解:要设计512K×32位的存储器必须使用给定的全部存储 器芯片,方案是:用2片512K×8位的芯片构成存储器的高 16位(位扩展),用8片128K×8位的芯片构成存储器的低 16位(复合扩展)。其中后者使用一片2:4译码器。
10、下列叙述中,能反映RISC特征的有()。 A、丰富的寻址方式 B、使用微程序控制器 C、执行每条指令所需的机器周期数的平均值小于2 D、多指令格式 E、指令长度不可变 F、简单的指令系统 G、只有Load/Store指令访问存储器 H、设置大量通用寄存器 I、在编译软件作用下的指令流水线调度