计算机图形学复习 1.docx

上传人:b****5 文档编号:30730090 上传时间:2023-08-19 格式:DOCX 页数:22 大小:231.66KB
下载 相关 举报
计算机图形学复习 1.docx_第1页
第1页 / 共22页
计算机图形学复习 1.docx_第2页
第2页 / 共22页
计算机图形学复习 1.docx_第3页
第3页 / 共22页
计算机图形学复习 1.docx_第4页
第4页 / 共22页
计算机图形学复习 1.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

计算机图形学复习 1.docx

《计算机图形学复习 1.docx》由会员分享,可在线阅读,更多相关《计算机图形学复习 1.docx(22页珍藏版)》请在冰豆网上搜索。

计算机图形学复习 1.docx

计算机图形学复习1

第一章计算机图形学概述

计算机图形学研究的对象是图形。

IEEE给出的计算机图形学的定义是借助计算机产生图形、图像的技术或科学

*计算机图形学由数据结构、图形算法和语言构成。

图形常用以下两种方法:

1)点阵法最常用的2)参数法

点阵法是用具有灰度或色彩的点阵来表示图形的一种方法。

点阵法通过枚举出图形中所有的点来表示图形参数法用图形的形状参数和属性参数来表示图形。

计算机图形系统的工作方式有被动式和交互式两种。

计算机图形学与数字图像处理及计算机视觉的关系

•计算机图形学,侧重图形的生成。

•数字图像处理,对图像进行处理,分析的过程。

数字图像处理将客观世界中原来存在的物体映像处理成新的数字化图像。

•计算机视觉,研究能理解自然景物的系统,为机器人提供眼睛的功能。

图象处理——将客观世界中原来存在的物体映像处理成新的数字化图像。

模式识别——研究如何对所输入的图像进行分析和识别。

研究的是计算机图形学的逆过程

计算几何——研究几何模型和数据处理的学科,着重讨论几何形体的计算机表示、分析和综合,研究如何方便灵活、有效地建立几何形体的数学模型以及如何更好地存储和管理等。

第二章交互式图形系统自己复习

刷新(Refresh):

为了让荧光物质保持一个稳定的亮度值

像素(Pixel:

PictureCell):

构成屏幕(图像)的最小元素

分辨率(Resolution):

CRT在水平或竖直方向单位长度上能识别的最大像素个数,单位通常为dpi(dotsperinch)。

若每个单元有24位(每种基色占8位)即显示系统可同时产生224种颜色(24位真彩色)。

分辨率M*N、颜色个数K与显存大小V的关系

带宽T与分辨率、帧频F的关系

第三章基本图形元素生成算法

直线的扫描转换的两个概念

*理想直线:

没有宽度,由无数个点构成的集合.

*直线的扫描变换(用显示器绘制直线):

在显示器所给定的有限个象素集合组成的矩阵中,确定最佳逼近于该直线的一组象素.

数值微分法(DDA画线算法)DDA设(x0,y0)为直线段的始点,(x1,y1)为直线段的终点,

若Δx=1,则当x每递增1时,y递增k。

若Δy=1,则当y每递增1时,x递增1/k。

中点算法

d0=-2*dy+dx;

delta1=-2*dy;

delta2=-2*(dy-dx);

当d≥0时,取正右方像素P1(xP+1,yP)

d0=-2*dy+dxdy=y1-y0;

dx=x1-x0;

若d<0,则取右上方像素P2(xP+1,yP+1)

d<=0d=d+delta2;

d>0d=d+delta1;

中点画线法

例:

设p0(x0=1,y0=2),p1(x1=5,y1=4),试用中点画线算法由p0到p1画一直线。

