当前位置:首页 > 计算机图形学总复习答案
(3) 交点配对:每对交点表示扫描线与多边形的一个相交区间;
(4) 区间填色:相交区间内的象素置成多边形颜色,相交区间外的象素置成背景色。 7、为什么需要隐藏面消影法?
答:需要用隐藏面消影法来判断哪些物体和表面遮挡了放在它们后面的物体和表面,从而产生更逼真的图像。
8、消隐算法有哪些类型,它们各有什么特点?
答:消隐算法可以分为两大类:对象空间方法(Object Space Methods)和图象空间方法(image Space Methods)。对象空间方法是通过分析对象的三维特性之间的关系来确定其是否可见。例如,将三维平面作为分析对象,通过比较各平面的参数来确定它们的可见性。图象空间是对象投影后所在的二维空间。图象空间方法是将对象投影后分解为象素,按照一定的规律,比较象素之间的z值,从而确定其是否可见。
9、深度缓存(Z-buffer)消隐算法包括哪些步骤?
答:深度缓存(Z-buffer)算法是一种典型的、简单的图象空间面消隐算法。该算法需要一个深度缓存数组ZB,此外还需要一个颜色属性数组CB ,它们的大小与屏幕上像素点的个数相同。
Z-buffer算法的步骤如下:
(1)初始化ZB和CB,使得ZB(i,j)=Zmax,CB(i,j)=背景色,i=1,?, m; j=1,?,n; (2)对多边形P,计算它在点(i,j)处的深度值zi,j,
(3)若zi,j< ZB(i,j),则ZB(i,j)=zi,j,CB(i,j)=多边形P的颜色;
(4)对每个多边形重复(2)、(3)两步,最终在CB中存放的就是消隐后的图形。 这个算法的关键在第(2)步,要尽快判断出哪些点落在一个多边形内,并尽快求出一个点的深度值。这里需要应用多边形点与点之间的相关性,包括水平相关性和垂直相关性。
10、什么叫观察空间?
答:在透视投影中,从投影中心出发,过观察窗口边线的射线所围成的四棱锥称为透视投影的观察空间;在平行投影中,从投影参考点到观察窗口中心的方向为投影方向,过观察窗口边线且平行于投影方向的直线包围的四棱柱称为平行投影的观察空间。
11、走样与反走样的定义是?反走样技术包括那些?
答:走样指的是用离散量表示连续量引起的失真。
为了提高图形的显示质量。需要减少或消除因走样带来的阶梯形或闪烁效果,用于减少或消除这种效果的方法称为反走样。
其方法是①前滤波,以较高的分辨率显示对象;②后滤波,即加权区域取样,在高于显示分辨率的较高分辨率下用点取样方法计算,然后对几个像素的属性进行平均得到较低分辨率下的像素属性。
12、简述图像处理、模式识别与计算机图形学的关系。
答:图像处理、模式识别与计算机图形学是计算机应用领域发展的三个分支学科,它们之间有一定的关系和区别,它们的共同之处就是计算机所处理的信息都是与图有关的信息。它们本质上是不同的:图像处理是利用计算机对原存在物体的映象进行分析处理,然后再现图像;模式识别是指计
9
算机对图形信息进行识别和分析描述,是从图形到描述的表达过程;计算机图形学是研究根据给定的描述用计算机生成相应的图形、图像。
13、简述直线段生成的数值微分算法基本思想(DDA)。
答:设(x1,y1)和(x2,y2)分别为所求直线的端点坐标,选定x2-x1和y2-y1中较大者作为步进方向(假设x2-x1较大),取该方向上的Dx为一个象素单位长,即x每次递增一个象素,然后计算相应的y值,把每次计算出的(Xi+1,Yi+1)经取整后顺序输出到显示器,则得到光栅化后得直线。
14、写出二维几何变换的变换矩阵,各功能子矩阵及作用是什么?(三维) 答:
?ab?二位图形齐次坐标变换矩阵的一般表达式:T=cd???lm成四个模块,其中?p?q??,这3×3矩阵中各元素功能一共可分s???ab??可以实现图形的比例、对称、错切、旋转等基本变换;[l m]可以实现图cd??形平移变换;[p q]可以实现图形透视变换;[s]可以实现图形全比列变换。 15、简述直线段的编码裁剪方法。(同5题)
答:裁剪窗口的四条边所在的直线把二维平面分成九个区域,每个区域赋予一个四位编码c0c1c2c3,代码中的每一位分别是0或者1,是按照窗口边线来确定,第一位置为1,则表示该端点位于窗口左则;第二位置为1,则表示该端点位于窗口右则;第三位置为1,则表示该端点位于窗口下面;第四位置为1,则表示该端点位于窗口上面;直线端点所在位置为端点区域所在的代码。算法步骤如下: (1)当线段的两个端点的编码为零时,表示直线在窗口内; (2)当线段的两个端点的编码的逻辑“与”为非零时,显然不可见; (3)对于那些非完全可见、又非完全不可见的线段,需要求交。 16、什么是三维投影变换。 答:
通常图形输出设备都是二维的,用这些二维设备来输出三维图形,就得把三维坐标系下图形上各点的坐标转化为某一平面坐标系下的二维坐标,也就是将(x,y,z)变换为(x’,y’)或(x’,z’)或(y’,z’)。这种把三维物体用二维图形表示的过程称为三维投影变换。
17、 考虑三个不同的光栅系统,分辨率依次为640?480,1280?1024,2560?2048。欲存储每
个像素12位,这些系统各需要多大的帧缓冲器(字节数)? 答:640?480需要的帧缓存为640?480?12/8/1024?450KB 1280?1024需要的帧缓存为1280?1024?12/8/1024?1920KB 2560?2048需要的帧缓存为2560?2048?12/8/1024?7680KB 18、 简述内定义区域种子填充算法的步骤
答:
确定种子、种子压栈、弹出种子并着新色、以该种子进行相邻像素四连通或八连通搜索。若相
10
邻像素在区域内且非新色则压栈,对区域内的像素着新色。若栈空结束,否则转弹出种子并着新色。 19、CRT显示器由哪几部分组成?各部分功能是什么?
答:CRT由五部分组成:电子枪、聚焦系统、加速系统、磁偏转系统和荧光屏。 电子枪:发射电子流并控制其强弱; 聚焦系统:将电子流聚焦成很窄的电子; 加速系统:使电子束加速到应有的速度; 磁偏转系统:将电子束引向荧光屏特定的位置; 荧光屏:荧光粉发出可见光。
20、B样条方法和Bezier方法的主要区别是什么?
答: B样条方法是在保留Bezier方法的优点,同时克服其由于整体表示带来不具有局部性质的缺点,及解决在描述复杂形状时带来的连接问题下提出来的。
常用的cad设计中之所以选用3次B样条而不用更高次是因为次数越高,控制点影响的曲线段数就越多,不利于局部控制;而三次Bezier曲线意味着必须有4个控制顶点。 它们的区别主要有以下3点:
1、Bezier曲线的基函数次数等于控制顶点数减1。B样条曲线基函数次数与控制顶点数无关; 2、Bezier曲线的基函数是Beinstein基函数,它是个多项式函数。B样条曲线的基函数是多项式样条。
3、Bezier曲线是一种特殊表示形式的参数多项式曲线。B样条曲线则是一种特殊表示形式的参数样条曲线。
11
六、综合题
1、请用伪代码程序描述使用DDA算法扫描转换一条斜率介于45o和-45o(即|m|>1)之间的直线所需的步骤。
答:假设线段的两个端点为?x1,y1?和?x2,y2?,并且y1?y2
int x1,x2.y1,y2,x,y=y1;
float xf=x1,m=(x2-x1)/(y2-y1); 1/K(P40图3-1) while(y<=y2) {
x=floor(xf+0.5); setPixel(x,y); xf=xf+m; y++; }
2、使用DDA算法扫描转画直线段P0(0,0)--P1(5,2),并画出相应的图。
解:斜率K=2/5=0.4,所以X方向每次步长为1,Y方向递增K. 初始点为(0,0)。 x int(y+0.5) y 0 0 0 1 0 0.4 2 1 0.8 3 1 1.2 4 2 1.6 5 2 2.0
3、利用中点画线算法绘制这样一条直线:两个端点分别为P0(0,0)、P1(5,2)。并画出相应的图。 答:见教材P42
4、请指出用Bresenham算法扫描转换从像素点(1,1)到(8,5)的线段时的像素位置。并画出相应的图。 解:
dx=x2-x1=8-1=7 dy=y2-y1=5-1=4 d1=2*dy-dx=8-7=1
td1=2(dy-dx)=2(4-7)= -6 td2=2*dy=2*4=8
12
共分享92篇相关文档