图形学概论
1.说明图形与图象在计算机中的表示方法.并比较二者的优缺点?
2、说明计算机图形学与图象处理、计算机视觉,模式识别等学科的区别和联系?
3、举例说明计算机图形学主要的应用领域?
图形学显示原理和基础:
基本概念
光栅显示原理,显示子系统组成
颜色的表示
颜色模型
颜色查找表
颜色或帧缓存容量的计算
1.名词解释:
随机扫描:使用随机扫描显示器时,CRT的电子束只在屏幕图形部分移动,随机扫描显示器一次只绘图形的一条线,因此也称为量显示器或笔划显示器,随机扫描的图形显示器中电子束的定位和偏转具有随机性,即电子束的扫描轨迹随显示内容而变化,只在需要的地位方扫描,而不必全屏扫描。
光栅扫描:光栅扫描是控制电子束按某种光栅形状进行的顺序扫描。
刷新:由电子枪发射出的电子束(阴极射线),通过聚集系统和偏转系统射向余有荧光层幕上的指定位置,即刷新。刷新频率:荧光层发射光线的频率(或颜色)同被激活量子态与基本状态之间的能级差成正比例,CRT的分辨率取决于荧光的层类型,显示的亮度聚集系统及偏转系统,刷新率为每秒60到80帧,即60HZ或80HZ。
图形显示子系统:图形系统一般使用视频显示器作为基本的输出设备,大部分视频监视器的操作是基于标准的阴极射线管,它是一种真空器件,它利用电磁场产生高速的,经过聚集的电子束,偏转到屏幕的不同位置轰击屏幕表面的荧光材料而产生可见图形。
显示控制器:又称视频控制器,是用来控制显示设备的操作。
象素点:是指图形显示在屏幕上的时候,按当前的图形显示分辨率所能提供的最小元素点。
光点:一般是指电子束打在显示器荧光屏上,显示器能够显示的最小发光点。
屏幕分辨率:也称为光栅分辨率,它决定了显示系统最大可能的分辨率,任何显示控制器所提供的分辨率也不能超过这个分辨率。通常用水平方向上的光点,数与垂直方向上的光点数的乘积来表示。
显示分辨率:是计算机控制器所能提供的显示模式分辨率,实际应用中简称为显示模式,对文本显示方式,显示分辨率用水平和垂直方向上所能显示的字符总数的乘积表示。对于图形显示方式,则用水平和垂直方向上所能显示的象素点总数的乘积表示。显示分辨率不同,它所对应的象素点大小也不同。
存储分辨率:指帧缓冲区的大小,一般用缓冲区的字节数表示。存储分辨率有仅与显示分辨有关,还与象素点的色彩有关。屏幕分辨率决定了所能显示的最高分辨率。
组合象素法:一个图形象素点的全部信息被编码成一个数据字节,按一定方式有存储到帧缓存中,编码字节的长度与点的属性有关。
颜色位面法:帧缓存被分成若干独立的存储区域,每一个区域称为一个位面,每个位面控制一种颜色或者灰度,每一个图象素点在每个位面贴一位,通过几个位面中的一位组成一个象素。
颜色查找表:也称调色板,是由高速的随机存储器组成,用来储存表达象素色彩的代码。此时帧缓冲存储器中每一象素对应单元的代码不再代表该象素的色彩值,而是作为查色表的地址索引。
显示长宽比:即水平点数与垂直点数之比。要求在屏幕两个方向上相同象素点数产生同样长度的线段,以使图形不至发生畸变。
屏幕坐标系:是指显示设备,因此它是以像素为度量单位的坐标系,在1024*768的显示器上,Screen.Width 和Screen.Height分别为1024和768像素。
2.什么是刷新?什么是帧?刷新频率与余辉时间的关系如何?
刷新:快速控制电子束反复重画图像,这就教做刷新。
帧:从屏幕顶部到屏幕底部(纵向)的扫描线构成一帧图像。
余辉时间:荧光粉从屏幕发光到衰减为其光亮度十分之一的时间。
刷新频率:光栅扫描显示器每秒刷新帧的循环次数称CRT的刷新频率。
刷新频率和余辉时间成反比。如过余辉时间短而刷新频率低,则屏幕会发生闪烁现象。
3.什么是帧缓冲存储器?什么是位平面?它们对显示颜色种类或灰度的影响?如果帧缓存的大小一定,那么屏幕分辨率和同时可显示的颜色数目有何关系?
答:帧缓冲存储器framebuffer用来存储像素颜色(灰度)值的存储器,可由显示控制器直接访问以刷新屏幕,每一存储单元对应屏幕的一个像素。帧缓冲存储器是屏幕所显示画面的直接映像。
位平面:像素的每一位各自存放在不同的存储体,这样,一幅画面上所有象素的相同位存储在同一存储体内,这就是位平面。由于使用多个存储体,可一次同时读出更多的像素信息,降低了对帧缓冲器工作速度的要求,在中、高性能的图形显示器中得到广泛采用。
一般情况下,帧缓冲器的每个单元有多少位就可分成多少个位平面。位平面的数目就是帧缓冲器的深度,也就是颜色的深度(灰度等级或颜色种类)。即:若帧缓冲器的位平面的数目为n,则屏幕上一次可显示的颜色种类/灰度等级数是2n。
帧缓冲器的容量一定时,分辨率越大,帧缓冲器中每个单元可分配的位长越小,可同时显示的颜色种类也越少。基本上成反比。满足数学关系:显示器的分辨率为m×n,需要同时显示k种颜色,帧缓冲器的容量为v,则相互关系为:V=m×n×(lgK)的整数上限.
4.颜色或帧缓存容量的计算:
考虑不同的光栅系统,分辨率依次为840*480、1600*1200。欲存储每个像素12位,这些系统各需要多大的帧缓冲器(Byte)?如果每个像素24位,各需要多大存储量?
公式:(分辨率*位面数)/8(byte)
840*480*12/8= 840*480*12/8=
1600*1200*12/8= 1600*1200*24/8=
5.基于光栅扫描的图形显示子系统由哪几个逻辑部件组成?它们的功能分别是什么?
答:主要由三部分组成:显示处理器,帧缓冲存储器,视频控制器。
帧缓冲存储器framebuffer用来存储像素颜色(灰度)值的存储器,可由显示控制器直接访问以刷新屏幕,每一存储单元对应屏幕的一个像素。帧缓冲存储器是屏幕所显示画面的直接映像。视频控制器(video controller)或显示控制器(display controller)来控制显示设备的操作,视频控制器主要用于屏幕的基本刷新操作。显示处理器或显示协处理器(display coprocessor)的用途是使CPU从图形杂务中解脱出来。(Geometric Engine)其主要任务是将应用程序给出的图形定义转化为一组像素强度值,存放在帧缓冲器(扫描转换)。
基本图元扫描转换算法:
概述:算法推导,考虑直线的DDA,bresenham算法,中点算法。园的中点算法
根据DX和DY增长率(或说斜率)来计算(Xi+1,Yi+1):选择大的做单位增长或减小,另一量通过计算或判断得出值。构造判别式来判定(直接计算转换为增量计算),可以是距离差或中点判别。
根据题目要求,画出示意图,推导主要公式并给出算法描述。
1推导直线bresenham算法(m>1,Ya 2.推导中点画线算法(0≤m≤1,且Xa<Xb)。 分析:首先考虑斜率为0≤m≤1,且Xa<Xb ,根据DDA算法则: Xk +1= Xk +1 (Xk ,Yz)是第K步 Yk +1= Yk +m 计算出的点的坐标 它在X=XK处通过直线 由DDA算法知道:当Xk +1= Xk +1时 Yk +1= Yk +m后取整,有两种情况 Xk +1= Xk 和Yk +1 = Yk +1即B(Xk +1,Yk)和A(Xk +1,Yk +1)两个点,若A,B的中点,M(Xk +1,Yk +0.5) 直线与X= Xk +1的交点C(Xk +1,M Xk +1+b) 如果Yk >Yk(C的纵坐标较大),则C离A近,下一点取A,否则取B判别式: 点与直线的位置关系:F(X,Y)=Y-(mx+b) 则Y(x,y) <(x,y)位于直线下方所以△d=2F(M) =0(x,y)位于直线本身上=2F(Xk +1,Yk +0.5) >(x,y)位于直线上方=2M(Xk +1)-2 Yk +2b-1 根据△d的符号可判断在X= Xk +1应该取理论坐标上下中的那一个点判定方法A△d>0,取上面的点A(Yk +1 = Yk +1) ,B△d≤0,取下面的点B(Yk +1 = Yk) 若△x =Xb-Xa>0, △y = Yb-Ya, 则: Pk=△x △d=2△yxk-2△xyk+C Pk+1 =2△yxk+1-2△xyk+1+C Pk+1 = Pk+ 2△y-1-2△x(Yk +1- Yk) 若A .Pk>0,取上面的点,A(Yk +1= Yk +1) B .Pk≤0,取下面的点B(Yk +1= Yk) 初始条件Po =2△yxa-2△xya+2△y+△x(2b-1)= 2△y-△x 则:中点直线的算法表示(适用于0≤M≤1且Xa<Xb): Po=2△y-△x Xk+1= Xk+1 Yk+1= Yk+1 Pk+1= Pk+2(△y-△x) 当Pk≥0 Yk+1= Yk Pk+1= Pk+2△y 当Pk<0 3.推导起点是(r,0)的第一象限中的1/8圆算法 4.推导任意情况下的DDA算法,给出描述和判别式及主要公式。 #include #include inline int round (const float a) { return int (a + 0.5); } void lineDDA (int x0, int y0, int xEnd, int yEnd) { int dx = xEnd - x0, dy = yEnd - y0, steps, k; float xIncrement, yIncrement, x = x0, y = y0; if (fabs (dx) > fabs (dy)) steps = fabs (dx); else steps = fabs (dy); xIncrement = float (dx) / float (steps); yIncrement = float (dy) / float (steps); setPixel (round (x), round (y)); for (k = 0; k < steps; k++) { x += xIncrement; y += yIncrement; setPixel (round (x), round (y)); } } 图元属性和填充算法 线宽,线型。 多边形扫描填充算法(注意两条边的汇点在与扫描线相交时,应算做几个交点)。 种子填充算法(递归调用) 反走样方法原理和方法。 1.改造画线程序,实现画具有线宽和线形的直线 If (pattern[i%8]) Setpixel(x,y,color) V oid(ine Bres Cint Xa, int ya, int xb, intyb) Intdx=xb-xa,dy=yb-ya Intp=2*dy-dxi Int tuopy=2*dy,two Dy Dx=2*(dy-dx) Int X,Y,X End X=Xa; Y=a X Fnd=Xa; Setpixed(X,Y,RED); While(X<X Fnd,X++; If(p<0)pt=two Dy else {y++,p+two Dy Dx}; Setpixel(X,y,RED) Setpixel(X,Y+1,RED) Setpixel(X,Y-1,RED) 2.例举反走样的方法3种 答:仅走样的方法①过取样(supersampling),或后滤波 ②区域取样(area sanpling),或前滤波 ③加权区域取样 3.区域填充算法:8连通的边界填充 Vaid bourdary Fills (intx inty intfill int loundary) Int current Currant=get pixel(X,y) If(ccu)itnt=boun(day)current=fill{ Setcolour(fill), Setpixel(x,y); Houndary Fill8(X+1,y,fill,houndary); Houndary Fill8(X-1,y,fill,houndary); Houndary Fill8(X-1,y+1,fill,houndary); Houndary Fill8(X+1,y-1,fill,houndary); Houndary Fill8(X+1,y+1,fill,houndary); Houndary Fill8(X+1,y-1,fill,houndary) Houndary Fill8(X-1,y+1,fill,houndary); Houndary Fill8(X-1,y-1,fill,houndary) 4.设计实现多边形扫描填充算法 解答: 多边形扫描填充算法算法步骤: (1)初始化:构造边表,ET表置空; (2)将第一个不空的ET表中的边与AET表合并; (3)由AET表中取出交点对进行填充。填充之后删除y=ymax的边; (4)yi+1=yi+1,根据xi+1=xi+1/m计算并修改AET表,同时合并ET表中y=yi+1桶中的边,按次序插入到AET表中,形成新的AET表; (5)AET表不为空则转(3),否则结束。 边表的构造: (1)首先构造一个纵向链表,链表的长度为多边形所占有的最大扫描线数,链表的每个结点,称为一个桶,则对应多边形覆盖的每一条扫描线。 (2)将每条边的信息链入与该边最小y坐标(ymin )相对应的桶处。也就是说,若某边的较低端点为ymin,则该边就放在相应的扫描线桶中。 (3)每条边的数据形成一个结点,内容包括:该扫描线与该边的初始交点x (即较低端点的x 值),1/k ,以及该边的最大y 值ymax 。 x|ymin ymax 1/k NEXT (4)同一桶中若干条边按X|ymin 由小到大排序,若X|ymax 相等,则按照1/m 由小到大排序。 当扫描线与多边形的顶点相交时: 若共享顶点的两条边分别落在扫描线的两边,交点只算一个;若共享顶点的两条边在扫描线的同一边,这时交点作为零个或两个。 5.多边形各顶点坐标为(2,2)(2,4)(8,6)(12,2)(8,1)(6,2)(2,2)。在用扫描线填充算法对其实现扫描转换时,请写出边表(ET )及全部活性边表(AET )的内容。 图形变换 采用列向量表示图形点,注意:变换的顺序是从右向左排列。 采用齐次坐标,增加了一维。 基本的变换:平移,缩放,旋转。扩展的变换:对称,错切。 组合变换:非标准条件的变换,多个连续的基本变换。规律:变标准,变换,反变换。 坐标系变换:二维,三维。两种:旋转方法和单位向量法。 1、证明两个旋转的复合是相加的 通过对R(θ1)和R(θ2)矩阵表示的合并得到R(θ1)·R(θ2)=R(θ1+θ2)。 证明: T= R(θ1)·R(θ2) =1111cos sin 0sin cos 0001θθθθ-??????????×2222cos sin 0sin cos 0001θθθθ-?? ???????? = 2121211221122121cos cos sin sin sin cos sin cos 0sin cos sin cos cos cos sin sin 0001θθθθθθθθθθθθθθθθ---????+-?????? = 21212121cos()sin()0sin()cos()0001θθθθθθθθ+-+????++?????? = R(θ1+θ2) ∴获证. 2、自行推导以齐次坐标表示的点的二维变换矩阵(平移,旋转和缩放)。 解: 1.设原坐标为(x,y),平移变换后为(x +⊿x,y+⊿y ): ∵1x x y y +????+??????=T(x ,y )·1x y ?????????? 设T(x ,y )=1 2 3 1 2 3 1 2 3 a a a b b b c c c ?? ? ? ?????? 则: x x +=1a x+2a y+3a (1) y y +=1x b +2y b +3b (2) 1= 1 x c +2 y c +3 c (3) 得: T(x ,y )=1001001x y ?? ???????? 2. 设原坐标为(x,y),旋转θ后坐标为(cos sin y θθ-,sin cos x y θθ+) ∵cos sin sin cos 1y x y θθθθ-????+??????=R(θ)×1x y ?? ???????? 设R(θ)=1 2 3 1 2 3 1 2 3 a a a b b b c c c ?? ? ? ?????? 则: cos sin y θθ-=1a x+2a y+3a (1) sin cos x y θθ+=1x b +2y b +3b (2) 1= 1 x c +2 y c +3 c (3) 得: R(θ)=cos sin 0sin cos 00 1θθθθ -?????????? 3. 设原坐标为(x,y),缩放后为(x x s ,y y s ) ∵00000 1x y x y s s ?????????? =S(x s ,y s )×1x y ?????? ???? 设S(x s ,y s )=12 3 1 2 3 1 2 3 a a a b b b c c c ?? ? ? ?????? 则: x x s =1a x+2a y+3a (1) y y s =1x b +2y b +3b (2) 1= 1 x c +2 y c +3 c (3) 得: S(x s ,y s )=0 00 00 1x y s s ?????????? 3、反射变换 求y=2,x=3,(2,3),y=-2x 等的反射变换矩阵。试推导其组合变换距阵 解: (1)y=2 T(0,2)F(y=0)T(0,-2)= 100100100012010012001001001-????????????-?????????????????? (2)x=3 T(3, 0)F(x=0)T(-3, 0)=103100103010010010001001001-????????????-?????????????????? (3)(2,3) T(3,2)F(0,0)T(-3,-2)=103100103012010012001001001--????????????--?????????????????? (4)y=-2x θ=arctg(-2) R(θ)FXR(-θ)=cos sin 0100cos sin 0sin cos 0010sin cos 00 10010 1θθθ θθθθθ----?????? ??????---?????????????????? 6.变换练习 用齐次坐标写出下列变换矩阵: (1) 整个图形放大2倍 200020001?? ? ? ???或1 00 10001/2?? ? ? ??? (2)Y 向放大4倍,X 向放大3倍 300040001?? ? ? ?? ? (3)保持图形点(5,10)固定,图形Y 向放大 2倍和 X 向放大5倍 1 50110001?? ? ? ??? 500020001?? ? ? ?? ?1 50 110001-?? ? - ? ??? (4)图形绕(5,10)顺时针旋转90度 10 50110000?? ? ? ??? cos 90sin 900sin 90cos 900001---?? ?-- ? ???1 50110001-?? ? - ? ??? 4.坐标变换1 在XOY 平面坐标系上一点P ,其齐次坐标(5,3,1),过O’点确定的新坐标系X’O’Y’如图所示,O’的齐次坐标是(8,4,1)。请问P 在X’O’Y’中的坐标 ''1x y ?? ? ? ???=100010001-?? ? ? ???cos 30sin 300sin 30cos 300001---?? ?-- ? ???108014001-?? ?- ? ???531?? ? ? ??? (x ’,y ’)就是所求的P 点在X’O’Y’中的坐标值。 5.坐标变换2 如果齐次坐标O’为(1,4,1),Y’轴上的某点坐标为(5,7,1),求该坐标变换组合矩阵。 首先求O ’Y ’向量为(5-1,7-4)=(4,3),则单位向量为(4/5,3/5)。 O ’X ’上单位向量为(3/5,-4/5)。 3/54/504/53/50001-?? ? ? ???101014001-?? ?- ? ??? 裁剪算法 主要掌握直线段的裁剪算法:编码裁剪,Liang-Barsky 参数裁剪算法。 多边形的裁剪算法:Sutherland-Hodgeman 逐边裁剪算法 1.描述直线的Cohen-Sutherland 的裁剪算法。给出算法步骤。 (1)基本思想,对每条直线段P1(X1,Y1)P2(X2,Y2)分3种情况处理 (1)直线段完全可见,“简取”之 (2)直线段完全不见“简弃”之 (3)直线段不满足以上两种情况,需要对之按交点进行分段,分段后重复以处理。 Cohen-Stitherland 的剪截算法如下 它通过初始测试来减少计算的交点数,从而加快线段截剪算法的速度,线段的端点都以四位=进偏码,称为区域码,同来标识端点相截剪矩阵边界的位置,区域的各位指出端点对于窗口边界的相对位置关系:左,右,上,下,将区域码从右到左偏码,位1:左位2,右位3下位4上 算法如下 #define RouND(a)(cint)(a+0.5) #define LEFT-EDGEOX1 #define RIGHT-EDGEOX2 #define BOTTOM-FDGEOX4 #define TOP-EDGEOX8 #define TNSIDE(a)(!a) #define REJECT(a,b)(a&b) Define ACCEPT(a,b)(!(a/b)) Unsigned char encode (wcpt2, pt, dcpt,winmin,depe,windax) Unsigned char code=oxoo; HCPt,x < winMinx Code=codeILEFT-EDGE If cpt,x>winMinMax,x Code=code RIGHT-BDGE If(pt,y<winMing) Code=codeBottoM-EDGE If(pt,y>winMax,y) Code=code TOD-EDGE, Return(code); 算法步骤 ①区域码将平面分成9个不同的区域,则线段线段落在这空区域内,得到相应的编码,偏码结果如图: ②区域的将平面分成9个不同区域。则线段端点落在这空区域内,得到相应的编码,一组给所有的线段的端点建立了区域码,就可很快判断哪条线段完全在窗口内,哪条线段窗口外规则如下: 两端点的区域码为0000,则完全可见 两端点的区域码相与操作,结果不为0000,则完全不可见, 经过1、2后,则判断线段有2条属于第3种情况,判断P1,如果在窗口内,则交换P1,P2,用线段P1,P2与窗口边的有效交点代替P1,如无有效交点,则完全不可见,结束则转1。 2、①多窗口各边界截剪的多边形储输入与输出顶点。在窗口的条裁剪边界处理守所有顶点后,其输出顶点将用窗口的下一边界继续剪裁。 ②窗口的一条边以及边长线构成的裁剪线把平面分成两区域,包含有窗口区域的一个域称为可见侧,不包含窗口的区域则是不可见侧。 2.描述多边形的Sutherland-Hodgeman 裁剪算法,给出算法步骤。 注意线段和裁剪边四种关系,分别如何输出交点。 3. Liang-Barsky参数化裁剪方法: 用Liang-Barsky线段裁剪算法,使用窗口(-1,-1,1,1)裁剪以下线段: 线段A(-2,-2)B(2,2). 解:(1)P1=-(x2-x1) Q1=x1-xmin t1= P2=(x2-x1) Q2=xmax-x t2= P3=-(y2-y1) Q3=y1-ymin t3= P4=(y2-y1) Q4=ymax-y1 t4= t=Q/P 如果tmin>tmax(舍弃) tmin=tmax( 点) tmin=tmax(线段) 线段A(0,2)B(2,0). 线段A(0,-3)B(-3,0.) 线段A(0,-3)B(0,3.) 观察变换 观察流程:多个坐标系的变换,窗口到视口的变换 观察变换:参见坐标变换 投影变换:斜投影,一点透视投影 1.给出三维观察变换流程图并叙述主要步骤。 2.观察变换-坐标变换 若某观察方向向量为N(-1,0,0),向上的向量为(0,1,0),观察参考点为(1,0,0),请求从世界坐标到观察坐标的坐标变换矩阵。 提示:两个差乘运算,计算出u,v,n三个单位向量。 3.推导斜投影的一般变换矩阵。 4.推导一点透视的一般变换矩阵 假设投影参考点在沿Z轴的位置ZPVP处,且置观察平面在Z轴上。 曲线曲面造型 参数样条的多项式向量表示 样条曲线的连续性条件 三次插值样条 自然三次样条:4n个方程联立解出4n个系数 Hermite样条: Cadinal样条: 调和函数(基函数)的概念和理解 Bezier曲线定义,性质和生成 1.贝塞尔曲线的性质: 1、贝塞尔曲线的一个非常有用的性质,该曲线总是通过第一个和最后一个控制点.即曲线在两个端点的边界条件是:p(0)=p0, p(1)=pn. 2、.贝塞尔曲线的另一个重要性质是其落在控制点的凸壳内.这些点由贝塞尔混合函数给出.这些值都是下的且总和为1 3、贝塞尔曲线在端点处的二阶导数可以计算为: P”(0)=n(n-1)[(p2-p1)-(p1-p0)] P”(1)=n(n-1)[( p n-2-pn-1)-(pn-1-pn)]) 2.任意一条PC曲线,式P(1/2)=0.5(P0+P1)+0.125(P0u-P1u)成立吗?如成立,请证明并求出P(0.6)? 代入Hermite样条公式: P(1/2)= P0(2*0.5*0.5*0.5-3*0.5*0.5+1)+ P1 (-2*0.5*0.5+3*0.5*0.5) + P0u (0.5*0.5*0.5-2*0.5*0.5+0.5)+ P1u (0.5*0.5*0.5-0.5*0.5) =0.5(P0+P1)+0.125(P0u-P1u),成立。 P(0.6)= P00.352+ P10.648+ P0u 0.312+ P1u 0.072 3.试推导Cardinal样条曲线的矩阵形式。 4.反求控制点 知Bezier曲线上的四个点分别为Q0(120,0),Q1(145,0),Q2(0,45),Q3(0,120),它们对应的参数分别为0,1/3,2/3,1,反求Bezier曲线的控制顶点。 5.连续性 证明两条参数曲线段P(t)=(t2-2t,t),t∈[0,1] Q(u)=(u 2-1, u +1) u ∈[0,1]。判定它们是否达到C1和G1连续,若连续求出连接点坐标值。 真实感显示 1、多边形表面是如何表示的? 解:曲线方程为:Ax+By+Cz+D=0 2、平面法向量是如何求得的? 解:AX+BY+CZ+D=0 平面法向量:N(A,B,C) N=V1V2 * V2V3(向量差乘) 3、如何判定点与面的关系? 答:平面方程:AX+BY+CZ+D=0 点坐标代入AX+BY+CZ+D,结果若等于0在面上,若大于0在面外,若小于0在面内。 4、消影算法分哪两大类? 消影算法可以在物体空间或图象空间中实现,所以算法分为两大类:(1)物像空间算法,代表是后向面算法(2)图像空间算法:代表深度缓冲算法(Z—Buffer算法) 5、什么是简单光照模型,描述之。 6、从计算量和结果图象的质量方面对Gourand插值法和Phong插值法做一比较。 7、图形学中有哪些颜色模型? RGB、XYZ、CMY、HSV颜色模型分别是如何定义的,特点和应用范围 模型定义特点应用范围RGB 使用红、绿和蓝在视频监视 器上显示彩色的基础 c=rR+gG+bB 主要用于显示器 XYZ 通常把一组CIE基色称为 XYZ c=xX+yY+zZ CIE色度图 CMY 与RGB颜色模型不同,以 红、绿、蓝的补色青、品红、 黄为原色构成的CMY颜色 系统可以与RGB通过矩 阵相互转换 主要用于硬拷贝如: 打印机 HSV 拥护选择一种光谱色并加 入一定量的白色和黑色来 获得不同的明暗、色泽和色 调有色彩(H)、色饱 和度(S)和明度值 (V)三个颜色参数 面向用户