(要求写出主要公式、步骤,画出结果图。

dy=y1-y0=4-2=2;dx=x1-x0=5-1=4;d0=-2*dy+dx=-2*2+4=0;

delta1=2*dy=2*2=4;delta2=2*(dy-dx)=2*(2-4)=-4;X

(1)=0;Y

(1)=0;

forx=1:

x1

ifd<=0

d=d-delta2;

X(x+1)=x;

Y(x+1)=Y(x)+1;

else

d=d-delta1;

X(x+1)=x;

Y(x+1)=Y(x);

Bresenham画线算法定义决策变量e=d-0.5(0

则下一点为:

(x+1,y)(e<0)或(x+1,y+1)(e>=0)

当e>0时,让e=e-1,(重新初始化误差项)

定义决策变量e=2*e*dx,e0=-dx;

e=e+2*dy

则下一点为:

(x+1,y)(e<0);或(x+1,y+1)(e>=0);

当e>0时,让e=e-2dx,(重新初始化误差项)

已知一直线段起点(0,0),终点(-8,-3),利用Bresenham算法生成此直线段,写出生成过程中坐标点及误差ε的变化情况。

并在下面的方格中,标出直线上各点

解:

以X方向计长

走步数C=8

∵是第三象限

C=8x0=0,y0=0,取点(0,0)

C=7ε(x1)=2△Y-△X=6-8=-2<0x1=x0-1=-1,y1=y0=0取点(-1,0)

C=6ε(x2)=ε(x1)+2△Y=-2+6=4x2=x1-1=-2,y2=y1-1=-1取点(-2,-1)

C=5ε(x3)=ε(x2)+2△Y-2△X=4+6-16=-6<0x3=x2-1=-3,y3=y2=-1取点(-3,-1)

C=4ε(x4)=ε(x3)+2△Y=-6+6=0x4=x3-1=-4,y4=y3-1=-2取点(-4,-2)

C=3ε(x5)=ε(x4)+2△Y-2△X=0+6-16=-10<0x5=x4-1=-5,y5=y4=-2取点(-5,-2)

C=2ε(x6)=ε(x5)+2△Y=-10+6=-4<0x6=x5-1=-6,y6=y5=-2取点(-6,-2)

C=1ε(x7)=ε(x6)+2△Y=-4+6=2x7=x6-1=-7,y7=y6-1=-3取点(-7,-3)

C=0ε(x8)=ε(x7)+2△Y+2△X=2+6-16=-8x8=x7-1=-8,y8=y7=-3取点(-8,-3)

三种画线算法的比较

DDA算法:

优点避免了y=kx+b方程中的浮点乘法,比直接用点斜式画线快

缺点需浮点数加法及取整运算,不利于硬件实现.

中点算法:

用整数加法及比较代替了DDA中的浮点数加法及取整运算,效率大大提高.

与DDA算法相似,Bresenham画线算法也要在每列象素中找到与理想直线最逼近的象素点。

算法的巧妙构思,使每次只需检查误差项(增量)的符号即可。

园的八对称性

若已知圆弧上一点,就可以得到其关于四条对称轴的七个对称点,这称为圆的八对称性

生成园弧的中点算法

若d<0,则应取P1(xP+1,yP)为下一个像素

d≥0,则应取P2(xP+1,yP-1)为下一个像素

e=d-0.25

e<0e+=2*x+3

e>=0e+=2*(x-y)+5

d<0,(中点在圆内)选正右方的E点,

d>=0,(中点在圆外)选右下方的SE点,

d0=1-Ry=R;x=0;

d<0d=d+2*x+3x=x+1y=y

d>0d=d+2*(x-y)+5x=x+1y=y-1

步骤:

画出第二个八分圆

利用八对称性画出其它八分圆

画园的二阶差分法及其与中点算法的比较

当前点是(xi,yi),构造判别式:

d

(1)d初始值为:

d=1-R

(2)d<0,(中点在圆内)选正右方的E点,再下一个象素的判别式为dnew=d+(2xi+3)

(3)d>=0,(中点在圆外)选右下方的SE点,再下一个象素的判别式为dnew=d+2(xi-yi)+5

二阶差分算法算法思想

判别式d的增量是x,y的线性函数,

选正右方的E点:

dnew=d+(2xi+3)

x递增1,d递增2;

选右下方的SE点:

dnew=d+(2xi+3)+(-2yi+2)

x递增1,d递增2;

y递减1,d递增2;

x

y

d

E

SE

x=x+1(d<0)

y

d+E

E+2

SE+2

x=x+1(d>=0)

y-1

d+SE

E+2

SE+4

算法步骤:

1,依据上一次迭代中的d的符号来选择现在点E或SE(d0=1-R)

2,用在上一次迭代计算的和来计算新的d

3,用移到新象素点的二次差分值,并用它来更新

4,移到下一点

 

 

x

y

d

E

SE

初始值

0

6

1-6=-5

3

5-2*6=-7

x

d<0

1

6

-5+3=-2

3+2=5

-7+2=-5

x

d<0

2

6

-2+5=3

5+2=7

-5+2=-3

x

d>0

3

5

3-3=0

7+2=9

-3+4=1

x

d=0

4

4

0+1=1

9+2=11

1+4=5

x>=y

结束

 

 

 

 

 

3)Bresenham算法思想:

 

当ΔD>0时,若ΔDV<=0,则取D,否则取V;

当ΔD<0时,若ΔHD<=0,则取H,否则去D;

当ΔD=0时,取D

1)中点画圆算法只用到整数的加法、减法和左移(乘2)运算,效率较高并且适合用硬件实现。

