计算机图形学总复习及答案资料

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

卷 第 1 页 共 6 页 三次B样条曲线 (1)一次Bezier曲线由两个控制顶点确定,此时,相应的曲线表达式为 这是一条连接P0和P1的直线段 (2)二次Bezier曲线由三个控制顶点确定, 此时,相应的曲线表达式为 对应于一条抛物线。 (3)常用 的三次Bezier曲线,由4个控制顶点确定 相应的Bezier 曲线为 裁剪的目的是 答: 判断图形元素是否落在裁剪窗口之内并找出其位于内部的部分 消隐分类 按消隐对象分类 2. 线消隐 消隐对象是物体上的边,消除的是物体上不可见的边。 1. 面消隐 消隐对象是物体上的面,消除的是物体上不可见的面 按消隐空间分类 1.物体空间消隐算法 2.图像空间消隐算法 3.物体空间和图像空间消隐算法 什么是消隐? 答:真实感图形绘制过程中,由于投影变换失去了深度信息,往往导致图形的二义性。要消除这类二义性,就必须在绘制时消除被遮挡的不可见的线或面,习惯上称之为消除隐藏线和隐藏面,或简称为消隐 101tPPttP22102121PtPttPttP33,323,223,133,0 1313 1ttBtttBtttBttB3322120313131PtPttPttPttP32102300010033036313311 t tPPPPttP
卷 第 2 页 共 6 页 图象的分辨率指的是 答:分辨率(resolution,港台称之为解析度)就是屏幕图像的精密度,是指显示器所能显示的像素的多少。由于屏幕上的点、线和面都是由像素组成的,显示器可显示的像素越多,画面就越精细,同样的屏幕区域内能显示的信息也越多,所以分辨率是个非常重要的性能指标之一。可以把整个图像想象成是一个大型的棋盘,而分辨率的表示方式就是所有经线和纬线交叉点的数目。 简述体素构造 CSG 的原理和方法 答: CSG ( Constructive Solid Geometry )体素构造表示法,是用计算机进行实体造型的一种构形方法,也是一种新的构形思维方式。这种构形方法的描述,既符合空间形体的构形过程,又能满足计算机实体造型的要求。 体素构造表示法把复杂的实体,看成由若干较简单的最基本实体经过一些有序的布尔运算而构造出来,这些简单的最基本的实体称为体素。 简述局部光照模型与整体光照模型的区别 答:简单光照模型(亦称局部光照模型)其假定物体是不透明的,只考虑光源的直接照射,而将光在物体之间的传播效果笼统地模拟为环境光。 整体光照模型考虑周围环境对当前景物表面的光照影响和光在环境景物之间的传递,能表现自然界复杂场景的高质量真实感图形。 简述图形和图像的区别 答:(1)、图形是矢量的概念。 它的基本元素是图元,也就是图形指令;而图像是位图的概念,它的基本元素是像素。 图像显示更逼真些,而图形则更加抽象,仅有线、点、面 等元素。 (2)、图形的显示过程是依照图元的顺序进行的。 而图像的显示过程是按照位图中所安排的像素顺序进行的,与图像内容无关。 (3)、图形可以进行变换且无失真,而图像变换则会发生失真。 例如当图像放大时边界会产生阶梯效应,即通常说的锯齿。 (4)、图形能以图元为单位单独进行属性修改、编辑等操作。而图像则不行,因为在图像中并没有关于图像内容的独立单位,只能对像素或图像块进行处理。 (5)、图形实际上是对图像的抽象。 在处理与存储时均按图形的特定格式进行,一旦上了屏幕,它就与图像没有什么两样了。在抽象过程中,会丢失一些原型图像信息。换 句话说,图形是更加抽象的图像。 描述光线跟踪算法的基本原理。 答:光线跟踪(Ray tracing)来自于几何光学的一项通用技术,它通过跟踪与光学表面发生交互作用的光线从而得到光线经过路径的模型。 1. 由视点向屏幕上所有象素中心发射光线 2. 每一根光线与场景中所有景物求交,找到最近的交点; 3. 计算该点处由光源直接照射产生的光亮度Il; 4. 若该点处表面为镜面或透射面,则作递归光线跟踪,计算周围环境通过该点向观察 者方向投射的整体镜面反射光亮度Ir和透射光亮度It; 5. 显示每一象素处的光亮度
卷 第 5 页 共 6 页 写出z-缓冲区算法 Z-Buffer算法() { 帧缓存全置为背景色 深度缓存全置为最小Z值 for(每一个多边形) { 扫描转换该多边形 for(该多边形所覆盖的每个象素(x,y) ) { 计算该多边形在该象素的深度值Z(x,y); if(Z(x,y)大于Z缓存在(x,y)的值) { 把Z(x,y)存入Z缓存中(x,y)处 把多边形在(x,y)处的颜色值存入帧缓存的(x,y)处 } } } } 一条直线的两个端点是(0,0)和(3,5),用中点画线法扫描转换计算x从0变到6时y所对应的值。 由于直线的方程没有给出,所以必须找到直线的方程。下面是寻找直线方程(y=mx+b)的过程。首先寻找斜率: m = ⊿y/⊿x = (y2-y1)/(x2-x1) = (5-0)/(3-0) = 5/3 接着b在y轴的截距可以代入方程y=3x+b求出 0=3╳0+b。因此b=0,所以直线方程为y=(5/3)x。当x从0变到6时y所对应的值如下表: x 0 1 2 3 4 5 6 y 0 5/3 10/3 5 20/3 1k的情况下中点画线的算法程序。 void Midpoint Line (int x0,int y0,int x1, int y1,int color) { int a, b, d1, d2, d, x, y; a=y0-y1; b=x1-x0; d=2*a+b; d1=2*a; d2=2*(a+b); x=x0; y=y0; drawpixel(x, y, color); while (x<x1) { if (d<0) { x++; y++; d+=d2; } else { x++; d+=d1; } drawpixel (x, y, color); } /* while */ } /* mid PointLine */ 写出边界表示的八连通区域的递归填充算法。 void BoundaryFill8(int x,int y,int boundarycolor,int newcolor) { int color=getpixel; if(color!=newcolor && color!=boundarycolor) { putpixel(x,y,newcolor); BoundaryFill8(x,y+1,boundarycolor,newcolor); BoundaryFill8(x,y-1,boundarycolor,newcolor); BoundaryFill8(x-1,y,boundarycolor,newcolor); BoundaryFill8(x-1,y+1,boundarycolor,newcolor); BoundaryFill8(x-1,y-1,boundarycolor,newcolor); BoundaryFill8(x+1,y,boundarycolor,newcolor); BoundaryFill8(x+1,y+1,boundarycolor,newcolor); BoundaryFill8(x+1,y-1,boundarycolor,newcolor); } }
卷 第 6 页 共 6 页 用扫描线填充法将下图的多边形填充,请写出扫描线2和扫描线6的AET和NET。 活动边表 AET 第2条扫描线 P1P6 P2P3 【2】---》【2】【0】【7】----》[8][3][3] 第6条扫描线的活动边表如下: 新边表 NET P0P1 0112233445566778891011P2(5,1)EP3(11,3)DP4(11,8)GFCBP5(5,5)P6(2,7)AP1(2,2)
卷 第 3 页 共 6 页 真实感图像学中定义纹理的方法有哪些?分别说明。 答:有离散法、连续函数法、参数法 离散法:将纹理图象数据定义在一个二维数组中,这个数组可以是各种图形或图象。用这种方法定义的纹理,方法灵活,修改也方便,比较适合于交互式系统的纹理映射显示。 连续函数法:任何定义在二维空间(u∈[0,1],v∈[0,1])的函数均可作为纹理函数,实际应用中常采用一些特殊函数。 参数法:同一些CAD系统中描述区域填充图案一样,用一些参数定义纹理模型,纹理模型可以用文本性文件描述,尤其适合于对构成一个场景的各景物定义各自的纹理模型,纹理使用时,由一个通用的解释程序(对纹理先解释再映射 多边形填充扫描线算法包括哪些计算步骤? 答:对于一个给定的多边形,用一组水平(垂直)的扫描线进行扫描,求出每条扫描线与多边形边的交点,这些交点将扫描线分割为相间排列的落在多边形内和外的线段,将落在多边形内的线段上的所有象素点赋以给定的多边形的颜色值。 计算过程如下: (1) 求交:计算扫描线与多边形各边的交点; (2) 排序:把所有交点按递增顺序进行排序; (3) 交点配对:每对交点表示扫描线与多边形的一个相交区间; (4) 区间填色:相交区间内的象素置成多边形颜色,相交区间外的象素置成背景色。 证明Bezier曲线中Bernstein基函数的对称性。 ,()()(),(1)(1)[1(1)][1(1)](1)(1)()ninnininninninnininiinininBtCttCttCttBt
相关文档
最新文档