图形与图像的区别图形的表示方法有两种:参数法和点阵法。参数法是在设计阶段建立几何模型时,用形状参数和属性参数描述图形的一种方法。形状参数可以是点、线、面、体等几何属性的描述;属性参数则是颜色、线型和宽度等非几何属性的描述。一般将用参数法描述的图形依旧称为图形。点阵法是在绘制阶段用具有颜色信息的像素点阵来表示图形的一种方法,所描述的图形通常称为图像。计算机图形学就是研究将图形的表示法从参数法转换为点阵法的一门学科。这意味着真实感图形的计算结果是以数字图像的方式来提供的,因此图形与图像的界限越来越模糊。尽管如此,二者依然是可以区别的。图形是由场景的几何模型与物体的物理属性共同组成的;图像是指计算机内以位图形式存在的彩色信息。平面着色与光滑着色的区别平面着色是指多边形所有顶点的颜色都相同,多边形内部具有同顶点一样的颜色。光滑着色是指多边形各个顶点的颜色不同,多边形边的颜色是由这条边的两个顶点的颜色插值得到,多边形内部的颜色是由扫描线上共享同一顶点的相邻两条边上的颜色插值得到。扫描线种子填充算法原理及步骤算法原理为:先将种子像素入栈,种子像素为栈底像素,如果栈不为空,执行如下4步操作。(1)栈顶像素出栈。(2)沿扫描线对出栈像素的左右像素进行填充,直至遇到边界像素为止。即每出栈一个像素,就对区域内包含该像素的整个连续区间进行填充。(3)同时记录该区间,将区间最左端像素记为xleft,最右端像素记为xright。(4)在区间〔xleft,xright〕中检查与当前扫描线相邻的上下两条扫描线的有关像素是否全为边界像素或已填充像素,若存在非边界且未填充的像素,则把未填充区间的最右端像素取作种子像素入栈。比较Bezier曲线和B样条曲线的优缺点Bezier曲线虽然有许多优点,但也存在不足之处:其一、确定了控制多边形的顶点个数为n+1个,也就确定了曲线的次数为n次;其二、控制多边形与曲线的逼近程度较差,次数越高,逼进程度越差;其三、曲线不能局部修改,调整某一控制点将影响到整条曲线,原因是Bernstein基函数在整个区间[0,1]内有支撑,所以曲线在区间内任何一点的值都将受到全部顶点的影响,调整任何控制点的位置,将会引起整条曲线的改变;其四、Bezier曲线的拼接比较复杂。B样条曲线比Bezier曲线1、更贴近控制多边形,曲线更光滑(很容易达到C2连续性),2、其多项式的次数可根据需要指定,而不像Bezier曲线多项式的次数是由控制点的个数来确定。除此之外3、突出优点是增加了对曲线的局部修改功能,因为B样条曲线是分段组成的,所以控制多边形的顶点对曲线的控制灵活而直观。深度缓冲器算法原理属于图像空间消隐算法。在物空间内不对物体表面的可见性进行检测,在像空间中根据每个像素的深度值确定最终绘制的物体表面上各个像素的颜色。也称为Z-Buffer算法。Z-Buffer算法需要建立两个缓冲器:一个是深度缓冲器,用以存储图像空间中每一像素的深度值,初始化为最大深度值(z坐标)。另一个是帧缓冲器,用以存储图像空间中的每一像素的颜色值,初始化为屏幕的背景色。Z-Buffer算法计算准备写入帧缓冲器当前像素的深度值,并与已经存储在深度缓冲器中的原可见像素的深度值进行比较。如果当前像素的深度值小于原可见像素的深度值,表明当前像素更靠近观察者且遮住了原像素,则将当前像素的颜色写入帧缓冲器,同时用当前像素的深度值更新深度缓冲器。否则,不作更改。优点:简单稳定,利于硬件实现;缺点:需要一个额外的Z缓冲器,在每个多边形占据的每个像素处都要计算深度值,计算量大。深度排序算法是同时运用物体空间和图像空间的消隐算法。在物体空间中将表面按深度优先级排序,然后在图像空间中,由深度最大的表面开始,依次绘制各个表面。这种消隐算法通常被称为画家算法。深度排序算法的原理是:先把屏幕置成背景色,再把物体的各个面按其离视点的远近排序形成深度优先级表,离视点远者位于表头,离视点近者位于表尾。然后按照从表头到表尾的顺序绘制各个表面,后画的表面颜色取代先画的表面颜色,相当于消除了隐藏面。Gouraud明暗处理的主要思想是:先计算物体表面多边形各顶点的平均法矢量,然后调用简单光照模型计算各顶点的光强,多边形内部各点的光强则通过对多边形顶点光强的双线性插值得到。优缺点是算法简单,计算量小,解决了多边形网格之间亮度不连续过渡的问题。但是,Gouraud明暗处理也存在一些缺陷:(1)使用Gouraud双线性光强插值实现相邻多边形之间的光滑过渡时,由于采用了光强插值,高光区域的多边形边界明显,马赫带效应没有完全消除。(2)镜面反射的高光区域只能在最小面片的周围形成,不能在面片的内部形成,导致Gouraud明暗处理生成的高光区域明显大于Phong明暗处理生成的高光区域。Phong明暗处理也称为双线性法矢插值模型。Phong明暗处理的主要思想是首先计算多边形网格的每个顶点的平均法矢量,然后使用双线性插值计算多边形内部各点的法矢量。最后才使用多边形网格上各点的法矢量调用简单光照模型计算其所获得的光强。优缺点Phong明暗处理可以产生正确的高光区域。解决了三角形网格之间颜色不连续过渡的问题。但是,Phong明暗处理的主要缺点是既要通过三角形网格各顶点的法矢量来插值计算多边形内各点的法矢量,还要调用光照模型计算其光强,计算时间是Gouraud明暗处理的6~8倍。在OpenGL中只提供了Gouraud明暗处理,未提供Phong明暗处理。双缓冲是一种基本的动画技术。创建一个与屏幕显示设备上下文兼容的内存设备上下文,先将图形绘制到内存设备上下文中,然后调用BitBlt()函数将内存位图复制到屏幕上,同时禁止背景刷新,可实现平滑动画,消除了屏幕闪烁现象。扫描转换:直线的扫描转换是在屏幕像素点中确定最佳逼近于理想直线的像素点集的过程。转换的结果是离散的像素点。