中点算法利用八对称性画圆,从当前已获得的象素递推出下一个象素。

2)二阶差分算法利用八对称性画圆,用差分法消除中点算法中的乘法运算,提高了中点算法的效率

3)Bresenham算法利用四分圆对称性画圆,

每次只需检查误差项(增量)的符号

椭圆的中点算法区域填充的步骤

区域填充的步骤及算法:

1、确定填表充区域,即确定被填充的象素2、确定填充的颜色

主要方法:

扫描线法、边缘填充法、种子填充法。

矩形区域的填充算法:

扫描线法的步骤、扫描线相交时交点的选取原则、边界上交点的选取原则原则:

左闭右开,下闭上开

多边形的边的分类表(ET)、活性边表(AET)

例:

画出如图所示的多边形的边的分类表(ET)及对应的活性边表(AET)

 

 

2

0

7

 

 

3.5

-1.5

7

 

 

7

2

8

 

 

11

0

8

 

 

9

2

8

 

 

11

0

8

 

 

 

 

 

 

 

 

 

 

 

 

x

x

y

 

 

x

x

y

 

 

x

x

y

 

 

x

x

y

 

6

 

p4

p5

 

 

 

p5

p6

 

 

5

 

 

5

2

8

 

 

5

-1.5

7

4

 

p3

p4

 

 

 

 

 

 

 

3

 

 

11

0

8

 

 

 

 

 

2

 

 

2

0

7

 

 

 

 

 

 

1

 

 

5

-3

2

 

 

5

3

3

0

 

p1

p2

 

 

 

p2

p3

 

 

种子填充算法的思想及其适用的设备只适用于光栅扫描设备

1、种子象素压入堆栈

2、若堆栈非空,即有区域中象素在堆栈中,做如下循环:

A.栈顶象素出栈;

B.将出栈象素置为多边形颜色。

C.按左、上、右、下四个方向左右顺序检查与出栈象素相邻的四个象素,若其中某象素不在边界置为多边形颜色,则将该象素推入堆栈。

ASCII的编码

GB2312-80的编码,可表示的汉字个数和图形符号个数6763个基本汉字

7445个图形字符202个一般符号

字符库:

存储字符的形状的数据库

点阵字符(存储及显示)

点阵字符的存储(点阵字符是由位图表示的,保存字符就是保存它的位图)

例:

16*16点阵汉字:

16*16=256位(32个字节)

常用汉字6763个:

6763*32=216416字节16*24=384位(48字节)6763*48=324K字节

需要压缩技术

点阵字符的显示:

·从字库中将字的位图检索出来。

·将检索到的位图写出到帧缓存中。

矢量字符(存储及显示)显示:

首先从字库中将它的字符信息。

然后取出端点坐标,对其进行适当的几何变换,再根据各端点的标志显示出字符。

点阵字符:

存储量大,易于显示

矢量字符:

存储量小,美观,变换方便;但需要光栅化后才能显示。

线宽的处理是指绘制多个像素宽的图形。

通常有线刷子、方形刷子和区域填充的三种方法。

采用扫描线算法对多边形进行填充,请写出EL、AEL的结构,并分析扫描线算法的步骤和处理扫描线的步骤。

答:

活化边AET:

指与当前扫描线相交的多边形的边,也称为活性边。

YmaxX△X(即1/k)

边的分类表ET:

把有效边按与扫描线交点x坐标递增的顺序存放在一个链表中,此链表称为有效边表。

有效边表的每个结点:

YmaxX1/knext

算法步骤:

(1)确定多边形所占有的最大扫描线数,得到多边形顶点的最小和最大y值(ymin和ymax)。

(2)从y=ymin到y=ymax,每次用一条扫描线进行填充。

