西电计算机图形学作业

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

1、结合个人的使用体会,谈谈显卡的主要技术指标

主要技术指标:

最大分辨率:当一个图像被显示在屏幕上时,它是由无数小点组成的,它们被称为像素(Pixel)。最大分辩率是指显示卡能在显示器上描绘点的最大数量,一般以“横向点数X 纵向点数”表示。

色深:像素描绘是的是屏幕上极小的一个点,每一个像素可以被设置为不同的颜色和亮度。像素的每一种状态都是三种颜:红、蓝、绿所控制,当它们都处于最大亮度时,像素就呈现为白色,;反之,像素为黑色。像素的颜色数称为色深,该指标用来描述显示卡能够显示多少种颜色,一般以多少色或多少bit色来表示,如8bit色深可以显示256种颜色,16bit色深可显示65536种颜色,称为增强色,24bit色深可以显示16M 种颜色,称为真颜色,所以色深的位数越高,所能看见的颜色就越多,屏幕上画面的质量就越好。但色深增加时,也增大了显示卡所要处理的数据量,这就要求显示卡配有更大显示内存并具有更高的转换速率。

刷新频率:刷新频率是指图像在显示器上更新的速度,也就是图像每秒在屏幕上出现的帧数,单位为Hz (赫兹)。刷新频率越高,屏幕上图像的闪烁感就越小,图像越稳定,视觉效果也越好。一般刷新频率在75Hz以上时,人眼对影像的闪烁才不易查觉。这个性能指标主要取决于显示卡上RAMDAC的转换速度。显存:如果说显存带宽决定了显卡的性能,那么显存位宽就决定了显存带宽,因为在相同频率下,64位显存的带宽只有128位显存的一半,当遇到大量像素渲染工作时,因为显存位宽的限制会造成显存带宽的不足,最直接的后果就是导致传输数据的拥塞,速度明显下降屏幕更新频率(Vertical刷新Rate)指显示器每秒能对整个画面重复更新的次数,若此数值为72Hz,表示显卡每秒将送出72张画面讯号给显示器。在显卡中的渲染管线包括很多,比如像素渲染管线、纹理渲染管线、顶点渲染管线等等,它们在显卡中起到各自的作用。

体会:同型号同容量的情况下,可以比较:1.显存位宽(越大越好)以及显存用料比如GDDR1/GDDR2/GDDR3;2.核心频率和显存频率(越高越好)如:256bit/256M与128bit/256M;3.显卡的速度,就是几点几纳秒(越小越好),一般显卡的速度只有查显卡的说明书才能得出。

2、举例说明中点画线法的基本原理并编程实现

基本原理:

直线y=k*x+b 可以写成y-k*x-b=0的形式;进而写成函数F(x,y)=y-k*x-b;注意在此要使得y的系数一定为正,这和我们以下讨论的直线和点的位置关系息息相关。只有y的系数是正的时候,以下关系式才成立;如果y的系数是负的话,下面的关系式是相反的;

当点在直线上方时,点的坐标带入函数,F(x,y)>0;

当点在直线下方时,点的坐标带入函数,F(x,y)<0;

当点在直线上时,点的坐标带入函数,F(x,y)=0;

已知点P1(x0,y0),P(x1,y1)并且都是整数坐标对。令dx=x1-x0;dy=y1-y0;并且x1>x0恒成立,那么dx恒大于0;且k=dy/dx;方程y-k*x-b=0改写成y-(dy/dx)*x-b=0;

最终函数F(x,y)=y*dx-x*dy-B;其中B=b*dx;

我们讨论

(1)0

沿着x轴的方向,x的值每次加一个单位,我们需要判断的就是纵坐标是加1还是保持原值。我们判断的依据是,当中点(直线与小正方形边点的交点所在边的中点)与直线的关系,通过上面讨论的关系式进行判断。

我们知道点(x0,y0)在直线上,带入函数,函数值等于0;我们将中点(x0+1,y0+0.5)带入函数F(x,y)中,F(x0+1,y0+0.5)=(y0+0.5)*dx-(x0+1)*dy-B=F(x0,y0)+0.5*dx-dy;其中F(x0,y0)=0;由于浮点数的出现会导致运算量的增大,我们令d=2*F(x,y),所以d0=dx-2*dy;

当d0>0时,中点在直线的上方,我们选取中点下方的整数坐标对,即点(x0+1,y0),也就是x++,而y 的值不变。我们继续判断下一个中点(x0+2,y0+0.5),带入函数,d=2*F(x0+2,y0+0.5)=d0+(-2*dy);其中d1=-2*dy看作是增量;

当d0<=0时,中点在直线的下方,我们选取中点上方的整数坐标对,即点(x0+1,y0+1);也就是x++,y++。我们继续判断下一个中点(x0+2,y0+1.5),带入函数,d=2*F(x0+2,y0+0.5)=d0+2*(dx-dy);其中d2=2*(dx-dy)看作是增量;

(2)0>k>=-1的情况

此时,情况有所不同,当沿着x轴,横坐标加单位1时,纵坐标在递减;所以d0=-dx-2*dy;

当d0>0时,中点在直线上方,取中点下方的点,即x++,y- -; d1=-2*(dx+dy);

当d0<=0时,中点在直线下方,取中点上方的点,即x++,纵坐标的值保持不变; d2=-2*dy;

(3)k>1的情况

此时,我们需要沿着y轴的方向,纵坐标加单位1,而横坐标在递增;我们需要判断的就是横坐标是加1还是保持原值。我们判断的依据是,当中点(直线与小正方形边点的交点所在边的中点)与直线的关系,通过上面讨论的关系式进行判断。

编程实现:

3、以四连通区域为例说明种子填充算法的基本原理。

种子填充算法又称为边界填充算法。其基本思想是:从多边形区域的一个内点开始,由内向外用给定的颜色画点直到边界为止。如果边界是以一种颜色指定的,则种子填充算法可逐个像素地处理直到遇到边界颜色为止。

这里的区域指已表示成点阵形式的填充图形,是像素的集合。区域有两种表示形式:内点表示和边界表示,内点表示,即区域内的所有像素有相同颜色;边界表示,即区域的边界点有相同颜色。区域填充指先将区域的一点赋予指定的颜色,然后将该颜色扩展到整个区域的过程。

区域填充算法要求区域是连通的。区域可分为4向连通区域和8向连通区域。4向连通区域指的是从区域上一点出发,可通过四个方向,即上、下、左、右移动的组合,在不越出区域的前提下,到达区域内的任意像素。用这种方法填充的区域就称为四连通域;这种填充方法称为四向连通算法。

相关文档
最新文档