计算机图形学复习提纲
- 格式:doc
- 大小:627.00 KB
- 文档页数:15
1.计算机图形系统的五方面的功能:计算、存储、对话、输入、输出2.计算机图形学与计算机图像学的关系–图形和图像实质是矢量图与点位图的关系–矢量图是用一系列计算机指令来描述一幅图,这种方法实际是用数学方法来描述一幅图,是许多的数学表达式通过语言表达出来。
–点位图是把彩色图分成许许多多的象素,每个象素用若干个二进制位来指定该象素的颜色、亮度和属性。
–除了在构成原理上的区别之外,还具有以下区别:–1、图的获取方式不同–2、图的存储空间不同,图像的数据量相对较大,图形的数据量相对较少。
–3、图的显示速度不同–4、图像的像点之间没有内在的联系,在放大与缩小时,部分像点被丢失或被重复添加,导致图像的清晰度受影响,而图形由运算关系支配,放大与缩小不会影响图形的各种特征。
–5、图像的表现力较强,层次和色彩较丰富,适合表现自然的、细节的事物;图形则适于表现变化的曲线、简单的图案、运算的结果等。
3.计算机图形学的应用–计算机辅助设计–图示图形学–计算机艺术–娱乐–教学与培训–可视化–图形用户界面4.输入与输出设备(哪些是输入和输出设备)–输入设备:用于图形输入的设备很多,一般包括鼠标、键盘、跟踪球、空间球、操纵杆、数字化仪、拨号盘和按钮盒。
对于一些特殊应用,还有包括数据手套、触摸板、图像扫描仪和声音系统。
–输出设备:图形和图像的输出有两种模式:–屏幕显示模式(用显示器显示)–输出实物图纸或硬拷贝模式(打印机、绘图机、照相机、摄像机等设备都可以使用)5.分辨率与帧缓存容量的关系象素整个屏幕被扫描线分成n 行,每行有m 个点,每个点为一个象素。
整个屏幕有m ×n 个象素。
•分辨率是指CRT在水平或垂直方向的单位长度上能分辨出的最大光点(象素)数,分为水平分辨率和垂直分辨率。
通常用屏幕上象素的数目来表示。
比如上述的n 行,每行m 点的屏幕分辨率为m ×n 。
分辨率越高,相邻象素点之间的距离越小,显示的字符或图像也就越清晰。
分辨率受显示器生产工艺、扫描频率以及显示存储器容量的限制。
• 分辨率M ×N 、颜色个数K 与显存大小V 的关系⎡⎤K N M V 2log ⨯⨯≥帧缓存中单元数目与显示器上像素的数目相同,单元与像素一一对应,各单元的数值决定了其对应像素的颜色。
显示颜色的种类与帧缓存中每个单元的位数有关(图示帧缓冲器的每个单元只有一位)。
6.国际标准化组织(ISO )批准的图形标准面向图形设备的接口标准:计算机图形元文件(CGM),(CRT,Mouse,…) 计算机图形接口(CGI).设备驱动程序。
面向应用软件的标准:程序员层次交互式图形系统(PHIGS ),GL (图形程序包) (三维)图形核心系统(3D-)GKS面向图形应用系统中工程和产品数据模型及其文件格式: 基本图形转换规范(IGES ) 产品数据转换规范(STEP )7.图形的非几何变换主要指哪些非几何属性的变换非几何要素:刻画对象的颜色、材质等8.构成图形的要素包括哪些,表示图形的两种方法几何要素:刻画对象的轮廓、形状等 非几何要素:刻画对象的颜色、材质等– 点阵表示• 枚举出图形中所有的点(强调图形由点构成) • 简称为图像(数字图像) – 参数表示• 由图形的形状参数(方程或分析表达式的系数,线段的端点坐标等)+属性参数(颜色、线型等)来表示图形 • 简称为图形:• 图形主要分为两类: • 基于线条信息表示 • 明暗图(Shading)9.刷新的概念、刷新频率与荧光物质的持续发光时间关系 • 刷新频率:每秒钟重绘屏幕的次数 • 荧光物质:当它被电子轰击时发出亮光• 持续发光时间:电子束离开某点后,该点的亮度值衰减到初始值1/10所需的时间• 刷新(Refresh):为了让荧光物质保持一个稳定的亮度值 • 某种CRT 产生稳定图像所需要的最小刷新频率 • =1秒/荧光物质的持续发光时间 • (例如)=1000/40=25Hz •10.在显示技术中,提高总的光强等级的常用方法 增加帧缓冲器的平面数11.交互式计算机图形处理系统包括哪些,图形软件包括哪三部分图形软件和图形硬件 图形应用数据结构、图形应用软件和图形支撑软件12.Bresenham 画线算法 、中点画线算法、中点画线算法与DDA 算法相比的优点(1)DDA 方法思想b mx y i i +=++11由x m b mx i ∆++=x m y i ∆+= m y x i i +==∆+1y 1时,当• 即:当x 每递增1,y 递增m(即直线斜率);• 注意上述分析的算法仅适用于|m | ≤1的情形。
在这种情况下,x 每增加1, y 最多增加1。
当 |m | >1时,必须把x ,y 地位互换, y 每增加1,x 相应增加1/m 。
• 增量算法:在一个迭代算法中,如果每一步的x 、y 值是用前一步的值加上一个增量来获得,则称为增量算法。
• DDA 算法就是一个增量算法例:画直线段P0(0,0)--P1(5,2) 则k=0.4 x int(y+0.5) y+0.5 m y x+==∆y 1时,当0 0 0+0.5 1 0 0.4+0.5 2 1 0.8+0.5 3 1 1.2+0.5 4 2 1.6+0.5 522.0+0.5缺点: 在此算法中,y 、m 必须是float ,且每一步都必须对y 进行舍入取整,不利于硬件实现。
(2)Bresenham 画线算法Bresenham 算法是Bresenham 提出的一种精确且有效的光栅生成算法。
它用于显示线、圆和其它曲线的整数运算 它是目前最有效的线段生成算法考虑斜率0<m<1时的扫描转换情况 如图:设斜线在(xk, yk )已经确定了一个点,下一步是xk+1处的点,如何确定?设点Q 为斜线段与xk+1直线的交点,d1,d2分别为点Q 距上下平行线yk, yk+1距离设斜线y=m•x+b ,点Q 的x 轴坐标为xk+1,则点Q 的y 轴坐标为: y=m ( xk +1 )+ b 则可求出d1、d2的长度 • d1 =m(xk+1)+b - ykd2 = (yk+1 ) – [m(xk+1)+b ]则:d1、d2的差值为:d1 - d2 = 2 m(xk+1) - 2 yk + 2b - 1又xy m ∆∆= 则 d1 - d2 = 2 (xk+1) – 2 yk + 2b - 1设决策参数 pk =x ∆(d1 - d2) pk 的正负决定了使用哪一个象素点 pk =x ∆(d1 - d2 ) pk >0 时, 取上点 pk <0 时, 取下点pk =0 时, 始终取上(或下)点c y x x y p k k k k +⋅∆-⋅∆=22步,第 c y x x y p k k k k +⋅∆-⋅∆=++++111221步,第 )(2)(2111k k k k k k y y x x x y p p -∆--∆=-+++则得到前一点与后点的递推关系)(2)(2111k k k k k k y y x x x y p p -∆--∆+=+++的正负,取决于或其中k 1p 10)(=-+k k y y (Pk>0, 取1; Pk<0, 取0)|m|<1时的算法1、输入线段的两个端点,并将左端点存储在(x0, y0)中。
2、画第一个点3、计算常量x y p y x y y x ∆-∆=∆-∆∆∆∆22220和、、、 4、从k=0开始,在沿线路径的每个xk 处,进行两个步骤地监测a 、若pk<0, 下点绘制( xk +1,yk ),且y p p k k ∆+=+21b 、若pk>=0, 下点绘制( xk +1,yk +1 )且x y p p k k ∆-∆+=+2215、重复步骤4, 共x ∆次例题请参照书上P75 例3.1(3) 中点画线算法假定直线斜率0<K<1,且已确定点亮象素点P (Xp ,Yp ),则下一个与直线最接近的像素只能是P1点或P2点。
设M 为中点,Q 为交点现需确定下一个 需要点亮的象素。
– 当M 在Q 的下方, P2离直线更近, 取P2 。
– 当M 在Q 的上方, P1离直线更近 , 取P1 - 当M 与Q 重合, P1、P2任取一点。
问题:如何判断M 与Q 点的关系?假设直线方程为: F(x,y)= ax +by +c=0 其中a=y0-y1, b=x1-x0, c=x0y1-x1y0 该直线方程将平面分为三个区域: (1)对于直线上的点,F(x,y)=0; (2)对于直线上方的点,F(x,y)>0; (3)对于直线下方的点,F(x,y)<0。
∴ 欲判断M 点是在Q 点上方还是在Q 点下方,只需把M 代入F (x ,y ),并检查它的符号。
构造递推式:d=F(M)=F(xp+1,yp+0.5)=a(xp+1)+b(yp+0.5)+c当d<0,M 在直线(Q 点)下方,取右上方P2; 当d>0,M 在直线(Q 点)上方,取右方P1; 当d=0,选P1或P2均可,约定取P1; 能否采用增量算法呢?若d ≥0, M 在直线上方, 则取P1;此时再下一个象素的递推式为d1=F(xp+2, yp+0.5)=a(xp+2)+b(yp+0.5)+c= a(xp +1)+b(yp +0.5)+c +a =d+a增量为a•若d<0,M在直线下方,则取P2;此时再下一个象素的递推式为d2= F(xp+2, yp+1.5)=a(xp+2)+b(yp+1.5)+c= a(xp +1)+b(yp +0.5)+c +a +b =d+a+b增量为a+b•画线从(x0, y0)开始,d的初值d0=F(x0+1, y0+0.5)= a(x0 +1)+b(y0 +0.5)+c= F(x0, y0)+a+0.5b = a+0.5b由于只用d 的符号作判断,为了只包含整数运算, 可以用2d代替d来摆脱小数,提高效率。
例:用中点画线法P0(0,0) P1(5,2)a=y0-y1=-2 b=x1-x0=5 d0=2(a+0.5b)d0=2a+b=1 d1=2a=-4 d2=2(a+b)=6 若d 0, 增量为2ad3= 2a=-4 d4= 2(a+b)=6 若d<0,增量为2(a+b)0 0 11 0 -3 (-4+1)2 13 (6-3)3 1 -1 (3-4)4 25 (-1+6)13.扫描线填充法(概念、算法步骤,边表)两种基本的区域填充方法扫描线方法区域填充方法多边形的扫描转换主要是通过确定穿越区域的扫描线的覆盖区间来填充,区域填充是从给定的位置开始涂描直到指定的边界条件为止。