(3)对一条扫描线填充的过程可分为四个步骤:

a.求交

b.排序

c.交点配对

d.区间填色

4、若用扫描线填充法将顶点为P0,P1,P2,P3,P4,P5,P6的多边形填充。

请写出其边分类表EL及y=8时的活化链表。

答:

边分类表EL如下:

 

y=8时,活化链表为:

用扫描线填充法将顶点为P0(2,5),P1(2,10),P2(9,6),P3(16,11),P4(18,4),P5(12,2),P6(7,2)的多边形填充。

写出填充步骤。

 

 

答:

(1)建立边分类表EL:

 

(2)写出每一条扫描线的活化链表以及交点进行配对和着色:

y=2,AEL

交点:

(7,2)(12,2),着色两点间所有点

y=3,AEL

交点:

(5.3,3)(15,3),根据左闭右开原则,着色(5,3)(15,3)之间所有点

y=4,AEL

交点:

(3.6,4)(18,4),根据左闭右开原则,着色(3,4)(18,4)之间所有点

y=5,AEL

交点:

(2,5)(17.7,5),根据左闭右开原则,着色(2,5)(17,5)之间所有点

y=6,AEL

交点:

(2,6)(9,6)(9,6)(17.4,6),按X大小配对,并根据左闭右开原则,着色

(2,6)与(9,6),(9,6)与(17,6)之间的所有点

y=7,AEL

交点:

(2,7)(7.3,7)(10.4,7)(17.1,7),按X大小配对,并根据左闭右开原则,着色(2,7)与(7,7),(10,6)与(17,6)之间的所有点

y=8,AEL

交点:

(2,8)(5.6,8)(11.8,8)(16.8,8),按X大小配对,并根据左闭右开原则,着色(2,8)与(5,8),(11,8)与(16,8)之间的所有点

y=9,AEL

交点:

(2,9)(3.9,9)(13.2,9)(16.5,9),按X大小配对,并根据左闭右开原则,着色(2,9)与(3,9),(13,9)与(16,9)之间的所有点

y=10,AEL

交点:

(2,10)(2.2,10)(14.6,10)(16.2,10),按X大小配对,根据左闭右开原则,着色(2,10)与(2,10),(14,10)与(16,10)之间的所有点

y=11,AEL交点(16,11)(16,11),着色点(16,11)。

种子填充算法的思想及其适用的设备

种子填充算法——根据已知多边形区域内部的一个象素点来找到区域内其它象素点,从而对多边形区域内部进行填充。

四向连通区域及八向连通区域的定义和区别

八向连通区域:

各象素在水平、垂直、及四个对角线方向都是是边通的。

即从区域内任一点出发,可水平、垂直、及四个对角线方向移动到达区域内任一点。

四向连通区域:

各象素在水平垂直四个方向是边通的。

即从区域内任一点出发,可水平/垂直移动到达区域内任一点。

4连通与8连通区域的区别连通性:

4连通可看作8连通区域,但对边界有要求

–对边界的要求

第四章曲线和曲面表示

曲线的三种表示方法曲线的表示形式

显示表示y=kx+b

隐式表示f(x,y)=0

参数表示

平面直线及园的参数表示

●直线参数方程

园参数方程

切矢量、法矢量、曲率和挠率的概念及定义

对于三维参数曲线,曲线上任一点的切矢量可用矢量P′(t)表示,P′(t)=[x′(t)y′(t)z′(t)]。

其大小反映了曲线关于参数t在该点处的变化速度,其方向趋于该点的切线方向。

对于一般参数t,若|dP/dt|≠0,则有

 

对于弧长参数s,

对于空间的参数曲线,所有垂直于切矢量T的矢量都是法矢量

设以弧长s为参数,则参数曲线上任一点的曲率定义为k=|dT/ds|。

 

称ρ=1/k为曲率半径。

仍设以弧长s为参数,则参数曲线上任一点的挠率定义为τ=|dB/ds|,它反映了曲线在该点处扭出其密切平面的速率。

确定曲线为平面曲线的充要条件是,曲线上任意点处的挠率等于零

密切平面、法平面及副法平面的定义。

曲线上某一点处就有一束法线,它们在一个平面上,我们称此平面为曲线在该点处的法平面

在曲线算法中,线性插值和二次插值的基本思想和实现步骤。

