当前位置:文档之家› 计算机图形学课件--地质大学 第二章 二维基本图形的生成

计算机图形学课件--地质大学 第二章 二维基本图形的生成

计算机图形学课件--地质大学 第二章 二维基本图形的生成
计算机图形学课件--地质大学 第二章 二维基本图形的生成

第二章二维基本图形的生成

重 点:掌握二维图元直线、圆、区域填充、字符的生成算法。

难 点:理解二维图元生成的算法思想并且用C语言进行算法的实现。

课时安排:授课8学时(直线、圆:3学时;区域填充:4学时;字符:1学时);

上机8学时(直线、圆:4学时;区域填充:4学时)。

图元生成算法的要求:准确、亮度均匀、速度快。

前面已经知道,矢量显示(随机扫描显示器)和光栅显示是两种完全不同的图形显示技术。

目前,光栅显示技术占主要地位。

在这一章里,主要介绍在光栅输出设备上,根据物体的坐标描述构造二维几何图形的方法。

我们知道,一幅图是由点、直线、曲线、多边形填充区域以及字符串等组成。下面将讨论这些基本图元的生成技术和算法。

2.1 直线的扫描转换

一、数学直线

在数学上,理想的直线是一条由无穷多个无限小的连续的点组成。

二、光栅平面显示的直线

但在光栅显示平面上,我们只能用二维光栅格网上尽可能靠近这条直线的象素点的集合来表示它。每个象素具有一定的尺寸,是显示平面上可被访问的最小单位,它的坐标x和y只能是整数,也就是说相邻象素的坐标值是阶跃的而不是连续的。

三、直线的扫描转换

直线的扫描转换,就是要找出显示平面上最佳逼近理想直线的那些象素的坐标值,并将这些象素置成所要求的颜色。

由于一幅图中可能包含成千上万条直线,所以要求绘制算法应该:

1、最接近数学上的直线;

2、沿着线段分布的象素应均匀;

不均匀的例子如下图所示,对同样长的线段,如果进行图中的扫描转换,就会因为斜率的不同,产生的象素个数不相等,这样将导致象素亮度分布不均匀。

3、画线速度尽可能的快。

本节我们介绍两个常用的直线生成算法:数值微分法(DDA)和Bresenham算法。

2.1.1 生成直线的DDA算法

数值微分法即DDA法(Digital Differential Analyzer),是一种基于直线的微分方程来生成直线的方法。

一、直线DDA算法描述:

设(x1,y1)和(x2,y2)分别为所求直线的起点和终点坐标,由直线的微分方程得

可通过计算由x方向的增量△x引起y的改变来生成直线:

x i+1=x i+△x (2-2)

y i+1=y i+△y=y i+△x·m (2-3) 也可通过计算由y方向的增量△y引起x的改变来生成直线:

y i+1=y i+△y (2-4)

x i+1=x i+△x=x i+△y/m (2-5) 式(2-2)至(2-5)是递推的。

二、直线DDA算法思想:

选定x2-x1和y2-y1中较大者作为步进方向(假设x2-x1较大),取该方向上的增量为一个象素单位(△x=1),然后利用式(2-1)计算另一个方向的增量(△y=△x·m=m)。通过递推公式(2-2)至(2-5),把每次计算出的(x i+1,y i+1)经取整后送到显示器输出,则得到扫描转换后的直线。

之所以取x2-x1和y2-y1中较大者作为步进方向,是考虑沿着线段分布的象素应均匀,这在下图中可看出。

另外,算法实现中还应注意直线的生成方向,以决定Δx及Δy是取正值还是负值。

三、直线DDA算法实现:

1、已知直线的两端点坐标:(x1,y1),(x2,y2)

2、已知画线的颜色:color

3、计算两个方向的变化量:dx=x2-x1

dy=y2-y1

4、求出两个方向最大变化量的绝对值:

steps=max(|dx|,|dy|)

5、计算两个方向的增量(考虑了生成方向):

xin=dx/steps

yin=dy/steps

6、设置初始象素坐标:x=x1,y=y1

7、用循环实现直线的绘制:

for(i=1;i<=steps;i++)

{ putpixel(x,y,color);/*在(x,y)处,以color色画点*/

x=x+xin;

y=y+yin;

}

四、直线DDA算法演示:

五、直线DDA算法特点:

该算法简单,实现容易,但由于在循环中涉及实型数的运算,因此生成直线的速度较慢。

六、直线DDA算法程序:

下面给出考虑不同斜率、不同方向直线的DDA画线算法程序:

2.1.2 生成直线的B resenham算法

从上面介绍的DDA算法可以看到,由于在循环中涉及实型数据的加减运算,因此直线的生成速度较慢。

在生成直线的算法中,B resenham算法是最有效的算法之一。B resenham算法是一种基于误差判别式来生成直线的方法。

一、直线Bresenham算法描述:

它也是采用递推步进的办法,令每次最大变化方向的坐标步进一个象素,同时另一个方向的坐标依据误差判别式的符号来决定是否也要步进一个象素。

我们首先讨论m=△y/△x,当0≤m≤1且x1

x i+1=x i+1 (2-6)

y i+1=y i+m(2-7)

有两种B resenham算法思想,它们各自从不同角度介绍了B resenham算法思想,得出的误差判别式都是一样的。

二、直线B resenham算法思想之一:

由于显示直线的象素点只能取整数值坐标,可以假设直线上第i个象素点坐标为(x i,y i),它是直线上点(x i,y i)的最佳近似,并且x i=x i(假设m<1),如下图所示。那么,直线上下一个象素点的可能位置是(x i+1,y i)或(x i+1,y i+1)。

由图中可以知道,在x=x i+1处,直线上点的y值是y=m(x i+1)+b,该点离象素点(x i+1,y i)和象素点(x i+1,y i+1)的距离分别是d1和d2:

d1=y-y i=m(x i+1)+b-y i(2-8)

d2=(y i+1)-y=(y i+1)-m(x i+1)-b (2-9) 这两个距离差是

d1-d2=2 y -2y i -1=2m(x i+1)-2y i+2b-1 (2-10)

我们来分析公式(2-10):

(1)当此值为正时,d1>d2,说明直线上理论点离(x i+1,y i+1)象素较近,下一个象素点应取(x i+1,y i+1)。

(2)当此值为负时,d1

(3)当此值为零时,说明直线上理论点离上、下两个象素点的距离相等,取哪个点都行,假设算法规定这种情况下取(x i+1,y i+1)作为下一个象素点。

因此只要利用(d1-d2)的符号就可以决定下一个象素点的选择。为此,我们进一步定义一个新的判别式:

