北交20春《计算机图形学》在线作业二答案
北交《计算机图形学》在线作业二-0003参考答案
北交《计算机图形学》在线作业二-0003
试卷总分:100 得分:100
一、单选题(共20 道试题,共50 分)
1.下列设备中哪一种是图形输出设备( )
A.绘图仪
B.数字化仪
C.扫描仪
D.键盘
答案:A
2.对于使用“交互立体”工具创建的三维立体对象,下列哪一项操作不可被执行( )
A.改变透视点
B.改变对象颜色
C.在改变透视点的状态下按Delete 键将其删除
D.在三维空间内旋转立体对象
答案:C
3.Sutherland-Hodgeman多边形裁剪(逐边裁剪)算法中,对于多边形的某条边(方向为从端点S到端点P )与裁剪窗口的某条边的比较结果共有以下四种情况,分别需输出一些点,请问哪种情况下输出的点是错误的( )。
《计算机图形学》练习试题及参考答案大全
《计算机图形学》练习试题及参考答案(后面有答案)一、名词解释:(每个4分)1.计算机图形学2.图象处理3.模式识别4.计算几何5.凸多边形6.种子填充算法7.窗口8.视区9.光顺性10.拟合11.多项式插值12.小挠度曲线13.图形变换14.齐次坐标系15.凸包16.轮廓线17.等值线18.图形的翼边表示19.ER模型20.图形消隐21.本影22.半影23.用户坐标系24.规范化设备坐标系25.构造26.约束技术27.光线跟踪28、走样29、CRT(Cathode Ray Tube)30、隔行(interlaced)扫描31、输入模式32、取样方式(sample mode)33、区域34、边界表示法35、复合变换36、二维复合平移37.二维复合比例38.二维复合旋转39.视区(Viewport)40、投影变换41、平面几何投影42. 参数图43. 像素图44.人机界面45.地理信息系统46.虚拟现实47.几何造型技术48.扫描转换49. 插值曲线50.逼近曲线51. 用户接口52. 交互技术53. 交互式图形系统的基本交互任务54. 定位任务55. 选择任务56. 拾取任务57 .选择技术58. 菜单技术59. 文字输入任务60. 数值输入任务61.动画62.帧63.场64. 消隐65.物体空间的消隐算法66. 漫反射光67. 环境光68. 镜面反射光二、选择题(每题2分)1、计算机图形学与计算几何之间的关系是( )。
A)学术上的同义词B)计算机图形学以计算几何为理论基础C)计算几何是计算机图形学的前身D).两门毫不相干的学科2、计算机图形学与计算机图象学的关系是( )。
A)计算机图形学是基础,计算机图象学是其发展B)不同的学科,研究对象和数学基础都不同,但它们之间也有可转换部分C)同一学科在不同场合的不同称呼而已D)完全不同的学科,两者毫不相干3、触摸屏是( )设备。
A)输入B)输出C)输入输出D)既不是输入也不是输出4.计算机绘图设备一般使用什么颜色模型?( )A)RGB;B)CMY;C)HSV ;D)HLS5. 计算机图形显示器一般使用什么颜色模型?( )A)RGB;B)CMY;C)HSV ;D)HLS6.分辨率为1024×1024的显示器各需要多少字节位平面数为24的帧缓存?( ) A)512KB;B)1MB;C)2MB ;D)3MB7.哪一个不是国际标准化组织(ISO)批准的图形标准?( )A)GKS;B)PHIGS;C)CGM ;D)DXF8.下述绕坐标原点逆时针方向旋转a角的坐标变换矩阵中哪一项是错误的? ( )| A B || C D |A) cos a;B) sin a;C) sin a;D) cos a9、在多边形的逐边裁剪法中,对于某条多边形的边(方向为从端点S到端点P)与某条裁剪线(窗口的某一边)的比较结果共有以下四种情况,分别需输出一些顶点.请问哪种情况下输出的顶点是错误的? ( )A)S和P均在可见的一侧,则输出S和P.B)S和P均在不可见的一侧,则输出0个顶点.C)S在可见一侧,P在不可见一侧,则输出线段SP与裁剪线的交点.D)S在不可见的一侧,P在可见的一侧,则输出线段SP与裁剪线的交点和P.10、在物体的定义中对边的哪条限制不存在? ( )A) 边的长度可度量且是有限的B) 一条边有且只有两个相邻的面C) 一条边有且只有两个端点D) 如果一条边是曲线,那么在两个端点之间不允许曲线自相交11.下述哪一条边不是非均匀有理B样条(NURBS)的优点? ( )A) NURBS比均匀B样条能表示更多的曲面B) 对于间距不等的数据点,用NURBS拟合的曲线比用均匀B样条拟合的曲线更光滑C) NURBS提供的权控制方法比用控制点更能有效的控制曲线的形状D) 使用NURBS可以提高对曲面的显示效率12.下列关于图的存储表示的叙述中,哪一个是不正确的?A) 无向图的相邻矩阵是对称矩阵B) 对于带权的图,其相邻矩阵中值为1的元素,其值可以用边的权来权替C) 用邻接表法存储包括n个结点的图需要保存一个顺序存储的结点表和n个链接存储的边表D) 用邻接表法存储包括n条边的图需要保存一个顺序存储的结点表和n个链接存储的边表13*.在面片的数量非常大的情况下哪一个消隐算法速度最快? ( )A) 深度缓存算法(Z-Buffer)B) 扫描线消隐算法C) 深度排序算法(画家算法)D) 不知道14*.下面关于深度缓存消隐算法(Z-Buffer)的论断哪一条不正确? ( )A) 深度缓存算法并不需要开辟一个与图像大小相等的深度缓存数组B) 深度缓存算法不能用于处理对透明物体的消隐C) 深度缓存算法能并行实现D) 深度缓存算法中没有对多边形进行排序15.在用射线法进行点与多边形之间的包含性检测时,下述哪一个操作不正确? ( )A) 当射线与多边形交于某顶点时且该点的两个邻边在射线的一侧时,计数0次B) 当射线与多边形交于某顶点时且该点的两个邻边在射线的一侧时,计数2次C) 当射线与多边形交于某顶点时且该点的两个邻边在射线的两侧时,计数1次D) 当射线与多边形的某边重合时,计数1次16*、扫描消隐算法在何处利用了连贯性(相关性Coherence)?(1)计算扫描线与边的交点;(2)计算多边形在其边界上的深度;(3)计算多边形视窗任意点处的深度值;(4)检测点与多边形之间的包含性。
计算机图形学教程课后习题参考答案
第一章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算法遵循“细分与占领”的设计思想;首先在图像空间中设置一个窗口,用递归过程来判定窗口内是否有可见的目标多边形;当判定的窗口中不包含任何多边形或者窗口内只有与一个多边形的相交部分时,称这个多边形为可见;这时可直接显示该窗口;否则,就将该窗口分割成若干较小的窗口,直到被分割的子窗口所包含的画面足够简单,可直接显示为止;。
奥鹏地大20春学期《计算机图形学(新)》在线作业二
B 12
C 16
D 20
11. 在下列叙述语句中,不正确的论述为( )
A 在图形文件系统中,点、线、圆等图形元素通常都用其几何特征参数来描述
B 在图形系统中,图形处理运算的精度不取决于显示器的分辨率
C 在光栅扫描图形显示器中,所有图形都按矢量直接描绘显示,不存在任何处理
A 法向计算精确
B 高光域准确
C 对光源和视点没有限制
D 速度较快
19. 如果观察方向(视线方向)为Z轴负向,观察向量可设为V=(0,0,-1),则对场景中的图形表平面可判定其可见性.令某平面的法向量为N=(A,B,C).当( )时,该平面可判定为后向面(Back-Face)即是观察时不可见的面.
中国地质大学(北京)-地大《计算机图形学(新)》在线作业二
1. 在多边形的Sutherland-Hodgman逐边裁剪算法中,对于某多边形的边(方向为从端点S到端点P)与某裁剪线(窗口的某一边)的比较结果共有以下四种情况,分别输出一些顶点。在哪种情况下输出 的顶点是错误的( )。
A S和P均在可见一侧,则输出S、P
A 0.0094
B
23. 多边形填充算法中,错误的描述是( )
A 扫描线算法对每个象素只访问一次,主要缺点是对各种表的维持和排序的耗费较大;
B 边填充算法基本思想是对于每一条扫描线与多边形的交点,将其右方象素取补;
C 边填充算法较适合于帧缓冲存储器的图形系统;
D 边标志算法也不能解决象素被重复访问的缺点。
24. 光线跟踪算法中包含了哪些光照效果? ( )
A 仅有光反射
B 仅有光透射
C 有光反射和光透射
D 都没有
计算机图形学作业-Model-答案
计算机图形学作业 II一、判断题1.插值得到的函数严格经过所给定的数据点;逼近是在某种意义上的最佳近似;( √ )2.一次Bezier 曲线其实就是连接起点到终点的折线段。
( √ )3. NURBS 曲线方法不能够提供标准二次曲线和自由曲线的统一数学表达。
( ⨯ )4. 凡满足C1连续的曲线同时满足G1连续条件,反之则不成立; ( √ )5.Bezier 曲线具有对称性质。
( ⨯ )二、填空题1. 三维物体的的布尔运算包括 交 、 并 和 差 。
2. 多边形的边通常用它的边环表来表示,外环的方向是由外轮廓顶点按逆时针 方向组成、内环是内轮廓顶点按顺时针方向组成。
3. 由5个控制顶点Pi(i=0,1,…4)所决定的3次B 样条曲线,由ˍ2ˍ段3次B 样条曲线段光滑连接而成。
4. )10)((,≤≤t t B n i 是n 次Bernstein 基函数,则=∑=ni n i t B 0,)(ˍˍ1ˍˍ。
5. 几何建模技术中描述的物体信息一般包括_拓扑信息_和_几何信息_。
三、问答题1.图象处理、模式识别、计算机图形学是图形信息的计算机处理有关的三大分之学科。
简述它们的不同点?图像处理是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的过程,主要以提高图像的视感质量、提取图像中所包含的某些特征和特殊信息、图像数据的变换以及编码压缩以提高图像的存储和传输为目的;模式识别是图像处理的一个部分,指的是提取特征或信息的过程;计算机图形学是使用计算机建立、存贮、处理某个对象的模型的过程。
总的来说,计算机图形学是图像处理的逆过程。
2.三维形体常用的表示方法是什么?简述几何信息和拓扑信息的含义。
三维形体常用的表示方法有:线框模型表示、表面模型表示、实体模型表示。
几何信息:反映图形中的点、线、面、体等几何要素的信息称为几何信息。
拓扑信息:反映图形中的点、线、面、体等的连接顺序,层次关系的信息3.三次参数样条曲线和n 次Bezier 曲线的特点分别是什么?三次参数样条曲线是分段多项式,在每段内部是任意阶连续,在节点处具有2阶参数连续性;而n 次Bezier 曲线是多项式,是任意阶连续。
计算机图形学随堂测试2(所有大题答案)
计算机图形学随堂测试2(所有⼤题答案)《计算机图形学》随堂测试2学号:________________________ 姓名:________________(1)计算机图形学与计算机图象学的关系是( )。
A )计算机图形学是基础,计算机图象学是其发展B )不同的学科,研究对象和数学基础都不同,但它们之间也有可转换部分C )同⼀学科在不同场合的不同称呼⽽已D )完全不同的学科,两者毫不相⼲(2)灰度等级为256级,分辨率为1024*1024的显⽰器,⾄少需要的帧缓存容量为()A ) 512KB;B ) 1MBC ) 2MB;D )3MB(3)在下列叙述语句中,错误的论述为()A )在图形⽂件系统中,点、线、圆等图形元素通常都⽤其⼏何特征参数来描述;B )在图形系统中,图形处理运算的精度不取决于显⽰器的分辨率;C )在光栅扫描图形显⽰器中,所有图形都按⽮量直接描绘显⽰,不存在任何处理;D )在彩⾊图形显⽰器中,使⽤RGB 颜⾊模型。
(4)使⽤下列⼆维图形变换矩阵:将产⽣变换的结果为() A )图形放⼤2倍;B )图形放⼤2倍,同时沿X 、Y 坐标轴⽅向各移动1个绘图单位;C )沿X 坐标轴⽅向各移动2个绘图单位;D )沿X 坐标轴⽅向放⼤2倍,同时沿X 、Y 坐标轴⽅向各平移1个绘图单位。
(5)下列有关Bezier 曲线性质的叙述语句中,错误的结论为() A )Bezier 曲线可⽤其特征多边形来定义;B )Bezier 曲线不⼀定通过其特征多边形的各个顶点;C )Bezier 曲线两端点处的切线⽅向必须与起特征折线集(多边形)的相应两端线段⾛向⼀致;D )n 次Bezier 曲线,在端点处的r 阶导数,只与r 个相邻点有关。
T =(6)下列有关边界表⽰法的叙述语句中,错误的论述为()A )定义了物体的边界也就唯⼀的定义了物体的⼏何形状边界;B )物体的边界上的⾯是有界的,⽽且,⾯的边界应是闭合的;C )物体的边界上的⾯是有向的,⾯的法向总是指向物体的内部;D )物体的边界上的边可以是曲线,但在两端之间不允许曲线⾃相交。
计算机图形学-2
《计算机图形学》试卷2(试卷共6页,答题时间120分钟)一、选择题(每小题 1 分,共 10 分。
请将答案填在下面的表格内)1、下列不属于计算机图形学应用的是( )。
A 、计算机动画 B 、虚拟现实C 、需求分析D 、计算机模拟与仿真2、圆的正负划分性中,当将点的坐标(x,y)代入F(X ,Y)得出>0时,说明此点在圆的( )。
A 、内侧B 、外侧C 、圆上3、在区域编码算法中,设端点P1和P2的区域编码分别是code1和code2,若( ),则P1和P2同在窗口的上方、下方、左方或右方。
A. code1=0且code2=0 B.code1&code2≠0 C.code1&code2=0 D.code1≠code24、下列哪个齐次坐标不是点P (3,2)的表示。
( )A 、(6,4,2)B 、(12,8,4)C 、(3,2,1)D 、(3,2,2) 5、下列实体表示方法中属于分解表示的是( ) A 、构造实体几何表示法 B 、特征表示法 C 、八叉树表示法 D 、边界表示法 6、将二维图形整体放大2倍的变换矩阵是( )A 、⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡1002/10002/1 B 、⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡00020002C 、⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡20010001D 、⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡2/100100017、圆的绘制算法中,扫描转换八分之一圆弧依据的性质是( ) A 、八对称性 B 、中心对称 C 、轴对称性 D 、合取性 8.计算机绘图设备一般使用什么颜色模型?( )A.RGB ;B.CMY ;C.HSV ;D.HLS9.计算机图形学与计算机图象学的关系是( )。
A.计算机图形学是基础,计算机图象学是其发展B.不同的学科,研究对象和数学基础都不同,但它们之间也有可转换部分C.同一学科在不同场合的不同称呼而已D.完全不同的学科,两者毫不相干10.下列有关反走样的叙述,错误的是()A.减少或克服图形失真的技术叫做反走样;B.提高分辨率是反走样的方法之一;C.半色调技术是利用多级光强提高视觉分辨率的技术;D.对于多灰度或多彩色显示器,图形的边缘可采用模糊技术而改善锯齿显示效果。
(完整word版)计算机图形学阶段练习二答案
计算机图形学阶段练习二答案覆盖范围:(第4、5章)1.欧氏空间中的几何元素包含那些内容?答: 欧氏空间中的几何元素包含:点:点是0维几何分量,包括端点、交点、切点和孤立点等。
线:线是一维几何元素,是两个或多个邻面的交界。
面:面是二维几何元素,是形体上一个有限、非零的区域,由一个外环和若干个内环界定其范围。
环:环是有序、有向边(直线段或曲线段)组成的面的封闭边界。
环中的边不能相交,相邻两条边共享一个端点。
确定面的最大外边界的环称之为外环;确定面中内孔或凸台边界的环称之为内环。
通常,外环的边按逆时针方向排序,而内环的边按顺时针方向排序,这样在面上沿一个环前进,其左侧总是面内,右侧总是面外。
体:体是三维几何元素,由封闭表面围成空间,也是欧氏空间R3中非空、有界的封闭子集,其边界是有限面的并集。
2.利用正则集的概念描述实体的定义?答:根据客观存在的三维形体的性质,三维空间中的物体是一个内部连通的三维点集,也就是由其内部的点集及紧紧包着这些点的表皮组成。
而物体的表皮具有连通性、有界性、非自相交性、可定向性、闭合性等性质。
由内部点构成的点集的闭包就是正则集,三维空间的正则集就是正则形体。
如果正则形体的表面是二维流形,即对于实体表面上的任意一点,都可以找到一个围绕着它的任意小的领域,该领域与平面上的一个圆盘是拓扑等价,那么这个正则形体就是实体。
3.什么是四连通区域?什么是八连通区域?四连通区域与八连通区域有什么区别?答:4-连通区域是指从区域上的一点出发,通过访问已知点的4-邻接点,在不越出区域的前提下,遍历区域内的所有像素点。
8-连通区域是指从区域上的一点出发,通过访问已知点的8-邻接点,在不越出区域的前提下,遍历区域内的所有像素点。
4-连通区域常可以看作是8-连通区域,但对边界条件有要求,边界表示的4-连通区域的外环边界是一个8-连通区域,而边界表示的8-连通区域的外环边界是一个4-连通区域。
内点表示的4-连通区域也是8-连通区域,内点表示的8-连通区域则不一定是4-连通区域。
《计算机图形学基础》模拟试题(二)答案
《计算机图形学基础》模拟试题(二)答案一、问答题 (25分,每题5分)1、 列举三种常见的颜色模型,简要说明其原理和特点。
答:所谓颜色模型就是指某个三维颜色空间中的一个可见光子集,它包含某个颜色域的所有颜色。
常用的颜色模型有RGB 、CMY 、HSV 等。
RGB 颜色模型通常用于彩色阴极射线管等彩色光栅图形显示设备中,它是我们使用最多、最熟悉的颜色模型。
它采用三维直角坐标系,红、绿、蓝为原色,各个原色混合在一起可以产生复合色。
CMY 颜色模型以红、绿、蓝的补色青(Cyan )、品红(Magenta )、黄(Yellow )为原色构成,常用于从白光中滤去某种颜色,又被称为减性原色系统。
印刷行业中基本使用CMY 颜色模型。
HSV (Hue ,Saturation ,V alue )颜色模型是面向用户的,对应于画家的配色方法。
2、 列举三种以上常见的曲面、曲面求交方法。
答:曲面与曲面求交的基本方法有代数方法、几何方法、离散方法和跟踪方法四种。
代数方法:代数方法利用代数运算,特别是求解代数方程的方法求出曲面的交线。
几何方法:几何方法是利用几何的理论,对参与求交的曲面的形状大小、相互位置以及方向等进行计算和判断,识别出交线的形状和类型,从而可精确求出交线。
对于交线退化或者相切的情形,用几何方法求交可以更加迅速和可靠。
离散方法:离散方法求交是利用分割的方法,将曲线不断离散成较小的曲面片,直到每一子曲面片均可用比较简单的面片,如四边形或者三角形平面片来逼近,然后用这些简单面片求交得到一系列交线段,连接这些交线段即得到精确交线的近似结果。
跟踪方法:跟踪方法求交是通过先求出初始交点,然后从已知的初始交点出发,相继跟踪计算出下一交点,从而求出整条交线的方法。
3、 给出四次Bezier 曲线退化为三次Bezier 曲线,控制顶点43210,,,,P P P P P 应满足的条件。
答: 退化条件是将曲线展开成幂级数形式后,所有4t 的系数只和为零,即∑==4i 0i 0P∆ 或∑=-=-4i i 4i 4i 01CP )(4、 列举三种形体表示的常见方法。
北京交通大学智慧树知到“计算机科学与技术”《计算机图形学》网课测试题答案卷4
北京交通大学智慧树知到“计算机科学与技术”《计算机图形学》网课测试题答案(图片大小可自由调整)第1卷一.综合考核(共10题)1.使用颜色查找表存储颜色目的是为了提高显示的速度。
()A.错误B.正确2.下列哪些是线画图元的基本属性()A.线型B.线宽C.长度D.颜色3.欧氏空间中,有哪几种几何元素构成()A.点B.线C.面D.环4.中点画线法是假定所画直线的斜率在0到1之间。
()A.错误B.正确5.将段落文本转换为HTML文本后,不测能保留文本的段落间距。
()A.错误B.正确6.Sutherland-Hodgeman多边形裁剪(逐边裁剪)算法中,对于多边形的某条边(方向为从端点S到端点P)与裁剪窗口的某条边的比较结果共有以下四种情况,分别需输出一些点,请问哪种情况下输出的点是错误的()A.S在裁剪边外侧而P在裁剪边内侧,则输出该边与裁剪边的交点I和P点B.S与P均在裁剪边内侧,则输出P点C.S在裁剪边内侧而P在裁剪边外侧,则输出该边与裁剪边的S点和交点ID.S与P均在裁剪边外侧,则不输出点7.计算机图形绘制设备一般使用什么颜色模型()A.RGBB.CMYC.HSVD.HSL8.有24个位平面,分辨率是1024*768像素的光栅显示系统,需要102476824/82359296字节的帧缓存。
()A.错误B.正确9.要选择一个隐藏在其它对象后面的对象时,可以按住哪个快捷键后用鼠标单击?()A.ALTB.CTRLC.SHIFTD.ESC10.定位设备用来输入一个位置坐标。
()A.错误B.正确第1卷参考答案一.综合考核1.参考答案:A2.参考答案:ABD3.参考答案:ABCD4.参考答案:B5.参考答案:B6.参考答案:C7.参考答案:B8.参考答案:B9.参考答案:A10.参考答案:B。
计算机图形学-2考试试卷对应的答案
《计算机图形学》试卷2参考答案与评分标准一、选择题(每小题 1 分,共 10 分)答案如下,每小题1分。
二、填空题(每空2分,共20分)答案如下,每空2分。
1、提高分辨率、区域采样、加权区域采样2、平移变换、放缩变换、旋转变换3、透视投影和平行投影4、环境反射光、漫反射光、镜面反射光5、串精度裁剪、字符精度裁剪、基于构成字符最小元素的裁剪6、基于阴极射线管的显示器、液晶显示器、等离子显示器7、图像增强、图像压缩、模式识别三、简答题(每题 8 分,共 40 分)答案要点如下: 1、答:在图形的处理过程中,每一图形模型往往都有自己的坐标系,这个坐标系称为局部坐标系。
(4分)一个图形场景往往由多个图形组成,为了描述它们之间的空间关系,需要把它们置于同一个坐标系中,该坐标系称为世界坐标系。
(4分) 2、答:Ry(θ)= ……………………………………(8分)3、答:cos 0sin 010sin 0cos θθθθ⎡⎤⎢⎥⎢⎥⎢⎥-⎣⎦对于每一条扫描线,多边形的填充过程分为以下4步:(2分) (1)计算扫描线与多边形的交点,设交点个数为n ;(2分) (2)把所有的交点按x 值递增的顺序进行排序;(3)将排序后的第1个与第2个交点,第3个与第4个交点,…,第n-1与第n 个交点配对,每对交点代表扫描线与多边形的一个相交区间;(2分) (4)把相交区间内的像素置成多边形的颜色,相交区间外的像素置成背景颜色。
(2分) 4、答:它的基本思想是:先把屏幕置成背景颜色,再把物体按照离视点的远近进行排序并放入深度排序表中。
排序按离视点由远到近的顺序排序。
建立好深度排序表后,从表头开始,逐个取出多边形,投影到屏幕上,由于采用由远及近的顺序绘制各多边形,即后显示的画面取代先显示的画面,类似于油画家绘画过程,因此又称为油画家算法。
(8分) 5、答:(1)计算功能;(2分) (2)存储功能;(2分) (3)输入功能;(2分) (4)输出功能;(2分)四、综 合 题(每题 10 分,共 30 分)1、答:'''1002cos30sin 30000100sin 30cos300000100010000110011x x y y z z ⎡⎤⎡⎤-⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦⎣⎦(10分) 2、答:第一步:判断直线段是否完全在窗口内或显然在窗口外;(4)第二步:对不能断定完全在窗口内还是显然在窗口外的直线段进行如下处理:计算出直线段与窗口边界直线的一个交点,交点把原线段分成两段,去掉显然在窗口外的一段,对另一段再进行第一步的判断。
19春北交《计算机图形学》在线作业二答案
(单选题)1: 在下列有关曲线和曲面概念的叙述语句中,错误的论述为( )A: 实体模型和曲面造型是CAD系统中常用的主要造型方法,曲面造型是用参数曲面描述来表示一个复杂的物体B: 在曲线和曲面定义时,使用的基函数应有两个重要性质:凸包性和仿射不变性C: 从描述复杂性和形状灵活性考虑,最常用的参数曲面是3次有理多项式的曲面D: 参数形式和隐含形式都是精确的解析表示法,在计算机图形学中,它们一样好用正确答案:(单选题)2: 触摸屏是( )设备A: 只是输入B: 只是输出C: 输入输出D: 既不是输入也不是输出正确答案:(单选题)3: 要将一个“Symbol”保存下来在其它软件中使用,必须选中“Symbol”后对文档进行什么操作( )A: “File-Save”存储文档B: “File-Close”关闭文档C: “File-Print”打印文档D: “File-Export”导出文档正确答案:(单选题)4: 分别用编码裁剪算法和中点分割裁剪算法对一条等长的直线段裁剪,下面那一个说法是正确的( )A: 编码裁剪算法的速度快于中点分割裁剪算法的裁剪速度B: 编码裁剪算法的速度慢于中点分割裁剪算法的裁剪速度C: 编码裁剪算法的速度和中点分割裁剪算法的裁剪速度一样D: 编码裁剪算法的速度和中点分割裁剪算法的裁剪速度哪一个快,无法确定正确答案:(单选题)5: 在光亮度插值算法中,下列论述哪个是错误的( )A: Gouraud明暗模型计算中,多边形与扫描平面相交区段上每一采样点的光亮度值是由扫描平面与多边形边界交点的光亮度插值得到的B: Phong明暗处理模型中,采用了双线性插值和构造法向量函数的方法模拟高光C: Gouraud明暗模型和Phong明暗处理模型主要是为了处理由多个平面片近似表示曲面物体的绘制问题D: Phong明暗模型处理的物体表面光亮度呈现不连续跃变正确答案:(单选题)6: 在多边形的逐边裁剪算法中,对于某条多边形的边(方向为从端点S到端点P)与某条裁剪线(窗口的某一边)的比较结果共有以下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使用简便,效率高。
北交《计算机图形学》在线作业二_3【答案59201】
13.要创建RollOver效果下面操作步骤正确的是哪一项() A.选择要创建RollOver的对象,先选择Effect-RollOver-Creat RollOver命令,再选择 Effect-RollOver-Edit RollOver命令,对当前选择的对象进行编辑,完成后选择 Effect-RollOver-Finish Editing RollOver命令 B.选择要创建RollOver的对象,先选择Effect-RollOver-Edit RollOver命令,再选择 Effect-RollOver-Finish Editing RollOver命令,对当前选择的对象进行编辑,完成后选择 Effect-RollOver- Creat RollOver命令 C.选择要创建 RollOver的对象,分别在三个图层上分别创建Normal、Over、Down三种状态,然后选 择Effect-RollOver-Creat RollOver命令 D.选择要创建RollOver的对象,先选择Effect-RollOver-Edit RollOver命令,再分别在三个图层上 分别创建Normal、Over、Down三种状态,最后选择Effect-RollOver-Creat RollOver命令
2.触摸屏是()设备 A.只是输入 B.只是输出 C.输入输出 D.既不是输入也不是输出
3.要将一个“Symbol”保存下来在其它软件中使用,必须选中“Symbol”后对文档进行什么操作() A.File-Save存储文档 B.File-Close关闭文档 C.File-Print打印文档 D.File-Export导出文档
北交《计算机图形学》在线作业一-0002
北交《计算机图形学》在线作业一-0002
关于计算机图形标准化的论述,哪个是错误的( )
A:CGM和CGI是面向图形设备的接口标准
B:GKS、IGES、STEP均是ISO标准
C:IGES和STEP是数据模型和文件格式的标准
D:PHIGS具有模块化的功能结构
答案:B
下列哪个对象不可以使用“Effect-Add Perspective”命令添加
透视效果( )
A:未转换成为曲线路径的美术字文本
B:具有使用“交互阴影”工具创建的阴影的矢量对象
C:位图
D:具有使用“交互透明”工具创建的局部透明效果的矢量对象
答案:C
多边形填充时,下述哪个论述是错误的( )
A:多边形被两条扫描线分割成许多梯形,梯形的底边在扫描线上,腰在多边形的边上,并
且相间排列
B:多边形与某扫描线相交得到偶数个交点,这些交点间构成的线段分别在多边形内、外,并且相间排列
C:在判断点是否在多边形内时,一般通过在多边形外找一点,然后根据该线段与多边形的交点数目为偶数即可认为在多边形内部,若为奇数则在多边形外部,而且不需考虑任何特殊情况
D:边的连贯性告诉我们,多边形的某条边与当前扫描线相交时,很可能与下一条扫描线相交
答案:C
触摸屏是( )设备
A:只是输入
B:只是输出
C:输入输出
D:既不是输入也不是输出
答案:C
在多边形的逐边裁剪算法中,对于某条多边形的边(方向为从端点S到端点P)与某条裁剪线(窗口的某一边)的比较结果共有以下4种情况,分别须输出一些顶点。
请问哪种情况下输出的顶点是错误的( )。
北京交通大学北交《计算机图形学》在线作业二-答案
D 在彩色图形显示器中,使用RGB颜色模型
【答案】:C 在光栅扫描图形显示器中,所有图形都按矢量直接描绘显示,不存在任何处理 |
D 在三维空间内旋转立体对象
【答案】:C
10. 下面哪一种对象,不可以使用“Arrange-Shaping-Weld”命令与矩形图形进行焊接操作( )
【选项】:
A 美术字文本
B 与矩形图形相距有一定距离的图形
C 具有由“交互立体”工具创建的三维效果的图形
D 使用Freehand工具绘制的线段
C “Text-Fit Text To Frame”
D “Text-Fit Text To Path”
【答案】:A
18. 在下列叙述语句中,错误的论述为( )
【选项】:
A 在图形文件系统中,点、线、圆等图形元素通常都用其几何特征参数来描述
B 在图形系统中,图形处理运算的精度不取决于显示器的分辨率
C 对MN在求交分割
D 不能判断
【答案】:B
4. 默认情况下,一个“绘图页面”中所有对象的堆叠顺序是由什么因素决定的( )
【选项】:
A 由对象的大小决定
B 由对象的填充决定
C 由对象被添加到绘图中的次序决定
D 没有什么规律
【答案】:C
5. 如果要将辅助线按15度固定角度旋转,需要按住下列哪一个键( )
B 计算机图形生成的基本单位是线段
C 多边形的裁剪可以看作是线段裁剪的组合
D 齐次坐标不能表达图形中的无穷远点
【答案】:A
3. 用编码裁剪算法裁剪二维线段时,若直线段两端点M、N的编码分别为1000和1010,则对该线段采用的处理方法是( )
计算机图形学课后答案第二章
第二章答案2.1 计算机图形系统主要具有哪些功能?答案:1. 计算功能 2. 存储功能 3. 输入功能 4. 输出功能 5. 交互功能2.2 阴极射线管由哪些部分组成?它们的功能分别是什么?答案:阴极射线管主要由阴极、电平控制器(即控制极)、聚焦系统、加速系统、偏转系统和阳极荧光粉涂层组成。
阴极被灯丝加热后,会发出电子(带负电荷)并形成发散的电子云。
如果不加控制,电子受到带正电荷的阳极的吸引轰击荧光粉涂层时,将漫射整个荧光屏,形成明亮的白光。
但是在聚焦系统的作用下,电子云会聚焦成很细的电子束,在荧光屏的中心形成一个单一的亮点。
电平控制器用来控制电子束的强弱,通过改变阴极和控制电平之间的电位差,可调节电子束的电流密度,改变所形成亮点的明暗程度。
聚焦后的电子束通过加速系统达到轰击荧光屏应有的速度后,利用偏转系统(包括水平方向和垂直方向的偏转板)可将电子束精确定位在屏幕的任意位置上。
2.3 什么叫刷新?为什么要进行刷新?答案:要保持屏幕上有稳定的图像就必须不断地发射电子束。
刷新一次指电子束从上到下将荧光屏扫描一次。
CRT内侧的荧光粉在接受电子束的轰击时,只能维持短暂的发光,根据人眼视觉暂留的特性,需要不断地进行刷新才能有稳定的视觉效果。
2.4 简述荫罩式显示器与荫栅式显示器的不同之处。
答案:从原理来说荫罩式显示器和荫栅式显示器只是射线的选择方式和荧光点的排列不同而已。
荫罩式显示器在电子枪和荧光屏之间放置一个有孔的金属控制网格(即荫罩)。
控制网格一般成三角形排列。
通过调整彩色电子枪的排布方式可以让三个电子束都会聚于荫罩上。
这样,代表一种颜色的电子束通过荫罩后,就可以避免和另外两种颜色的荧光点相交,而只能与自己对应颜色的荧光点相交。
荫栅式显象管的红、绿、蓝三色荧光点在屏幕上呈垂直条形排列,并将荫罩网改为条状荫栅,这种条状荫栅由固定在一个拉力极大的铁框中的互相平行的垂直铁线阵列组成,且整个栅栏从屏幕顶一直通到屏幕底。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(单选题)1: 在下列有关曲线和曲面概念的叙述语句中,错误的论述为( )
A: 实体模型和曲面造型是CAD系统中常用的主要造型方法,曲面造型是用参数曲面描述来表示一个复杂的物体
B: 在曲线和曲面定义时,使用的基函数应有两个重要性质:凸包性和仿射不变性
C: 从描述复杂性和形状灵活性考虑,最常用的参数曲面是3次有理多项式的曲面
D: 参数形式和隐含形式都是精确的解析表示法,在计算机图形学中,它们一样好用
正确答案: D
(单选题)2: 触摸屏是( )设备
A: 只是输入
B: 只是输出
C: 输入输出
D: 既不是输入也不是输出
正确答案: C
(单选题)3: 要将一个“Symbol”保存下来在其它软件中使用,必须选中“Symbol”后对文档进行什么操作( )
A: “File-Save”存储文档
B: “File-Close”关闭文档
C: “File-Print”打印文档
D: “File-Export”导出文档
正确答案: D
(单选题)4: 分别用编码裁剪算法和中点分割裁剪算法对一条等长的直线段裁剪,下面那一个说法是正确的( )
A: 编码裁剪算法的速度快于中点分割裁剪算法的裁剪速度
B: 编码裁剪算法的速度慢于中点分割裁剪算法的裁剪速度
C: 编码裁剪算法的速度和中点分割裁剪算法的裁剪速度一样
D: 编码裁剪算法的速度和中点分割裁剪算法的裁剪速度哪一个快,无法确定
正确答案: D
(单选题)5: 在光亮度插值算法中,下列论述哪个是错误的( )
A: Gouraud明暗模型计算中,多边形与扫描平面相交区段上每一采样点的光亮度值是由扫描平面与多边形边界交点的光亮度插值得到的
B: Phong明暗处理模型中,采用了双线性插值和构造法向量函数的方法模拟高光
C: Gouraud明暗模型和Phong明暗处理模型主要是为了处理由多个平面片近似表示曲面物体的绘制问题
D: Phong明暗模型处理的物体表面光亮度呈现不连续跃变
正确答案: D
(单选题)6: 在多边形的逐边裁剪算法中,对于某条多边形的边(方向为从端点S到端点P)与某条裁剪线(窗口的某一边)的比较结果共有以下4种情况,分别须输出一些顶点。
请问哪种情况下输出的顶点是错误的( )
A: S和P均在可见的一侧,则输出S和P。