线性插值就是给定函数f(x)的两个不同的点(x1,y1)和(x2,y2),构造一个线性插值函数φ(x)=ax+b近似代替函数f(x)。

根据插值的定义可以确定系数a和b,因而可得线性插值函数为

多项式插值——采用多项式函数去插值给定的数据点,即对于给定的点Pi(i=0,1,…,n),要构造多项式函数y=P(x),使得yi=P(xi)。

几何约束矩阵和基矩阵的概念。

参数曲线的归一化表示(几何约束矩阵和基矩阵)。

三次Hermite曲线几何约束矩阵

三次Hermite曲线的基矩阵MH

三次Hermite曲线的基函数(调合函数)MH.T

三次Bezier曲线的几何约束矩阵

基矩阵

第五章图形变换

图形变换——指对图形的几何信息经过几何变换后产生新的图形。

齐次坐标系——就是N维向量由N+1维向量来表示。

一个N维向量的齐次坐标表示不惟一。

用户坐标系——用户为处理自已的图形时所采用的坐标系,单位由用户自己决定。

规范化设备坐标系——将各个设备坐标系中的数据化为统一的数据范围从而得到的设备坐标系。

二维图形的几何变换(平移、旋转、放缩、对称)

1.平移变换:

其中,

是物体在三个坐标方向上的位移量。

2.旋转变换:

绕Z轴旋转的公式为:

绕X轴旋转的公式为:

绕Y轴旋转的公式为:

2.缩放变换:

写出透视变换矩阵和各种投影(三视图、正轴测和斜投影)变换矩阵。

答:

透视变换矩阵形式为:

主视图:

俯视图:

侧视图:

正轴测:

斜投影:

二维图形的复合变换例:

求一二维复合变换矩阵T,其功能为先将图形在X方向向右平移6,在Y方向向上平移8,再将图形逆向旋转45度。

已知三角形ABC各顶点的坐标A(1,2)、B(5,2)、C(3,5),相对直线Y=4做对称变换后到达A’、B’、C’。

试计算A’、B’、C’的坐标值。

(要求用齐次坐标进行变换,列出变换矩阵)

解:

(1)将坐标系平移至P1(0,4)点

(2)以X轴对称

(3)将坐标系平移回原处

(4)变换矩阵:

T=TA*TB*TC=

(5)求变换后的三角形ABC各顶点的坐标A’、B’、C’

A’:

XA'=1,YA'=6

B’:

XB'=5,YB'=6

C’:

XA'=3,YA'=3

窗口——在用户坐标系中的图形根据需要常用一个矩形区域确定一个矩形部分,然后将这个区域内的图形输出到屏幕上去,这个矩形称这窗口。

视区——在图形设备的显示范围内,由设备坐标系定义的一个矩形区域。

第六章几何造型

表示形体的三种模型:

(线框模型、表面模型、实体模型)

凸多边形——是指这样一类多边形:

在多边形内任选两个点,将这两个点用线段连接后,此线段上所有的点都在多边形内。

第七章立体真实感图形

图形消隐——计算机为了反映真实的图形,把隐藏的部分从图中消除。

简述消隐算法的分类。

1.物体空间的消隐算法:

物体空间是物体所在的空间,即规范化投影空间。

这类算法是将物体表面上的

个多边形中的每一个面与其余的

个面进行比较,精确求出物体上每条边或每个面的遮挡关系。

计算量正比于

2.图象空间的消隐算法:

图象空间就是屏幕坐标空间,这类算法对屏幕的每一象素进行判断,以决定物体上哪个多边形在该象素点上是可见的。

若屏幕上有

个象素点,物体表面上有

个多边形,在该类消隐算法计算量正比于

3.物体空间和图象空间的消隐算法P192

简述深度缓存算法及其特点。

答:

深度缓存算法是一种典型的、也是最简单的图象空间的消隐算法。

在屏幕空间坐标系中,

轴为观察方向,通过比较平行于

轴的射线与物体表面交点的

值(又称为深度值),用深度缓存数组记录下最小的

值,并将对应点的颜色存入显示器的帧缓存。

深度缓存算法最大的优点是简单。

它在

方向上都没有进行任何排序,也没有利用任何相关性。

算法复杂性正比于

在屏幕大小,即

一定的情况下,算法的计算量只与多边形个数

成正比。

另一个优点是算法便于硬件实现,并可以并行化。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1