p i=△x×(d1-d2)=2△y·x i-2△x·y i+c (2-11)

式(2-11)中的△x=(x2-x1)>0,因此p i与(d1-d2)有相同的符号;

这里△y=y2-y1,m=△y/△x;c=2△y+△x(2b-1)。

下面对式(2-11)作进一步处理,以便得出误差判别递推公式并消除常数c。

将式(2-11)中的下标i改写成i+1,得到:

p i+1=2△y·x i+1-2△x·y i+1+c (2-12)

将式(2-12)减去(2-11),并利用x i+1=x i+1,可得:

p i+1= p i+2△y-2△x·(y i+1-y i) (2-13) 再假设直线的初始端点恰好是其象素点的坐标,即满足:

y1=m x1+b (2-14) 由式(2-11)和式(2-14)得到p1的初始值:

p1=2△y-△x (2-15) 这样,我们可利用误差判别变量,得到如下算法表示:

初始p1=2△y-△x (2-16)

当p i≥0时:y i+1=y i+1,

x i+1=x i+1,

p i+1=p i+2(△y-△x)

否则:y i+1=y i,

x i+1=x i+1,

p i+1=p i+2△y

从式(2-16)可以看出,第i+1步的判别变量p i+1仅与第i步的判别变量p i、直线的两个端点坐标分量差△x和△y有关,运算中只含有整数相加和乘2运算,而乘2可利用算术左移一位来完成,因此这个算法速度快并易于硬件实现。

三、直线B resenham算法思想之二:

由于象素坐标的整数性,数学点(x i,y i)与所取象素点(x i,y ir)间会引起误差(εi),当x i列上已用象素坐标(x i,y ir)表示直线上的点(x i,y i),下一直线点B(x i+1,y i+1),是取象素点C(x i+1,y ir ),还是D(x i+1,y(i+1)r)呢?

设A为CD边的中点,正确的选择:

若B点在A点上方,选择D点;否则,选C点。

用误差式描述为:

ε(x i+1)=BC-AC=(y i+1-y ir)-0.5 (2-8') 求递推公式:

ε(x i+2)=(y i+2-y(i+1)r)-0.5 = y i+1+m-y(i+1)r-0.5 (2-9') 当ε(x i+1)≥0时,选D点,y(i+1)r = y ir+1

ε(x i+2)= y i+1+m-y ir-1-0.5=ε(x i+1)+m-1 (2-10') 当ε(x i+1)﹤0时,选C点,y(i+1)r = y ir

ε(x i+2)= y i+1+m-y ir-0.5=ε(x i+1)+m(2-11')

初始时:

)

ε(x s+1)=BC-AC=m-0.5 (2-12'

为了运算中不含实型数,同时不影响不等式的判断,将方程两边同乘一正整数。令方程两边同乘2·Δx,即d=2·Δx·ε,则:

初始时:

d = 2·Δy-Δx (2-13')

递推式:

当d≥0时:{ d=d+2·(Δy-Δx);

y++;

x++;

(2-14')

}

否则:{ d=d+2·Δy;

x++;

}

四、直线B resenham算法实现:

条件:0≤m≤1且x1

1、输入线段的两个端点坐标和画线颜色:x1,y1,x2,y2,color;

2、设置象素坐标初值:x=x1,y=y1;

3、设置初始误差判别值:p=2·Δy-Δx;

4、分别计算:Δx=x2-x1、Δy=y2-y1;

5、循环实现直线的生成:

for(x=x1;x<=x2;x++)

{ putpixel(x,y,color) ;

if(p>=0)

{ y=y+1;

p=p+2·(Δy-Δx);

}

else

{ p=p+2·Δy;

}

}

五、直线B resenham算法完善:

现在我们修正(2-16)公式,以适应对任何方向及任何斜率线段的绘制。如下图所示,线段的方向可分为八种,从原点出发射向八个区。由线段按图中所示的区域位置可决定x i+1和y i+1的变换规律。

容易证明:当线段处于①、④、⑧、⑤区时,以|△x|和|△y|代替前面公式中的△x和△y,当线段处于②、③、⑥、⑦区时,将公式中的|△x|和|△y|对换,则上述两公式仍有效。

在线段起点区分线段方向

六、直线B resenham算法演示:

七、直线B resenham算法特点:

由于程序中不含实型数运算,因此速度快、效率高,是一种有效的画线算法。

八、直线B resenham算法程序:

2.2 圆的生成

这里仅讨论圆心位于坐标原点的圆的扫描转换算法,对于圆心不在原点的圆,可先用平移变换,将它的圆心平移到原点,然后进行扫描转换,最后再平移到原来的位置。

有几种较容易的方法可以得到圆的扫描转换,但是效率都不高。例如:直角坐标法和极坐标法:

1、直角坐标法

圆的直角坐标方程为x2+y2=R2

若取x作为自变量,解出y,得到

(2-17)

我们可以先扫描转换四分之一的圆周。让自变量x从0到R以单位步长增加,在每一步时可解出y,然后调用画点函数即可逐点画出圆。但这样做,由于有乘方和平方根运算,并且都是浮点运算,算法效率不高。而且当x接近R值时(圆心在原点),在圆周上的点(R,0)附近,由于圆的斜率趋于无穷大,使得圆周上有较大的间隙。

2、极坐标法

假设圆周上一点P(x,y)处的半径与x轴的夹角为θ,则圆的极坐标方程为

x=R cosθ

(2-18)

y=R sinθ

利用下面将要介绍的圆周上点的对称性,那么自变量θ的取值范围就是(0,45°)。这个方法涉及三角函数计算和乘法运算,计算量较大。因此,也不是一种有效的方法。

2.2.1 圆的八分对称性

2.2.2 中点算法生成圆

2.2.3 正负算法生成圆

2.2.1 圆的八分对称性

圆心位于原点的圆有四条对称轴x=0、y=0、x=y和x=-y,见下图。从而若已知圆弧上一点P(x,y),就可以得到其关于四条对称轴的七个对称点,这种性质称为八分对称性。因此只要能画出八分之一的圆弧,就可以利用对称性的原理得到整个圆弧。下面的函数CirclePoints()用来显示P(x,y)及其七个对称点。

void CirclePoints(x,y,color)

int x,y,color;

{

putpixel(x,y,color);

putpixel(x,-y,color);

putpixel(-x,y,color);

putpixel(-x,-y,color);

putpixel(y,x,color);

putpixel(y,-x,color);

putpixel(-y,x,color);

putpixel(-y,-x,color);

}

圆的八分对称性

注意:

当圆心不在原点时,只须在putpixel()函数中加上平移量x

0、y

(圆心坐标)

即可。

例如

当 x

0=300,y

=200时,则:

putpixel(x

0+x,y

+y,color);

putpixel(x

0+x,y

-y,color);

putpixel(x

0-x,y

+y,color);

putpixel(x

0-x,y

-y,color);

putpixel(x

0+y,y

+x,color);

putpixel(x

0+y,y

-x,color);

putpixel(x

0-y,y

+x,color);

putpixel(x

0-y,y

-x,color);

2.2.2 中点算法生成圆

中点画圆算法在一个方向上取单位间隔,在另一个方向的取值由两种可能取值的中点离圆的远近而定。实际处理中,用决策变量的符号来确定象素点的选择,因此算法效率较高。

一、中点画圆算法描述

设要显示圆的圆心在原点(0,0),半径为R ,起点在(0,R )处,终点在(,)

处,顺时针生成八分之一圆,利用对称性扫描转换全部圆。 为了应用中点画圆法,我们定义一个圆函数

F (x ,y)=x 2+y 2-R 2

(2-19)

任何点(x ,y)的相对位置可由圆函数的符号来检测:

如下图所示,图中有两条圆弧A 和B ,假定当前取点为P i (x i ,y i ),如果顺时针生成圆,那么下一点只能取正右方的点E (x i +1,y i )或右下方的点SE (x i +1,y i -1)两者之一。

假设M 是E 和SE 的中点,即

,则:

1、当F(M)<0时,M 在圆内(圆弧A ),这说明点E 距离圆更近,应取点E 作为下一象素点;

2、当F(M)>0时,M 在圆外(圆弧B ),表明SE 点离圆更近,应取SE 点;

3、当F(M)=0时,在E 点与SE 点之中随便取一个即可,我们约定取SE 点。 二、中点画圆算法思想

因此,我们用中点M 的圆函数作为决策变量d i ,同时用增量法来迭代计算下一个中点M 的决策变量d i+1。

下面分两种情况来讨论在迭代计算中决策变量d i+1的推导。

1、见图(a ),若d i <0,则选择E 点,接着下一个中点就是,这时新的决策变量为:

式(2-22)减去(2-21)得:

d i+1=d i+2x i+3 (2-23)

2、见图(b),若d i≥0,则选择SE点,接着下一个中点就是,这时新的决策变量为:

式(2-24)减去(2-21)得:

d i+1=d i+2(x i-y i)+5 (2-25)

我们利用递推迭代计算这八分之一圆弧上的每个点,每次迭代需要两步处理:

(1)用前一次迭代算出的决策变量的符号来决定本次选择的点。

(2)对本次选择的点,重新递推计算得出新的决策变量的值。

剩下的问题是计算初始决策变量d0,如下图所示。对于初始点(0,R),顺时针生成八分之

一圆,下一个中点M的坐标是,所以:

三、中点画圆算法实现

1、输入:圆半径r、圆心(x0,y0);

2、确定初值:x=0,y=r、d=5/4-r;

3、While(x<=y)

{

·利用八分对称性,用规定的颜色color画八个象素点(x,y);

·若d≥0

{

y=y-1;

d=d+2(x-y)+5);

}

否则

d=d+2x+3;

·x=x+1;

}

四、中点画圆算法演示

五、中点画圆算法完善

在上述算法中,使用了浮点数来表示决策变量d。为了简化算法,摆脱浮点数,在算法中全部使用整数,我们使用e=d-1/4代替d。显然,初值d=5/4-r对应于e=1-r。决策变量d<0对应于e<-1/4。算法中其它与d有关的式子可把d直接换成e。又由于e的初值为整数,且在运算过程中的迭代值也是整数,故e始终是整数,所以e<-1/4等价于e<0。因此,可以写出完全用整数实现的中点画圆算法。

要求:写出用整数实现的中点画圆算法程序,并上机调试,观看运行结果。

六、中点画圆算法程序

2.2.3 正负算法生成圆

正负法是利用平面曲线将平面划分成正负区域,对当前点产生的圆函数进行符号判别,利用负反馈调整以决定下一个点的产生来直接生成圆弧。

一、正负画圆算法描述

设要显示圆的圆心在原点(0,0),半径为R,初始点的坐标为(0,R),顺时针生成八分之一圆,令:F(x,y)=x2+y2-R2

则圆的方程为:

F(x,y)=0 (2-27)

当点(x,y)在圆内时,则F(x,y)<0;

当点(x,y)在圆外时,则F(x,y)>0;

当点(x,y)在圆上时,则F(x,y)=0;

二、正负画圆算法思想

现以下图的AB弧为例,来说明正负画圆法(顺时针生成圆)。

假设当前点为P i(x i,y i),取下一个点P i+1(x i+1,y i+1)的原则是:

1、当F(x i,y i)≤0时:取x i+1= x i+1,y i+1= y i。即向右走一步,从圆内走向圆外。对应图(a)中的从P i到P i+1。

2、当F(x i,y i)>0时:取x i+1= x i,y i+1= y i-1。即向下走一步,从圆外走向圆内。对应图(b)中的从P i到P i+1。

由于向圆内或向圆外走取决于F(x i,y i)的正负,因此称为正负法。

下面分两种情况求出F(x i,y i)的递推公式:

(1) 当F(x i,y i)≤0时,向右走,取x i+1=x i+1,y i+1=y i,则

F(x i+1,y i+1) =F(x i+1,y i)

=(x i+1)2+y i2-R2

(2-28)

=(x i2+y i2-R2)+2x i+1

= F(x i,y i)+2x i+1

(2) 当F(x i,y i)>0时,向下走,取x i+1=x i,y i+1=y i-1,则

F(x i+1,y i+1) =F(x i,y i-1)

=x i2+(y i-1)2-R2

(2-29)

=(x i2+y i2-R2)-2y i+1

= F(x i,y i)-2y i+1

初始时,x=0,y=R,故

F(0,R)=(02+R2)-R2=0 (2-30)

公式(2-28)、(2-29)和(2-30)就构成正负画圆算法的核心。

给象素坐标(x,y)及F赋初始值后,进入循环画点;

画点后,根据F的符号进行F值的递推和下一个点的获取,直到x>y为止。

同前面介绍的一样,利用圆的八分对称性,循环一次,画八个点。

三、正负画圆算法实现

注意:初值不同、圆的生成方向不同时,当前点和下一个点的获取原则是不同的,见下图。

例如,初始点(R,0),逆时针生成圆,从图(b)可知:

若当前点P i在圆内,则下一点P i+1(x i,y i+1),即向上走一步;

若当前点P i在圆外,则下一点P i+1(x i-1,y i),即向左走一步;

四、正负画圆算法演示

五、正负画圆算法特点

物理意义清楚,程序中只含整数运算,因此算法速度快。

六、正负画圆算法程序

计算机图形学第三章答案

1. voidLine_Midpoint(int x1, int y1, int x2, int y2, int color) { int x = x1, y = y1; int a = y1 - y2, b = x2 - x1; int cx = (b >= 0 ? 1 : (b = -b, -1)); int cy = (a <= 0 ? 1 : (a = -a, -1)); putpixel(x, y, color); int d, d1, d2; if (-a <= b) // 斜率绝对值 <= 1 { d = 2 * a + b; d1 = 2 * a; d2 = 2 * (a + b); while(x != x2) { if (d < 0) y += cy, d += d2; else d += d1; x += cx; putpixel(x, y, color); } } else // 斜率绝对值 > 1 { d = 2 * b + a; d1 = 2 * b; d2 = 2 * (a + b); while(y != y2) { if(d < 0) d += d1; else x += cx, d += d2; y += cy; putpixel(x, y, color); } } } 7 void Line_Midpoint(int x1, int y1, int x2, int y2, int color, int flag) { intx,y; if(flag==0) { x0=point.x; y0=point.y; flag=1; } else { flag=0; x1=point.x; y1=point.y; a=y0-y1;

计算机图形学第二版课后习题答案

第一章绪论 概念:计算机图形学、图形、图像、点阵法、参数法、 图形的几何要素、非几何要素、数字图像处理; 计算机图形学和计算机视觉的概念及三者之间的关系; 计算机图形系统的功能、计算机图形系统的总体结构。 第二章图形设备 图形输入设备:有哪些。 图形显示设备:CRT的结构、原理和工作方式。 彩色CRT:结构、原理。 随机扫描和光栅扫描的图形显示器的结构和工作原理。 图形显示子系统:分辨率、像素与帧缓存、颜色查找表等基本概念,分辨率的计算 第三章交互式技术 什么是输入模式的问题,有哪几种输入模式。 第四章图形的表示与数据结构 自学,建议至少阅读一遍 第五章基本图形生成算法 概念:点阵字符和矢量字符; 直线和圆的扫描转换算法; 多边形的扫描转换:有效边表算法; 区域填充:4/8连通的边界/泛填充算法;

内外测试:奇偶规则,非零环绕数规则; 反走样:反走样和走样的概念,过取样和区域取样。 5.1.2 中点 Bresenham 算法(P109) 5.1.2 改进 Bresenham 算法(P112) 习题答案

习题5(P144) 5.3 试用中点Bresenham算法画直线段的原理推导斜率为负且大于1的直线段绘制过程(要求写清原理、误差函数、递推公式及最终画图过程)。(P111) 解: k<=-1 |△y|/|△x|>=1 y为最大位移方向 故有 构造判别式: 推导d各种情况的方法(设理想直线与y=yi+1的交点为Q): 所以有: y Q-kx Q-b=0 且y M=y Q d=f(x M-kx M-b-(y Q-kx Q-b)=k(x Q-x M) 所以,当k<0, d>0时,M点在Q点右侧(Q在M左),取左点 P l(x i-1,y i+1)。 d<0时,M点在Q点左侧(Q在M右),取右点 Pr(x i,y i+1)。 d=0时,M点与Q点重合(Q在M点),约定取右点 Pr(x i,y i+1) 。 所以有 递推公式的推导: d2=f(x i-1.5,y i+2) 当d>0时, d2=y i+2-k(x i-1.5)-b 增量为1+k =d1+1+k

计算机图形学第1_5章课后习题参考答案

第一章 1、试述计算机图形学研究的基本内容? 答:见课本P5-6页的1.1.4节。 2、计算机图形学、图形处理与模式识别本质区别是什么?请各举一例说明。 答:计算机图形学是研究根据给定的描述,用计算机生成相应的图形、图像,且所生成的图形、图像可以显示屏幕上、硬拷贝输出或作为数据集存在计算机中的学科。计算机图形学研究的是从数据描述到图形生成的过程。例如计算机动画制作。 图形处理是利用计算机对原来存在物体的映像进行分析处理,然后再现图像。例如工业中的射线探伤。 模式识别是指计算机对图形信息进行识别和分析描述,是从图形(图像)到描述的表达过程。例如邮件分捡设备扫描信件上手写的邮政编码,并将编码用图像复原成数字。 3、计算机图形学与CAD、CAM技术关系如何? 答:见课本P4-5页的1.1.3节。 4、举3个例子说明计算机图形学的应用。 答:①事务管理中的交互绘图 应用图形学最多的领域之一是绘制事务管理中的各种图形。通过从简明的形式呈现出数据的模型和趋势以增加对复杂现象的理解,并促使决策的制定。 ②地理信息系统 地理信息系统是建立在地理图形基础上的信息管理系统。利用计算机图形生成技术可以绘制地理的、地质的以及其它自然现象的高精度勘探、测量图形。 ③计算机动画 用图形学的方法产生动画片,其形象逼真、生动,轻而易举地解决了人工绘图时难以解决的问题,大大提高了工作效率。 5、计算机绘图有哪些特点? 答:见课本P8页的1.3.1节。 6、计算机生成图形的方法有哪些? 答:计算机生成图形的方法有两种:矢量法和描点法。 ①矢量法:在显示屏上先给定一系列坐标点,然后控制电子束在屏幕上按一定的顺序扫描,逐个“点亮”临近两点间的短矢量,从而得到一条近似的曲线。尽管显示器产生的只是一些短直线的线段,但当直线段很短时,连成的曲线看起来还是光滑的。 ②描点法:把显示屏幕分成有限个可发亮的离散点,每个离散点叫做一个像素,屏幕上由像素点组成的阵列称为光栅,曲线的绘制过程就是将该曲线在光栅上经过的那些像素点串接起来,使它们发亮,所显示的每一曲线都是由一定大小的像素点组成的。当像素点具有多种颜色或多种灰度等级时,就可以显示彩色图形或具有不同灰度的图形。 7、当前计算机图形学研究的课题有哪些? 答:见课本P10-11页的1.4节。

计算机图形学考核题库

第一章 一、名词解释 图形;图像;点阵表示法;参数表示法; 二、选择题: 1. 下面哪个不是国际标准化组织(ISO)批准的图形标准。() A.GKS B.PHIGS C.CGM D.DXF 2. 下面哪一项不属于计算机图形学的应用范围?(B) A. 计算机动画; B. 从遥感图像中识别道路等线划数据; C. QuickTime技术; D. 影视三维动画制作 3. 关于计算机图形标准化的论述,哪个是正确的(); A. CGM和CGI是面向图形设备的接口标准; B. GKS、IGES、STEP均是ISO标准; C. IGES和STEP是数据模型和文件格式的标准; D. PHIGS具有模块化的功能结构; 4. 与计算机图形学相关的学科有____。 A. 图象处理 B. 测量技术

C. 模式识别 D. 计算几何 E. 生命科学 F. 分子生物学 三、判断题: 计算机图形学和图像处理是两个近似互逆的学科。[]计算机图形学处理的最基本的图元是线段。[] 四、简答题: 图形包括哪两方面的要素,在计算机中如何表示它们? 阐述计算机图形学、数字图象处理和计算机视觉学科间的关系。 图形学作为一个学科得以确立的标志性事件是什么? 试列举出几种图形学的软件标准?工业界事实上的标准有那些? 举例说明计算机图形学有哪些应用范围,解决的问题是什么? 第二章 一、选择题: 1. 触摸屏是一种() A. 输入设备; B. 输出设备; C. 既是输入设备,又是输出设备; D. 两者都不是; 2. 空间球最多能提供()个自由度; A. 一个; B. 三个;

C. 五个; D. 六个; 3. 等离子显示器属于() A. 随机显示器; B. 光栅扫描显示器; C. 平板显示器; D. 液晶显示器; 4. 对于一个1024×1024存储分辩率的设备来说,当有8个位平面时,显示一帧图象所需要的内存为() A. 1M字节; B. 8M字节; C. 1M比特; D. 8M比特; 5. 分辨率为1024*1024的显示器,其位平面数为24,则帧缓存的字节数应为() A. 3MB; B. 2MB; C. 1MB; D. 512KB; 6. 下面对光栅扫描图形显示器描述正确的是:() A. 荧光粉涂层均匀离散分布; B. 是一种点画设备; C. 电子束从顶到底扫描;

计算机图形学基础第五章课后习题答案

5.3 试用中点Bresenham 算法画直线段的原理推导斜率在[-1,0]之间的直线段绘制过程(要求写清原理、误差函数、递推公式以及最终画图过程)。 解: 原理:每次在最大位移方向上走一步,而另一个方向是走步还是不走步取决于误差项的判别。 ∵斜率k 在[-1,0]之间 ∴x 为最大位移方向,每次在x 加1,而y 或减1或减0。 设直线段的方程F(x,y)=y-kx-b ,假设当前点是P(x i ,y i ),则下一点在P u (x i +1,y i )与P d (x i +1,y i -1)中选一。设M 为P u 和P d 的中点,则M 点的坐标为(x i +1,y i -0.5)。 构造误差判别式: d i =F(x M ,y M )=F(x i +1,y i -0.5)= y i -0.5-k(x i +1)-b 若d i ≥0,取P d (x i +1,y i -1); 若d i <0,取P u (x i +1,y i ); 即有x i+1=x i +1,y i+1=y i -1(d i ≥0)或y i (d i <0)。 误差函数的递推: d i ≥0时,取P d (x i +1,y i -1),再判断下一像素取哪个时,应计算 d i+1=F(x i +2,y i -1.5)= y i -1.5-k(x i +2)-b=d i -1-k ,增量为-1-k 。 d i <0时,取P u (x i +1,y i ),再判断下一像素取哪个时,应计算 d i+1=F(x i +2,y i -0.5)= y i -0.5-k(x i +2)-b=d i -k ,增量为-k 。 (x 0,y

计算机图形学:第三章 图形标准

第三章图形标准 3.1 图形标准的分类 建立图形标准的目的是使图形与计算机硬件无关,实现程序的可移植和数据的可交换。 图形标准的分类: 应用程序接口 图形数据交换

3.2 应用程序接口标准 1)GKS(Graphics Kernel System) 1985年,第一个ISO国际计算机图形信息标准,图形核心系统(GKS),正式颁布。 GKS提供了在应用程序和图形输入输出设备之 间的功能接口,定义了一个独立于语言的图形核 心系统。 GKS是一个二维图形标准,使用GKS编制出来 的应用程序可方便地在具有GKS的不同图形系统 之间移植。以后又开发出了三维图形核心系统(GKS-3D)。

2)PHIGS (Programmer’s Hierarchical Interactive Graphics System) PHIGS( Programmer's Hierarchical Interactive Graphics System )是ISO于1986年公布的计算机图形系统标准。PHIGS是为具有高度动态性,交互性的三维图形应用而设计的图形软件工具库,其最主要的特点是能够在系统中高效率地描述应用模型,迅速修改图形模型的数据,并能绘制显示修改后的图形模型,它也是在程序与图形设备之间提供了一种功能接口。

3.3 图形数据交换标准 1)CGM (Computer Graphic Metafile) 1980年开始,美国国家标准委员会ANSI和国 际标准化组织ISO专门成立了标准化组着手计算机 图元文件(CGM)标准的制定,并于1987年正式成为ISO标准, CGM提供了一个在虚拟设备接口上存贮与传输图形数据及控制信息的机制。它具有广泛的适用性,大部分的二维图形软件都能够通过CGM进行信息存贮和交换。CGM标准是由一套标准的与设备无关的定义图形的语法和词法元素组成。

计算机图形学作业答案

计算机图形学作业答案 第一章序论 第二章图形系统 1.什么是图像的分辨率? 解答:在水平和垂直方向上每单位长度(如英寸)所包含的像素点的数目。 2.计算在240像素/英寸下640×480图像的大小。 解答:(640/240)×(480/240)或者(8/3)×2英寸。 3.计算有512×512像素的2×2英寸图像的分辨率。 解答:512/2或256像素/英寸。 第三章二维图形生成技术 1.一条直线的两个端点是(0,0)和(6,18),计算x从0变到6时y所对应的值,并画出结果。 解答:由于直线的方程没有给出,所以必须找到直线的方程。下面是寻找直线方程(y =mx+b)的过程。首先寻找斜率: m =⊿y/⊿x =(y 2-y 1 )/(x 2 -x 1 )=(18-0)/(6-0) = 3 接着b在y轴的截距可以代入方程y=3x+b求出 0=3(0)+b。因此b=0,所以直线方程为y=3x。 2.使用斜截式方程画斜率介于0°和45°之间的直线的步骤是什么? 解答: (1)计算dx:dx=x 2-x 1 。 (2)计算dy:dy=y 2-y 1 。 (3)计算m:m=dy/dx。 (4)计算b: b=y 1-m×x 1 (5)设置左下方的端点坐标为(x,y),同时将x end 设为x的最大值。如果 dx < 0,则x=x 2、y=y 2 和x end =x 1 。如果dx > 0,那么x=x 1 、y=y 1 和x end =x 2 。 (6)测试整条线是否已经画完,如果x > x end 就停止。 (7)在当前的(x,y)坐标画一个点。 (8)增加x:x=x+1。 (9)根据方程y=mx+b计算下一个y值。 (10)转到步骤(6)。 3.请用伪代码程序描述使用斜截式方程画一条斜率介于45°和-45°(即|m|>1)之间的直线所需的步骤。

计算机图形学期末复习[1]备课讲稿

计算机图形学期末复 习[1]

计算机图形学期末复习 第一章绪论 ●名词解释:图形、图像、点阵法、参数法。 图形:是指能够在人的视觉系统中形成视觉印象的客观对象。 点阵法:是具有灰度或颜色信息的点阵来表示图形的一种方法,它强调图形有哪些点组成,这些点具有什么灰度或色彩。 图形包括哪方面的要素参数法:是以计算机所记录的图形的形状参数与属性参数来表示图形的一种方法。 把参数法描述的图形叫做图形;把点阵法描述的图形叫做图像。 ●图形包括哪两方面的要素,在计算机中如何表示它们? 图形的要素可以分为两类,一类是刻画形状的点、线、面、体等几何要素;另一类是反应物体本身固有属性,如表面属性或材质的明暗、灰度、色彩(颜色信息)等非几何要素。 在计算机中表示带有颜色及形状的图和形常用两种方法:点阵法和参数法。 ●什么叫计算机图形学?分析计算机图形学、数字图像处理和计算机视觉学科间的关系。 计算机图形学是研究怎样利用计算机来显示、生成和处理图形的原理、方法、和技术的一门学科。 计算机图形学试图将参数形式的数据描述转换生成(逼真的)图像。数据图像处理则着重强调图像之间进行变换,它旨在对图像进行各种加工以改善图像的视觉效果,计算机视觉是研究用计算机来模拟生物外显或宏观视觉功能的科学和技术,它模拟对客观事物模式的识别过程,是从图像到特征数据对象的描述表达处理过程。 ●有关计算机图形学的软件标准有哪些? 标准有:计算机图形核心系统(GKS)及其语言联编、三维图形核心系统(GKS-3D)及其语言联编、程序员层次交互式图形系统(PHIGS)及其语言联编、计算机图形元文件(CGM)、计算机图形接口(CGI)、基本图形转换规范(IGES)、产品数据转换规范(STEP)等。 ●试发挥你的想象力,举例说明计算机图形学有哪些应用范围,解决的问题是什么? 近年来计算机图形学已经广泛地用于多种领域,如科学、医药、商业、工业、政府部门、艺术、娱乐业、广告业、教育和培训等。 第二章计算机图形系统及图形硬件 ●名词解释:刷新、刷新频率、像素点、屏幕分辨率、位平面、屏幕坐标系。 刷新:消除因时间间隔造成的内容或状态不一致。分为手动和自动两种。一般用于内容或状态变化较频繁的地方。 刷新频率:每秒钟屏幕图像刷新的次数。 像素点:是指图形显示在屏幕上时,按当前的图形显示分辨率所能提供的最小元素点。 屏幕分辨率:也称光栅分辨率或物理分辨率,通常用水平方向上的光点数与垂直方向上的光点数的乘积来表示。 位平面:帧缓存被分成若干个独立的存储区域,每一个区域成为一个位面。 屏幕坐标系:图形显示器坐标原点定义在屏幕的左上角,但也有的讲原点定义在屏幕左下角。其中像素点(X,Y)坐标的取值范围是0到x或y方向的最大分辨率-1。 ●一个交互式计算机图形系统必须具有哪几种功能?其结构如何? 应该具有计算、存储、交互(对话)、输入和输出等5种功能。 其结构由图形软件和图形硬件两部分组成。图形软件由图形应用数据结构、图形应用软件和图形支撑软件组成;图形硬件由图形计算机系统和图形设备组成。 ●试列举出你所知道的图形输入与输出设备。 图形输入设备:键盘、鼠标器、光笔、触摸屏、操纵杆、跟踪球和空间球、数据手套、数字化仪、图像扫描仪、声频输入系统和视频输入系统等。 图形输出设备:阴极射线管、CRT图形显示器、平板显示器和三维观察设备等。 ●阴极射线管由哪几部分组成?它们的功能分别是什么? 阴极射线管由电子枪、偏转系统和荧光屏组成。电子枪的主要功能是产生一个沿管轴(Z轴)方向前进的高速的细电子束,用于轰击荧光屏;偏转系统的功能是使荧光屏上所有位置显示图形及字符; CRT荧光屏的功能是显示图形和字符。 ●简述荫罩式彩色阴极射线管的结构和工作原理。

计算机图形学78803

《计算机图形学》思考练习题 第一章计算机图形学概论 1.比较计算机图形学与图象处理技术相同点和不同点。 计算机图形学是研究怎样用数字计算机生成、处理和显示图形的一门学科。 图像处理技术研究如何对连续图像取样、量化以产生数字图像,如何对数字图像做各种变换以方便处理,如何滤去图像中的无用噪声,如何压缩图像数据以便存储和传输,图像边缘提取,特征增强和提取。 2.列举三个计算机图形的应用实例。 勘探、绘制地形地貌,系统模拟,虚拟现实。辅助教学设计。 3.简述计算机图形学发展动向。 造型技术—真实图形生成技术—人机交互技术—基于网络的图形技术 第二章计算机图形系统概述 1.叙述计算机图形系统的基本功能。 输入、输出、计算、存储、对话 他的基本功能是帮助人们设计、分析、采集、存贮图形、视频甚至音乐等信息。 2.输入设备可有哪几种逻辑功能请举出各自对应的物理设备。 .定位(locator): 指定一个坐标点。对应的物理设备有鼠标器、键盘、数字化仪、触摸屏等。.笔划(stroke): 指示一个坐标点系列, 如指定一条曲线的控制点等。主要物理设备有数字化仪。 .送值(valuator): 输入一个数值。最常用的物理设备是键盘的数字键。 .字符串(string):输入一个字符串。键盘字母键 .拾取(pick):各种定位设备 .选择(choise): 鼠标器,数字化仪,键盘功能键等 3.画出图形软件的层次结构及主要组成。 ------------------------------------ | 应用程序| | ---------------------------- | | 图形支撑软件| | | ------------------- | | | 高级语言| | | | ------------ | | | | 操作系统| ------------------------------------ 主要部分:图形核心系统GKS 计算机图形元文件CGM 计算机图形设备接口CGI 程序员层次结构图形系统PHIGS 4.颜色查找表的概念及实现原理。 颜色查找表是一维线性表,其每一项的内容对应一种颜色,它的长度由帧缓存单元的位数决定。实现原理:把颜色码放在一个独立的表中,帧缓存存放的是颜色表中各项的索引值,这样在帧缓存单元的位数不增加的情况下,具有了大范围挑选颜色的能力。 5.光栅扫描显示器结构与工作原理。

计算机图形学习题

第一章绪论 1、计算机图形学、图形处理与模式识别本质区别是什么?请各举一例说明。 解:计算机图形学是研究根据给定的描述,用计算机生成相应的图形、图像所生成的图形、图像可以显示屏幕上、硬拷贝输出或作为数据集存在计算机中的学科。计算机图形学研究的是从数据描述到图形生成的过程。例如计算机动画。 图形处理是利用计算机对原来存在物体的映像进行分析处理,然后再现图像。例如工业中射线探伤。 模式识别是指计算机对图形信息进行识别和分析描述,是从图形(图像)到描述的表达过程。例如邮件分捡设备扫描信件上手写的邮政编码,并将编码用图像复原成数字。 2、举3个例子说明计算机图形学的应用。 解:①事务管理中的交互绘图 应用图形学最多的领域之一是绘制事务管理中的各种图形。通过从简明的形式呈现出数据的模型和趋势以增加对复杂现象的理解,并促使决策的制定。 ②地理信息系统 地理信息系统是建立在地理图形基础上的信息管理系统。利用计算机图形生成技术可以绘制地理的、地质的以及其他自然现象的高精度勘探、测量图形。 ③计算机动画 用图形学的方法产生动画片,其形象逼真、生动,轻而易举地解决了人工绘图时难以解决的问题,大大提高了工作效率。 3、计算机生成图形的方法有哪些? 解:计算机生成图形的方法有两种:矢量法和描点法。 ①矢量法:在显示屏上先给定一系列坐标点,然后控制电子束在屏幕上按一定的顺序扫描,逐个“点亮”临近两点间的短失线,从而得到一条近似的曲线。尽管显示器产生的只是一些短直线的线段,但当直线段很短时,连成的曲线看起来还是光滑的。 (2)描点法 4.什么叫虚拟现实技术和可视化? 解:虚拟现实技术: 利用计算机生成一种模拟环境,通过多种传感器和设备使用户“投入”到该环境中,实现用户和该环境直接进行交互的技术。例如模拟飞机驾驶舱。 可视化技术: 通过对空间数据场构造中间几何因素,或用图形绘制技术在屏幕上产生二维图象。例如分子模型构造。 5.对于分辨绿为1024*1024的光栅系统,若每一像素咏8位和12位二进制来表示存储信息,各需多大光栅存储容量?每一屏幕最多能显示多少颜色?若R,G,B灰度都占8位,其显示颜色的总数是多少? 解: 1) 每一像素用8位二进制来表示存储信息,所需容量为1024*1024*1=220(byte)=1MB

计算机图形学名词解释

第一章: 计算机图形学:怎样用计算机生成、处理和显示图像的学科。 图形:能够在人们视觉系统中形成视觉印象的对象称为图形,包括自然景物和人工绘图。 数字图像处理:针对图像进行各种加工以改善图像的效果,为图像分析做准备。 位图:显示屏幕上的矩形阵列的0,1表示。 图形:计算机图形学的研究对象,能在人的视觉系统中产生视觉印象的客观对象,包括自然景物、拍摄到的图片、用数学方法描述的图形等等 像素:构成屏幕(图像)的最小元素。 分辨率:阴极射线管在水平或垂直方向单位长度上能识别的最大像素个数。 颜色查找表:是一维线性表、其每一项的内容对应一种颜色,其长度由帧缓存单元的位数决定。 作用:在帧缓存单元位数不增加的情况下,具有大范围内挑选颜色的能力;对颜色进行索引光栅扫描式图形显示器(画点设备): 帧缓存(数字设备)+寄存器+DAC(数模转换)+电子枪+光栅显示器(模拟设备) 具有N个位面的帧缓存,颜色查找表至少有N位字宽(实际为W,W>N),有2n项,可同时显示2n个颜色(灰度级),总共可以有2w个。 (全色光栅扫描图形显示器/全色帧缓存:三种原色电子枪,每种原色的电子枪有8个位面,组合成224种颜色,帧缓存至少为24位,每组原色配一个颜色查找表) 显卡作用:根据CPU提供的指令和有关数据将程序运行过程和结果进行相应处理、并转换成显示器能够接受的文字和图形显示信号,通过屏幕显示出来。 虚拟现实系统:由计算机生成的一个实时的三维空间。 虚拟现实系统的3I特性:沉浸(immersion)、交互(interaction)、想象(imagination) 第二章: 图形标准:图形系统及其相关应用系统中各界面之间进行数据传送和通信的接口标准,以及供

计算机图形学-第五章-图形变换

第五章图形变换 重点:掌握二维几何变换、二维观察变换、三维几何变换以及三维观察变换。 难点:理解常用的平移、比例、旋转变换,特别是复合变换。 课时安排:授课4学时。 图形变换包括二维几何变换,二维观察变换,三维几何变换和三维观察变换。为了能使各种几何变换(平移、旋转、比例等)以相同的矩阵形式表示,从而统一使用矩阵乘法运算来实现变换的组合,现都采用齐次坐标系来表示各种变换。 齐次坐标系 齐次坐标系:n维空间中的物体可用n+1维齐次坐标空间来表示。例如二维空间直线 ax+by+c=0,在齐次空间成为aX+bY+cW=0,以X、Y和W为三维变量,构成没有常数项的三维平面(因此得名齐次空间)。点P(x、y)在齐次坐标系中用P(wx,wy,w)表示,其中W是不为零的比例系数。所以从n维的通常空间到n+1维的齐次空间变换是一到多的变换,而其反变换是多到一的变换。例如齐次空间点P(X、Y、W)对应的笛卡尔坐标是x=X/W和y=Y/W。将通常笛卡尔坐标用齐次坐标表示时,W的值取1。 采用齐次坐标系可以将平移、比例、旋转这三种基本变换都以相同的矩阵形式来表示,并统一地用矩阵乘法来实现变换的组合。 齐次坐标系在三维透视变换中有更重要的作用,它使非线形变换也能采用线形变换的矩阵表示形式。

5.1 二维几何变换 二维几何变换就是在平面上对二维点的坐标进行变换,从而形成新的坐标。 二维几何变换主要包括:平移、比例、旋转、对称、错切、仿射和复合变换。 5.1.1 二维平移变换 如图所示,它使图形移动位置。新图p'的每一图元点是原图形p中每个图元点在x和y方向分别移动Tx和Ty产生,所以对应点之间的坐标值满足关系式 x'=x+Tx y'=y+Ty 可利用矩阵形式表示成: [x' y']=[x y]+[Tx Ty] 简记为:P'=P+T,T=[Tx Ty]是平移变换矩阵(行向量)。

计算机图形学

计算机图形学基础 第一章 1.名词解释: 图形:从客观世界物体中抽象出来的带有颜色信息及形状信息的图和形。 图像: 点阵法:是用具有灰度或颜色信息的点阵来表示的一种方法。 参数法:是以计算机中所记录图形的形状参数与属性参数来表示图像的一种方法。 2.图形包括那两方面的要素,在计算机中如何表示他们? 构成图形的要素可以分为两类:一类是刻画形状的点、线、面、体等几何要素;另一类是反映物体本身固有属性,如表面属性或材质的明暗、灰度、色彩等非几何要素。 3.什么叫计算机图形学?分析计算机图形学,数字图像处理和计算机视觉学科间的关系。 计算机图形学是研究怎样利用计算机来显示、生成和处理图形的原理、方法和技术的一门学科。【关系图在课本第一页】 4,有关计算机图形学的软件标准有哪些? 计算机图形核心系统(GKS)及其语言联编、计算机图形元文件(CGM),计算机图形接口(CGI),基本图形转换规范(IGES)、产品数据转换(STEP) 6.试发挥你的想象力,举例说明计算机图形学有哪些应用范围,解决的问题是什么? 【具体参照课本第5页】 第二章 1.名词解释 LCD:就是LiquidCrystalDisplay,它是利用液晶的光电效应,通过施加电压改变液晶的光学 特性,从而造成对入射光的调剂,使通过液晶的透射光或反射光受所加电压的控制,达到显示的目的。 LED:即Liquid-EmittingDiode,采用二极管激发的光来显示图像。 随机扫描:采用随机定位的方式控制电子束运动 光栅扫描:示器显示图形时,电子束依照固定的扫描线和规定的扫描顺序进行扫描。电子束先从荧光屏左上角开始,向右扫一条水平线,然后迅速地回扫到左边 偏下一点的位置,再扫第二条水平线,照此固定的路径及顺序扫下去,直到最后 一条水平线,即完成了整个屏幕的扫描。 刷新:刷新是经过一段时间后,信息可能丢失,需要重写,为了使信息储存更长的时间,必 须不断的刷新每个储存单元中储存的信息,也就是将各储存单元中的数据读出之后,再 写回到元单元中,对各储存单元中的电容器进行充电.

计算机图形学试题集69974

第一章绪论 一.填空题 1. 1982年,国际标准化组织ISO给计算机图形学下的定义是:研究用计算机进行______和图 形之间相互转换的方法和技术。 2. 1982年,国际标准化组织ISO给计算机图形学下的定义是:研究用计算机进行数据和____ ___之间相互转换的方法和技术。 3. 1982年,国际标准化组织ISO给计算机图形学下的定义是:研究用计算机进行__________ ___之间相互转换的方法和技术。 4. 1982年,国际标准化组织ISO给计算机图形学下的定义是:研究用计算机进行数据和图形 之间相互__________的方法和技术。 5. 计算机图形学涉及和研究的主要问题是利用计算机进行____________的输入、表达、存储、显示、检索、变换、图形编辑等。 6. 计算机图形学涉及和研究的主要问题是利用计算机进行图形信息的_________、表达、存储、显示、检索、变换、图形编辑等。 7. 计算机图形学涉及和研究的主要问题是利用计算机进行图形信息的输入、__________、存储、显示、检索、变换、图形编辑等。 8. 计算机图形学涉及和研究的主要问题是利用计算机进行图形信息的输入、表达、_______ __、显示、检索、变换、图形编辑等。 9. 1950年,MIT的旋风一号计算机通过控制_________,生成和现实了一些简单的图形。 10. 1962年,MIT林肯实验室Ivan. E. Sutherland在发表的论文中指出,开发的通信系统是一个功能完善的__________图形系统,从而确立了计算机图形学的科学分支地位。 解答: 1. 2. 3. 4. 5. 6. 7. 8. 9.

计算机图形学 第五章 图形变换

第五章图形变换 重 点:掌握二维几何变换、二维观察变换、三维几何变换以及三维观察变换。 难 点:理解常用的平移、比例、旋转变换,特别是复合变换。 课时安排:授课4学时。 图形变换包括二维几何变换,二维观察变换,三维几何变换和三维观察变换。为了能使各种几何变换(平移、旋转、比例等)以相同的矩阵形式表示,从而统一使用矩阵乘法运算来实现变换的组合,现都采用齐次坐标系来表示各种变换。 齐次坐标系 齐次坐标系:n维空间中的物体可用n+1维齐次坐标空间来表示。例如二维空间直线 ax+by+c=0,在齐次空间成为aX+bY+cW=0,以X、Y和W为三维变量,构成没有常数项的三维平面(因此得名齐次空间)。点P(x、y)在齐次坐标系中用P(wx,wy,w)表示,其中W是不为零的比例系数。所以从n维的通常空间到n+1维的齐次空间变换是一到多的变换,而其反变换是多到一的变换。例如齐次空间点P(X、Y、W)对应的笛卡尔坐标是x=X/W和y=Y/W。将通常笛卡尔坐标用齐次坐标表示时,W的值取1。 采用齐次坐标系可以将平移、比例、旋转这三种基本变换都以相同的矩阵形式来表示,并统一地用矩阵乘法来实现变换的组合。 齐次坐标系在三维透视变换中有更重要的作用,它使非线形变换也能采用线形变换的矩阵表示形式。

5.1 二维几何变换 二维几何变换就是在平面上对二维点的坐标进行变换,从而形成新的坐标。 二维几何变换主要包括:平移、比例、旋转、对称、错切、仿射和复合变换。 5.1.1 二维平移变换 如图所示,它使图形移动位置。新图p'的每一图元点是原图形p中每个图元点在x和y方向分别移动Tx和Ty产生,所以对应点之间的坐标值满足关系式 x'=x+Tx y'=y+Ty 可利用矩阵形式表示成: [x' y']=[x y]+[Tx Ty] 简记为:P'=P+T,T=[Tx Ty]是平移变换矩阵(行向量)。

相关主题
文本预览
相关文档 最新文档