计算机图形学复习大纲
第一、二章
1、计算机图形学定义及研究内容
(1)定义
计算机图形学是研究怎样用计算机生成、处理和显示图形的一门学科。
(2)研究内容
如何在计算机中表示图形,以及如何利用计算机进行图形的生成、处理和显示的相关原理与算法,构成了计算机图形学的主要研究内容。(应用领域:计算机辅助设计与制造、科学计算可视化、虚拟现实等)
2、相关学科及其关系(计算几何、图像处理、计算机视觉)
3、真彩色与伪彩色的概念。
(1)真彩色
使用真彩色的显存结构(24位面,1600万色)
(2)伪彩色
使用8位假彩色的显存结构
第三章 图形标准
1、建立图形标准的目的
使图形与计算机硬件无关,实现程序的可移植和数据的可交换。
2、两类标准,常见标准所属类型。
(1)应用程序接口标准
GKS、PHIGS
(2)图形数据交换标准
CGM、IGES、DXF、STEP
第四章 从图形到图像
1、什么是图形?什么是图像?他们适合表达对象?他们之间如何转化?
(1)图形是用矢量表示的,是用几何学的点、线、面对客观世界建模的结果。图形中不但包含坐标、拓扑等几何信息,而且可以包含颜色、纹理等非几何信息。这些信息是设备无关的。
(2)图像是用点阵表示的,其中只有各个点的颜色信息,不含拓扑关系,也没有几何学的点、线、面。从数学上说,图像是定义域和值域都不连续的一个函数(数字图像)。
(3)图形适合表达几何信息(建模),图像适合表达视觉信息(照片)。
(4)图形通过光栅扫描可以转化为光栅图像;图像通过识别和处理可以转化为矢量表示的图形形式,但通常它无法完全恢复图形信息。
2、直线生成算法:DDA法(要求推导)、Bresenham算法及其特点(计算不要求整数化)
(1)DDA法
(2)Bresenham算法
3、中点画圆法(注意那个作业)
完整圆的伪代码:
void MidCircle(int x0,int y0,int r)
{
int x=x0,y=y0+r;
float f=1.25-r;
while(x { point(x,y); point(y,x); point(x,y0+y0-y); point(y0+y0-y,x); point(x0+x0-x,y); point(y,x0+x0-x); point(x0+x0-x,y0+y0-y); point(y0+y0-y,x0+x0-x); if(f<0) f+=2*(x-x0)+3; else { f+=2*(x-x0-y+y0)+5; y--; } x++; } } 4、凸多边形、凹多边形、含内环的多边形(内环外环又叫什么?)、多边形的正面和反面。 (1)凸多边形是指任意两顶点间的连线均在多边形内。 (2)凹多边形是指任意两顶点间的连线有不在多边形内的部分。 (3)含内环的多边形是指多边形内再套有多边形。多边形内的多边形称为内环。(内环又叫内边界、外环又叫外边界) (4)如果多边形的顶点以逆时针顺序出现在屏幕上,则为“正面”;如果多边形的顶点以顺时针顺序出现在屏幕上,则为“反面”。 4、多边形的显示:多边形的扫描转换(知道几大步骤) 扫描线方法通过从多边形最低点到最高点之间的水平扫描,完成对多边形的扫描转换。对每条扫描线,多边形的扫描转换分为四个步骤: (1)求交:计算扫描线与多边形各边的交点; (2)排序:把所有交点按x值递增顺序排序; (3)配对:奇偶交点配对,每对交点代表扫描线与多边形的一个相交区间。 (4)着色:把相交区间内的象素置成多边形颜色。 void polyfill (polygon, color) 颜色 color;多边形 polygon; { 构造新边表NET(NET[i]为第i条扫描线对应的新边表头,见前页图); y = 最低扫描线号(在这里是1); 初始化活性边表AET为空; 对各条扫描线i,作下列操作 { ▪ 把新边表NET[i]中的边结点插入AET表,并使之按x坐标递增顺序排列; ▪ 将活性边表AET中的边奇偶为区间,对区间内的象素(x, y),用color着色; ▪ 检查活性边表AET,把ymax= i的结点从AET表中删除,其它边的x交点坐标按增量递增(Δx); } } 第五章 曲线和曲面 1、曲线的三种表示方式:显示、隐式、参数,它们的二维形式。 (1)显示表示:y=f(x) (2)隐式表示:f(x,y)=0 (3)参数表示:P(t)=[x(t), y(t)] 2、曲线活动坐标架的定义(包括非弧长参数),曲率、挠率的定义及意义。 (1)设曲线为P(t)=[x(t), y(t), z(t)],则: 切矢量:P’(t)(当t为弧长时是单位矢),单位切矢记为T。 主法矢:当以弧长为参数时,切矢的导矢是一个与切矢垂直的矢量,其单位矢称为主法矢,记为N。 副法矢:B=T×N T(单位切矢)、N(主法矢)和B(副法矢)构成了曲线上的活动坐标架;N、B构成的平面称为法平面;N、T构成的平面称为密切平面(它与曲线最贴近);B、T构成的平面称为从切平面。 对于一般参数t,有: (2)曲率 由于T’(s)与N平行,令T’(s)= κN,κ(kappa)称为曲率,其几何意义是曲线的单位切矢对弧长的转动率。κ恒为正,又称为绝对曲率。κ曲率的倒数ρ=1/κ,称为曲率半径。 (3)挠率 由B(s)·T(s)=0,两边求导,可得: B’(s)·T(s)=0; 又由|B(s)|2=1,两边求导,可得: B’(s)·B(s)=0; 所以,B’(s)∥N(s),再令B’(s)=-τN(s),τ(tau)称为挠率,其几何意义是副法矢方向对于弧长的转动率。挠率大于0、等于0和小于0分别表示曲线为右旋空间曲线、平面曲线和左旋空间曲线。 3、曲面的参数表示;等参数线; (1)P=P(u,v),u1≤u≤u2,v1≤v≤v2 (2)固定其中一个参数例如v=v0,则曲面变成单参数u的矢函数P=P(u,v0),表示曲面上的一条以u为参数的参数曲线,简称u线。类似地,P=P(u0,v)表示曲面上的一条v线。所以,参数曲面上存在两组等参数线,即一组u线和一组v线。 4、直纹面与可展曲面的概念。 (1)如果曲面的两族等参数线:u线与v线中,有一组是直线,则称该曲面为直纹面。它可以看成直线在空间连续运动扫出的轨迹。直纹面上的直线族称为母线。在直纹面上取一条曲线与所有母线相交,称之为准线。 (2)如果直纹面沿它的每一条母线只有唯一的切平面(或者说沿直母线, 法向量平行),则称该直纹面为可展曲面。可展曲面可以通过简单的弯曲来展平。圆柱面和圆锥面都是可展的,曲线的切线曲面(曲线上所有点的切线的集合)也是可展的,但机翼的直纹面就不一定。 5、曲面的曲率性质:法截线,法曲率、主曲率、高斯曲率、平均曲率 (1)法截线:通过曲面上一点法线的平面与曲面的交线称为法截线 (2)法曲率:法截线的曲率κn称为法曲率 (3)主曲率:围绕法线旋转的每一个平面会产生一个法截线,因此曲面上一点的法曲率有无穷多个,这些法曲率的最大值和最小值称为主曲率。 (4)高斯曲率:两个主曲率的乘积称为高斯曲率 (5)平均曲率:两个主曲率的均值称为平均曲率 6、插值、逼近和拟合的概念 (1)插值:给定一组有序的数据点Pi,i=0, 1, …, n,构造一条曲线顺序通过这些数据点,称为对这些数据点进行插值,所构造的曲线称为插值曲线。 (2)逼近:构造一条曲线使之在某种意义下最接近给定的数据点,称为对这些数据点进行逼近,所构造的曲线称为逼近曲线。 (3)拟合:插值与逼近统称为拟合。 7、什么是数值点的参数化。 为一组有序的数据点(P0,P1,…Pn) 赋予相应的一组参数值(t0 8、参数连续和几何连续的概念。如何实现2阶几何连续? (1)参数连续性:如果曲线函数对表达它的特定参数(并非所有参数)具有直达n阶的连续导矢,则称该曲线具有n阶参数连续性,简称Cn连续。 (2)几何连续性:如果曲线函数对弧长参数具有直达n阶的连续导矢,则称该曲线具有n阶几何连续性,简称Gn连续。 (3)对于一般参数表达的多项式曲线的拼接,要想达到G2连续,在连接点处必须满足: ① G0连续:即两段曲线首尾相接。 ② G1连续:要求两条曲线在首尾相接处的切矢方向相同。 ③ G2连续:要求曲率相同,并且副法矢方向相同。 9、三次参数样条曲线插值的唯一性(在补充两个边界条件的情况下) 对于n+1数据点Pi(i=0,1,···n),由二阶导数连续可列n-1个三切矢方程,其中包含n+1个未知切矢(P’i, i=0,1,···n ),再加两个边界条件(往往是关于导数的),就可以得到唯一解,从而得到唯一的参数三次样条曲线。 10、Bezier曲线曲面的定义及性质;de Casteljau(德卡斯特里奥)递推算法。 (1)Bezier曲线