文档库 最新最全的文档下载
当前位置:文档库 › 计算机图形学+机械工业出版社+徐长青+答案

计算机图形学+机械工业出版社+徐长青+答案

计算机图形学+机械工业出版社+徐长青+答案
计算机图形学+机械工业出版社+徐长青+答案

计算机图形学作业答案

第一章序论

第二章图形系统

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)之间的直线所需的步骤。

假设线段的两个端点为(x1,y1)和(x2,y2),且y1

int x = x1, y = y1;

float x f, m = (y2-y1)/(x2-x1), b = y1-mx1;

setPixel( x, y );/*画一个像素点*/

while( y < y2 ) {

y++;

x f = ( y-b)/m;

x = Floor( x f +0.5 );

setPixel( x, y );

}

4.请用伪代码程序描述使用DDA算法扫描转换一条斜率介于-45°和45°(即|m| ≤1)之间的直线所需的步骤。

解答:

假设线段的两个端点(x1, y1)和(x2,y2),且x1

int x = x1, y;

float y f = y1, m = ( y2– y1) / ( x2-x1);

while( x < = x2 ) {

y = Floor( y f + 0.5 );

setPixel( x, y );

x++;

y f = y f + m;

}

5.使用Bresenham算法画斜率介于0°和45°之间的直线所需的步骤。

解答:

(1)计算初始值:

dx =x2-x1In c2 =2(dy-dx)

dy =y2-y1 d =In c1-dx

In c1 =2dy

(2)设置左下方的端点坐标为(x,y),同时将x end设为x的最大值。如果dx < 0,则x=x2,y=y2和x end=x1。如果dx > 0, 那么x=x1、y=y1

和x end=x2。

(3)在当前的(x,y)坐标画一个点。

(4)判断整条线段是否已经画完,如果x=x end就停止。

(5)计算下一像素的位置。如果d<0,那么d=d+In c1。如果d≥0,那么d=d + In c2,并且y=y+1。

(6)增加x:x=x+1。

(7)在当前的(x,y)坐标画一个点。

(8)转到步骤(4)。

6.请指出用Bresenham算法扫描转换从像素点(1,1)到(8,5)的线段时的像素位置。

首先必须找到初始值。在这个例子中, dx = x 2-x 1 = 8-1 = 7 dy = y 2-y 1 = 5-1 = 4 因此, In c 1= 2dy = 2×4 = 8 In c 1=2(dy -dx )= 2×(4-7)=-6

d =In c 1-dx =8-7=1

7. 使用Bresenham 算法扫描转换圆的步骤是什么? 解答:

(1) 设置初始变量:(h ,k )=圆心坐标;x =0;y =圆的半径r ;d =3-2r 。 (2) 测试整个圆是否已经扫描转换完。如果x>y 就停止。

(3) 以中心(h ,k )为对称点,对当前的(x ,y )坐标画8个圆上的点:

plot( x + h, y + k ) plot( -x + h, -y + k )

plot( y+ h, x +k ) plot( -y + h, -x + k ) plot( -y + h, x + k )

plot( y + h, -x + k )

plot( -x + h, y + k ) plot( x + h, -y + k )

其中plot(a,b)表示以给定的参数为中心画一个小块。

(4) 计算下一个像素的位置。如果d < 0,那么d =d +4x +6和x =x +1。如果d ≥0,那么d =d +4(x -y )+10、x =x+1和y =y -1。

(5) 转到步骤(2)。

8. 给定数据点P 0(0,0),P 1(1,2)P 2(2,1)P 3(3,-1)P 4(4,10)P 5(5,5),用三次B 样条插值法插值这些数据点,求出曲线,并找出定义三次B 样条的节点集t 0,……,t 9。 解答:

m =3, n =5,选择节点集可以有两种方案:

(1) 选择:

)(103210x t t t t <-====, )(69876n x t t t t >====

其余的节点按以下方式选择: 1,......,0,...11--=++=

++++m n i m

x x t m

i i m i

故:

23

3

21=++=

t ,

33

4

32=++=

t

(2) 三次样条的另一种方案是:

13210-====t t t t ,

69876====t t t t

其余节点按以下方式选择:

24++=i i x t ,I =0,……,n-4

故: t 4=2, t 5=3

两种方法选择节点集,其根据是数据点沿x 轴为等间距。

第四章 图形的裁剪及几何变换

1. 写出实现下述映射的规范化变换,将左下角在(1,1),右上角在(3,5)的窗口

映射到(a )规范化设备的全屏幕视区;(b )左下角在(0,0),右上角在???

?

?21,21的视区。 解答:

(a ) 窗口参数是5,1,3,1m

a x

m

i n

m a x

m

i n

====wy wy wx wx 。视区参数是1,0,1,0m

a

x m i n

m a

x

m

i

n

====vy vy vx vx 。那么4

1,2

1=

=y x s s 且

???????? ?

?--

=10

041410

21021N (b ) 窗口参数同(a )。视区参数是2

1,0,2

1,0min max max min =

==

=wy vy vx vx 。那

么8

1,41=

=

y x s s 且

???????

? ?

?--=10

081810

41041

N

2. 设R 是左下角L (-3,1),右上角为R (2,6)的矩形窗口。请写出图中的线段端点的区域编码。【图5.6 P90】

解答:

点(x ,y )的区域编码根据下面的模式设置。

比特1=sign (y -y max )=sign (y -6) 比特3=sign (x -x max )=sign (x -2) 比特2=sign (y min -y )=sign (1-y ) 比特4=sign (x min -x )=sign (-3-x ) 此处:

?

??≤>=)0(,0)

0(,1)(a a a sign

因此:

A (-4,2)→0001

B (-1,7)→1000

C (-1,5)→0000

D (3,8)→1010

E (-2,3)→0000

F (1,2)→0000

G (1,2)→0100 H (3,3)→0010 I (-4,7)→1001 J (-2,0)→1000

3. 求垂直线x 和水平线y 与21P P 四边形平行坐标轴的矩形裁剪窗口的交点。写出线段

(从),(111y x P 到),(222y x P )与(a )垂直线x =a ,(b )水平线y =b 的交点。 解答:

线段的参数方程是:

?

?

?-+=-+=)()

(121121y y t y y x x t x x 10≤≤t

(b ) 因为a x =,将它代入方程)()(121x x x a t --=得到。然后把此值再代入方程,

则交点是a x I =和

()1212

11y y x

x x a y y I -???

?

??--+= (c ) 因为b y =,将它代入方程)()(121y y y b t --=得到。然后把此值再代入方

程,则交点是b y I =和

()1212

1

1x x y

y y a x x I -???

?

??--+=

4. 如何判断一个点P (x ,y )是在由A(x 1,y 1)和B(x 2,y 2)所连接的线段的左边还是右边。 解答: 参见图所示。对于向量AB 和AP ,如果P 点在AB

的左边,根据两个向量叉乘的

定义,向量AB ×AP 的方向是向量K ,即xy 平面的正交方向。如果在右边,叉乘方向为-K ,此时:

J

y y I x x AP J y y I x x AB )()()()(111212-+-=-+-=

因此:

()()()()[]K x x y y y y x x AP AB 112112-----=

?

这个叉乘的方向由下式确定:

()()()()112112x x y y y y x x C -----=

5. 如果C 是正的,P 在AB 的左边。如果C 是负的,P 在AB 的右边。 6. 根据一个对象点绕原点旋转的旋转变换,写出对应的矩阵表示。 解答:

根据sin 和cos 的三角函数定义计算得到: x ′=r cos (θ+Φ),y′=r sin (θ+Φ) 和 x =r cos Φ,

y =r sin Φ

根据三角公式,得出: r cos (θ+Φ)= r (cos θcos Φ-sin θsin Φ)=x cos θ-y sin θ 和

r sin (θ+Φ)= r (sin θcos Φ+cos θsin Φ)=x sin θ-y cos θ 或

x′ = x cos θ-y sin θ,

y′ = x sin θ+y cos θ

设P′ =''x y ??

???

, P =x y ??

???且

θR =cos sin sin sin θθθ

θ-??

???

则可得出P R P ?='θ。

7. (a )写出对象绕原点旋转的旋转变换矩阵。(b )设点为P (2,-4),旋转后的新

坐标是什么?

P

B

AB ×AP K A

解答:

(a ) 根据上题: R 30°=cos 30sin 30sin 30

cos 30o

o

o

o ??- ?

??

=12

21

2

2??- ? ?

? ???

(b ) 新的坐标可以通过矩阵乘法得到:

12212

2??-

? ??

24??

?-??

=21?? -?

8. 写出点Q (x ,y )绕定点P (h ,k )旋转的旋转变换。 解答:

通过三步确定:(1)平移对象,使它的旋转中心P 与原点重合;(2)绕原点旋转;(3)将P 平移回(h ,k )。 使用v =h I +k J 作为平移向量,P R ,θ可通过组合变换得到: v v O T R T R -'??=θθ,

9. 写出下列关于原点的缩放变换:(a )在X 轴方向缩放a 单位 (b )在Y 轴方向缩放

b 单位(

c )同时分别在X 轴方向缩放a 单位,在Y 轴方向缩放b 单位。 解答:

(a ) 点P (x ,y )缩放变换后得到点(ax ,y ),可以用形式S a ,1?P 的矩阵表示,

即:

00

1a

?? ???x y ?? ???=ax y ?? ???

(b ) 与(a )类似,可以用形式S 1,b ,P 的矩阵表示,即

1

00

b ?? ???x y ?? ???=x by ?? ???

(c ) 在两个方向上的缩放可以通过x′=ax 和y′=by 变换得到S a ,b ?P 。写成矩阵

形式有:

00

a

x ax b y by ??????= ? ? ???????

10. 写出以直线L 作为反射轴的反射变换矩阵。

解答:

设图中所示的直线L 交y 轴于B (0,b ),倾斜角为θ(与x 轴夹角)。然后用已知的交换来描述整个过程:

(1) 平移交点B 到原点。

(2) 旋转-?θ使直线L 跟x 轴重合。 (3) 关于x 轴镜面对称。 (4) 旋转?θ回到原方向。 (5) 将B 平移回(0,b )。 其交换表示为:

M L =T v * R θ* M x * R --θ* T -v 其中,v=bJ

11.

矩阵11a b

??

???

被称为同时错切变换或简称错切变换。在b =0的特例下叫x 方向错切变换;a =0时叫y 方向错切变换。说明这个变换在a =2和b =3时对正方形A (0,0),B (1,0),C (1,1),D (0,1)进行变换的结果。 解答:

图中(a )是原始正方形,图(b )是x 方向错切变换,图(c )是y 方向错切变换,图(d )是在两个方向上的错切变换。

12.

寻找圆方程对应的xy 坐标方程,假设x′y′坐标是通过对xy 坐标在x 方向缩放

a 单位,在y 方向缩放

b 单位得到的。

()()12

2

='+'y x

解答:

由坐标缩放变换方程可以得到:

x a x 1'=

y b

y 1'=

进行替换,得到:

12

2

=??

?

??+??? ??b y a x C(1,1) B A D A ’ B ’ A ’ A ’ 3,4) (a) (b)

(c)

(d)

应注意缩放的结果,圆方程经过变换后变为xy 坐标系的椭圆方程。

13. 写出直线方程b mx y +=''对应的xy 坐标方程,假设''y x 坐标系是由xy 坐标

系旋转90°得到。 解答:

旋转坐标变换方程可以写成:

'90sin 90cos 'y y x x =?+?=,

x y x y -=?+?-=90cos 90sin '

代入原方程式得到b my x +=-,写成y 的方程式,得m b x m y //)/1(--=

第五章 交互技术及用户接口 第六章 三维形体的表示 第七章 三维形体输出流水线

1. 二次旋转变换定义为先绕x 轴再绕y 轴旋转的变换,(a )写出这个变换的矩阵;(b )

旋转的先后顺序对结果有影响吗? 解答:

(a ) 通过组合两个旋转矩阵可以得到变换T :

J x I y R R T ,,θθ?=

??????

?

??-???????

??-=10

0cos sin 00sin cos 00001

10

00cos 0sin 00100sin 0cos x

x

x x y

y y

y θθθθθθθθ ??????

?

?

?--=10

00cos cos sin cos sin 0sin cos 00cos sin sin sin cos x

y x

y y x x x

y x

y y θθθθθθθθθθθθ (b ) 通过J y I x R R ,,θθ?可以得到变换矩阵:

??????

?

?

?

--10

00cos cos sin sin cos 0cos sin cos sin sin 0sin 0cos y

x x

y

x y x x y x y

y θθθθ

θθθθθθθθ 这个矩阵与(a )的不同,所以旋转的顺序有影响。

2. 旋转轴L 是向量V 和通过轴的点P 决定的。试写出绕L 轴旋转θ°的变换。 解答:

通过下面步骤找到要求的变换:

(1) 将P 平移到原点。 (2) 使V 平行于向量K 。

(3) 绕K 旋转?θ。

(4) 逆变换步骤(2)和(1)。 因此有:

P V K V p L T A R A T R ----????=,1

1

,θθ

3. 写出关于xy 平面对称面的镜面反射变换。

解答:

由图得知P (x ,y ,z )得对称点是P '(x ,y ,-z )。其反射变换是:

????

? ?

?-=10

0010

001

M

4. 用原点作为投影中心,请写出满足下述条件的透视变换:通过点R 0(x 0,y 0,z 0)

并且有法线向量K n J n I n N 321++=。 解答:

设P (x ,y ,z )点投影到()z y x P '''',,点。向量PO 和O P '方向相同,因此存在一个数α,使得PO a O P ='且

z z y y x x ααα='='=',,

现在求α得值。因为所有在视平面上的点()z y x P '''',,满足下面的方程:

0321d z n y n x n ='+'+'

y

其中,0302010z n y n x n d ++=,将z z y y x x ααα='='=',,代入方程得到:

z

n y n x n d 3210

++=

α 这个投影变换不能用3×3矩阵变换公式表示。但是使

用齐次坐标表示三维点时,

可以写出投影变换得4×4矩阵:

??????

?

??=00000000003

2

1

000,0

n n n d d d Per R N

将此矩阵与点P 的齐次坐标表示P (x, y , z, 1)连接运算,得到

),,,(321000z n y n x n z d y d x d P ++',这就是上面所得到的()z y x P '''',,齐次坐标。

5. 写出投影到视平面z =d 的透视投影,其中投影中心在原点(0,0,0)。

解答:

平面z =d 平行于xy 平面(且距离为d 个单位)。因此视平面的法线向量N 和xy 平面的法线向量K ,即N =K 。选择R 0(0,0,d )视见参考点,根据上题可以确定参数:

)1,0,0(),,(321=n n n N

),0,0(),,(0000d z y x R =

因此:

d z n y n x n d =+++0302010

所以投影矩阵是:

??????

?

?

?=01

00000000000

,d d d Per R N

6. 写出投影到xy 平面,方向是cK bJ aI V ++=的平行投影方程。

解答:

从可以看出向量V 和P P '有相同方向。即kV P P ='。比较分量,则有:

kc z z kb y y ka x x =-'=-'=-',,

因此:

z c b y y z c

a x x c

z k -

='-

='-

=,,

在3×3的矩阵形式中,有:

???????

? ?

?--=00

01001c b

c a P V

ar

所以P Par P V ?='

7. 如何确定一个点P 在观察体的内部还是外部? 解答:

一个平面空间将空间分成两部分。平面的一般方程是:

0)()()(030201=-+-+-z z n y y n x x n

对于任意点P (x ,y ,z ),若定义一个标量函数f (P ),有:

)()()(),,()(030201z z n y y n x x n z y x f P f -+-+-=≡

如果sign f (P )=sign f (Q ),那么说P 点和Q 点在同一边(相对平面而言)。令

N L R B r f f f f f ,,,,和F f 分别表示顶平面、底平面、左平面、右平面、近平面、远平面。

另外,L 和R 分别是窗口的左下角点和右上角点,且P b 和P f 分别是后裁剪平面和前裁剪平面的参考点。 那么如果下面都成立,则P 点在观察体内:

对于平面f r 来说,P 和L 在同一边;

对于平面f B 来说,P 和R 在同一边; 对于平面f R 来说,P 和L 在同一边; 对于平面f L 来说,P 和R 在同一边; 对于平面f N 来说,P 和P b 在同一边;

P ’(x ’,y ’,V=a1+b3

P(x,y,z)

对于平面f F 来说,P 和P f 在同一边。 相当于: sign f T (P) = sign f T (L) sign f L (P) = sign f L (R) sign f B (P) = sign f B (R) sign f N (P) = sign f N (P b ) sign f R (P) = sign f R (L)

sign f F (P) = sign f F (P f )

8. 对于三维Cohen -Sutherland 裁剪算法,下述观察体作为裁剪区域时,线段端点的

区域编码分别是什么?(a )规范化平行观察体;(b )规范化透视观察体。 解答:

整个过程逻辑上可以参照第5章的二维裁剪算法。在三维情况下,描述观察体的平面把三维空间分成6个重叠的外部区域(即观察体的上下左右),加上观察体的内部。因此需要用6比特区域编码。设P (x ,y ,z )为端点的坐标。

(a ) 对于规范化平行观察体,根据下述规定把每个比特设为真(1)或

假(0)

比特1=端点在观察体上方=sign (y -1) 比特2=端点在观察体下方=sign (-y ) 比特3=端点在观察体右方=sign (x -1) 比特4=端点在观察体左方=sign (-x ) 比特5=端点在观察体后方=sign (z -1) 比特6=端点在观察体前方=sign (-z )

如果(a )为正的,则sign (a )=1,否则为0。

(b ) 对于规范化平行透视体:

比特1=端点在观察体上方=sign (y -z ) 比特2=端点在观察体下方=sign (-z -y )

比特3=端点在观察体右方=sign (x -z ) 比特4=端点在观察体左方=sign (-z -x )

比特5=端点在观察体后方=sign (z -1) 比特6=端点在观察体前方=sign P (z f -z )

线段的分类是(1)如果两个区域编码都是000000,则为可见线段;(2)如果两个区域编码的按位与操作不是000000,则为完全不可见线段;(3)如果两个区域编码的按位与操作是000000,则为要裁剪线段

9. 写出线段与下述规范化观察体边界平面相交的交点:(a )平行投影;(b )透视投影。 解答:

设P 1(x 1,y 1,z 1)和P 2(x 1,y 1,z 1)为线段的两个端点。线段的参数方程是:

t z z z z t y y y y t x x x x )(,)(,)(121121121-+=-+=-+=

交点参数是:

2

110P P N P R N t I ???-=

其中N 是法线向量,R 0是平面的参考点。

(a ) 平行规范化观察体边界平面是x =0,x =1,y =0,y =1,z =0和z =1。对于平面x

=1,有N =I 和R 0(1,0,0)。所以有:

1

21)1(x x x t I ---=

如果0≤t 1≤1,线段与平面有交点,交点坐标为:

1)1)((121121=---

-+=x x x x x x x

)1)((121121y y y y y y y ---

-+=

)1)((1

21121z z z z z z z ---

-+=

同理可以求出与其他平面的交点。

(b ) 透视规范化观察体边界平面是x =z ,x =-z ,y =z ,y =-z ,z =z f 和z =1。为了求

出与x =z 平面的交点,将平面方程写成x -z =0。根据这个方程,有法线向量N =I -K ,参考点是R 0(0,0,0)。所以有:

)

)((12121

1z z x x z x t I ----

=

如果0≤t 1≤1,则将代入线段的参数方程计算交点。同理可以求出与其他平面的交点。

第八章 消隐及真实感图形生成技术

1. 已知点P 1(1,2,0)、P 2(3,6,20)和观察点P 3(2,4,6),试判断从C (0,0,-10)观察时,哪个点挡了其他点。 解答:

连接观察点C (0,0,-10)和点P 1(1,2,0)的直线是

x =t ,y =2t , z =-10+10t

为了判断P 2(3,6,20)是否在这条线上,可以将点带入方程,得x =3时t =3,在t =3时x =3,y =6,z =20,所以P 2在过C 点和P 1点的投影线上。

接着以C 为基准,判断哪个点在前面。C ,P 1,P 2分别在这条线的t =0,1,3位置上。由t 值可知,P 1在P 2前面,即P 1遮挡了P 2。

现在判断P 3(2,4,6)是否在这条线上。x=2时t =2,y =4,z =10。所以P 3(2,4,6)不在这条投影线上,既没有遮挡P 1,P 2,也没有被P 1、P 2遮挡。

2. 为什么需要隐藏面消影法?

解答:需要用隐藏面消影法来判断哪些物体和表面遮挡了放在它们后面的物体和表面,从而产生更逼真的图像。

3. 需要用哪两步判断给定的点P 1(x 1,y 1,z 1)是否遮挡了另一个点P 2(x 2,y 2,z 2)? 解答:必须判断(1)两个点是否在同一个投影线上。(2)如果是,哪个点在另一个点

4. 为什么在平行投影时更容易确定隐藏面?

解答:平行投影没有灭点,因而,任意点P (a ,b ,z )和其他有同样x 和y 坐标的点位于同一投影线上。这样只需比较z 来判断哪个点更靠近观察者。

5. Z 缓冲器算法是怎样判断哪个面应消影的?

解答:Z 缓冲器算法设置了一个二维数组,类似于帧缓冲器。但是,Z 缓冲器存放的是每个像素点的深度值,而不是帧缓冲器中的颜色值。Z 缓冲器的初始值设置为某个大的数值,通常是后裁剪平面的距离。在判断像素(x ,y )上的哪个平面更靠近观察者时,就可以简单的比较Z 缓冲器中的深度值和当前平面的深度值。如果当前平面的值比Z 缓冲器中的值小(即距视点更近),则用新值替换原Z 缓冲器中的值,像素的颜色值也变成新平面的颜色值。

6. 局部光照模型和全局光照模型的不同之处是什么?

解答:

局部光照模型主要是考虑光源发出的光对物体的直接影响。另外,全局光照模型除了处理光源发出的光之外,还考虑其他辅助光的影响,如光线穿过透明或半透明物体,以及光线从一个物体表面反射到另一个表面等。

7. 物体的颜色很大程度上取决于它的漫反射系数。如果k d =(0.8,0.4,0)且光源是

蓝色的,那么物体是什么颜色的? 解答:黑色。由k d 得知,物体不反射蓝光,又光源没有红光和绿光。

8. 参见上题,如果光源用品红色的,会是怎样的情况? 解答:红色。因为物体只反射品红色光的红色部分。

9. 假设点P 1在扫描线y 1上且亮度为I 1,点P 2在扫描线y 2上且亮度为I 2。给出y 方向上的递推公式,该公式可以用线性插值计算P 1和P 2之间所有扫描线的亮度值I ’。 解答:设P 1为开始点,则从一条扫描线到下一条扫描线的亮度变化值为

)/()(1212y y I I I --=?

所以:

11I I ='且I I I i i ?+'='-1,其中i=2,…..,y 2-y 1。

10. 参见上题,如果在第5条线上的点P 1有RGB 颜色(1,0.5,0),在第15条

线上的点P 2有RGB 颜色(0.2,0.5,0.6)。那么在第8条线上的点是什么颜色? 解答: 因为

06

.0)515/()06.0(0)515/()5.05.0(08

.0)515/()12.0(=--=?=--=?-=--=?R G R

所以有[])18.0,5.0,76.0(06.030,035.0),08.0(31=?+?+-?+为第8条线上点的颜

11.说出表面明暗处理的三个部分和用于计算每个部分的辅助光线。 解答:局部贡献(阴影光线),反射光贡献(镜面反射光线)和透射光贡献(镜面透射光线)。

12.一束光线表示为td s t r +=)(,其中K J I s 32-+=且K I d 2+=。分别求出对应于t =0,1,2.5和3的光线上的点坐标。 解答:

)

3,1,5(35)63()32()3()2,1,5.4(25.4)53()5.22()5.2()

1,1,3(3)23()12()1()

3,1,2(32)03()02()0(→++=+-+++=→++=+-+++=-→-+=+-+++=-→-+=+-+++=K J I K J I r K J I K J I r K J I K J I r K J I K J I r

1.

二维空间中的直线可以表示为代数方程b mx y +=或参数向量方程

td s t L +=)(,其中+∞<<∞-t 。对于J I s +=和J I d -=,试给出等价的代数方

程。 解答1:

因为J t I t td s t L )1()1()(-++=+=,所以有: t y t x -=+=1,1 即

2=+y x 或2+-=x y

解答2:

在直线上找到两个点:

)

0,2(2)1()1,1()0(→=+=→+==I d s L J I s L

所以有 )12/()10()1/()1(--=--x y ,即2+-=x y 。

2.

判断光线是否平行于xy 平面的一个平面相交。

解答:

这个平面的方程是z =c ,其中c 为常量。如果光线与这个平面相交,且交点是(x i ,y i ,c ),为了得到x i 和y i ,对以下方程求t :

cK J y I x td s i i ++=+

其中,有K z J y I x s s s s ++=,

K z J y I x d d d d ++=

所以:

???

??=+=+=+c

tz z y ty y x tx x d s

i d s i d s 当z d =0时,光线平行于平面(不相交)。当z s =c 时,光线的起始点在平面上(不相交)。 否则,用第三个方程计算t :

d

s z z c t -=

如果t<0,则光线负方向的延长线与平面相交。如果t>0,则光线本身与平面相交,交点的坐标x i 、y i 用两个方程求出。

3.

判断光线是否平行于xy 平面的由x min 、x max 、y min 和y max 定义的矩形区域相交。

解答:首先判断是否与xy 平面相交。如果不相交,则光线与该区域不相交。否则,求出交点坐标x i 和y i 。如果x min ≤ x i ≤ x max 且y min ≤ y i ≤ y max ,则光线与区域相交,否则不相交。

4. 判断光线是否平行于xy 平面的一个三角形(或凸多边形)区域相交。 解答:

首先判断光线是否与xy 平面相交。如果不相交,则光线与平面中的任何区域不相交。否则,求出交点坐标x i 和y i 。如果点在三角形和凸多边形区域所有的边上或边内,则点在改区域内部。

现在仅考虑xy 平面(忽略z )。为了判断交点(x i ,y i )是在平面区域一条边的内侧还是外侧,先选择边上的一个点,接着定义一个指向边的外侧的向量n ,再用所选择的点定义向量v ,用交点定义向量v i ,则有: ()()

()()()()

?

??

???>=-?90,090,090,0)(θθθ在边的内侧在边上在边的外侧i i i i i i i y x y x y x v v n

5. 设n=I+J+2K 为通过点P 0=(1,1,0)的平面的法线向量。试判断s=-2I+J+2K ,d =I -K 的光线是否与平面相交。 解答:因为:

01)1(20111<-=-?+?+?=?d n

所以光线与平面相交。引入:

K

I K J I K

z z J y y I x x p s s s 23)20()11()]2(1[)()()(000-=-+-+--=-+-+-=

计算: 11

)

2(20131=--?+?+?=

??=

d

n p n t

所以交点是 )1,1,1(),,(-=+++d s d s d s z z y y x x 。

6.

半径为R 、中心在原点的球体的隐式方程是02222=-++R z y x 。试判断光线s

+td 是否与球体相交。 解答:

设K z J y I x s s s s ++=,K z J y I x d d d d ++=。用d s d s d s tz z ty y tx x +++,,分别替换x ,y 和z :

()()0)(2

2

22

=-+++++R

tz z ty y tx x d

s

d

s d s

展开并重新组合各项: ()

()()

022

2

2

2

2

2

22=-++++++++R

z y x t z z y y x x z y x

d d d d s d s d s d

d d

022

2

2

2

=-+?+R

s dt s t d

球体中心在(0,0,0)。

计算机图形学习题分析

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

计算机图形学试题附答案完整版

名词解释 将图形描述转换成用像素矩阵表示的过程称为扫描转换。 1.图形 2.像素图 3.参数图 4.扫描线 5.构造实体几何表示法 6.投影 7.参数向量方程 8.自由曲线 9.曲线拟合 10.曲线插值 11.区域填充 12.扫描转换 三、填空 1.图形软件的建立方法包括提供图形程序包、和采用专用高级语言。 2.直线的属性包括线型、和颜色。 3.颜色通常用红、绿和蓝三原色的含量来表示。对于不具有彩色功能的显示系统,颜色显示为。 4.平面图形在内存中有两种表示方法,即和矢量表示法。 5.字符作为图形有和矢量字符之分。 6.区域的表示有和边界表示两种形式。 7.区域的内点表示法枚举区域内的所有像素,通过来实现内点表示。 8.区域的边界表示法枚举区域边界上的所有像素,通过给赋予同一属性值来实现边界表示。 9.区域填充有和扫描转换填充。 10.区域填充属性包括填充式样、和填充图案。 11.对于图形,通常是以点变换为基础,把图形的一系列顶点作几何变换后,

连接新的顶点序列即可产生新的变换后的图形。 12.裁剪的基本目的是判断图形元素是否部分或全部落在之内。 13.字符裁剪方法包括、单个字符裁剪和字符串裁剪。 14.图形变换是指将图形的几何信息经过产生新的图形。 15.从平面上点的齐次坐标,经齐次坐标变换,最后转换为平面上点的坐标,这一变换过程称为。 16.实体的表面具有、有界性、非自交性和闭合性。 17.集合的内点是集合中的点,在该点的内的所有点都是集合中的元素。 18.空间一点的任意邻域内既有集合中的点,又有集合外的点,则称该点为集合的。 19.内点组成的集合称为集合的。 20.边界点组成的集合称为集合的。 21.任意一个实体可以表示为的并集。 22.集合与它的边界的并集称集合的。 23.取集合的内部,再取内部的闭包,所得的集合称为原集合的。 24.如果曲面上任意一点都存在一个充分小的邻域,该邻域与平面上的(开)圆盘同构,即邻域与圆盘之间存在连续的1-1映射,则称该曲面为。 25.对于一个占据有限空间的正则(点)集,如果其表面是,则该正则集为一个实体(有效物体)。 26.通过实体的边界来表示一个实体的方法称为。 27.表面由平面多边形构成的空间三维体称为。 28.扫描表示法的两个关键要素是和扫描轨迹。 29.标量:一个标量表示。 30.向量:一个向量是由若干个标量组成的,其中每个标量称为向量的一个分量。 四、简答题 1. 什么是图像的分辨率?

计算机图形学教程课后习题参考答案.

第一章 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.试卷保密,考生不得将试卷带出考场或撕页,否则成绩作废。请监考老师负责监督。 2.请各位考生注意考试纪律,考试作弊全部成绩以零分计算。 3.本试卷满分100分,答题时间为90分钟。 4.本试卷分为试题卷和答题卷,所有答案必须答在答题卷上,答在试题卷上不给分。 一、【单项选择题】(本大题共10小题,每小题2分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在答题卷相应题号处。 1、计算机图形学与计算机图像学(图像处理)的关系是()。 [A] 计算机图形学是基础,计算机图像学是其发展 [B] 不同的学科,研究对象和数学基础都不同,但它们之间也有可相互转换部分 [C] 同一学科在不同场合的不同称呼而已 [D] 完全不同的学科,两者毫不相干 2、多边形填充算法中,错误的描述是()。 [A] 扫描线算法对每个象素只访问一次,主要缺点是对各种表的维持和排序的耗费较大 [B] 边填充算法基本思想是对于每一条扫描线与多边形的交点,将其右方象素取补 [C] 边填充算法较适合于帧缓冲存储器的图形系统 [D] 边标志算法也不能解决象素被重复访问的缺点 仅供学习与交流,如有侵权请联系网站删除谢谢0

3、在多边形的逐边裁剪法中,对于某条多边形的边(方向为从端点S到端点P)与某条裁剪线(窗口的某一边)的比较结果共有以下四种情况,分别需输出一些顶点。哪种情况下输出的顶点是错误的?() [A] S和P均在可见的一侧,则输出点P [B] S和P均在不可见的一侧,,则输出0个顶点 [C] S在可见一侧,,P在不可见一侧,则输出线段SP与裁剪线的交点和S [D] S在不可见的一侧,P在可见的一侧,则输出线段SP与裁剪线的交点和P 4、下列关于反走样的叙述中,错误的论述为()。 [A] 把像素当作平面区域来采样[B] 提高分辨率 [C] 增强图像的显示亮度[D] 采用锥形滤波器进行加权区域采 样 5、下列关于平面几何投影的叙述中,错误的论述为()。 [A] 透视投影的投影中心到投影面的距离是有限的 [B] 在平行投影中不可能产生灭点 [C] 在透视投影中,一组平行线的投影仍保持平行 [D] 透视投影与平行投影相比,视觉效果更真实,但不一定能真实反映物体的精确尺寸和形状 6、下列关于Bezier曲线的论述中,错误的论述为()。 [A] 曲线及其控制多边形在起点和终点具有同样的几何性质 [B] 在起点和终点处的切线方向和控制多边形第一条边和最后一条边的方向相同 [C] n个控制点控制一条n次Bezier曲线 [D] 某直线与平面Bezier曲线的交点个数不多于该直线与控制多边形的交点个数 7、下面给出的四个选项中,()不是Bezier曲线具有的性质。 [A] 局部性[B] 几何不变性[C] 变差缩减性[D] 凸包性 8、分辨率为2048×1024的显示器需要多少字节位平面数为8的帧缓存?() 仅供学习与交流,如有侵权请联系网站删除谢谢1

计算机图形学第三章答案

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;

计算机图形学基础期末考试试题

一、填空题 1.将多边形外部一点A与某一点B用线段连接,若此线段与多边形边界相交的次数为??????????,则点B在多边形外部。若此线段与多边形边界相交的次数为??????????,则点B在多边形内部。 2.生成直线的四点要求是_______________________,____________________________,____________________________________,速度要快。 3.由5个控制顶点Pi(i=0,1,…4)所决定的3次B样条曲线,由??????????段3次B样条曲线段光滑连接而成。 4.用于减少或克服在“光栅图形显示器上绘制直线、多边形等连续图形时,由离散量表示连续量引起的失真”的技术叫??????????。 5.图形的数学表示法一般有??????????,??????????,??????????。 1.一个交互性的计算机图形系统应具有、、、、 输入等五方面的功能。 2.阴极射线管从结构上可以分为、和。 3.常用的图形绘制设备有和,其中支持矢量格式。 4.PHIGS和GKS将各种图形输入设备从逻辑上分为六种:定位设备、笔划设 备、、、和。 5.通常可以采用和处理线宽。 6.齐次坐标表示就是用维向量表示n维向量。 7.平行投影根据可以分为投影和投影。 8.一个交互式计算机图形处理系统包括图形软件和_____________,图形软件又分为 _____________、_____________和三部分。 9.构成图形的要素包括和,在计算机中通常用采用两种方法来表示 图形,他们是和。 10.荫罩式彩色显像管的结构包括、、和。 11.目前常用的PC图形显示子系统主要由3个部件组成:、和一 个ROM BIOS芯片。 12.在交互输入过程中,图形系统中有_____________、、和其组 合形式等几种输入(控制)模式。 13.填充一个特定区域,其属性选择包括、和。 14.计算机中表示带有颜色及形状信息的图和形常用和参数法,其中用参数法描 述的图形称为,用描述的图形称为。 15.在显示技术中,我们常常采用提高总的光强等级。 16.常用的交互式绘图技术有、、和。

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

第一章绪论 概念:计算机图形学、图形、图像、点阵法、参数法、 图形的几何要素、非几何要素、数字图像处理; 计算机图形学和计算机视觉的概念及三者之间的关系; 计算机图形系统的功能、计算机图形系统的总体结构。 第二章图形设备 图形输入设备:有哪些。 图形显示设备: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

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

第三章习题答案 3.1 计算机图形系统的主要功能是什么? 答:一个计算机图形系统应具有计算、存储、输入、输出、交互等基本功能,它们相互协作,完成图形数据的处理过程。 1. 计算功能 计算功能包括: 1)图形的描述、分析和设计;2)图形的平移、旋转、投影、透视等几何变换; 3)曲线、曲面的生成;4)图形之间相互关系的检测等。 2. 存储功能 使用图形数据库可以存放各种图形的几何数据及图形之间的相互关系,并能快速方便地实现对图形的删除、增加、修改等操作。 3. 输入功能 通过图形输入设备可将基本的图形数据(如点、线等)和各种绘图命令输入到计算机中,从而构造更复杂的几何图形。 4. 输出功能 图形数据经过计算后可在显示器上显示当前的状态以及经过图形编辑后的结果,同时还能通过绘图仪、打印机等设备实现硬拷贝输出,以便长期保存。 5. 交互功能 设计人员可通过显示器或其他人机交互设备直接进行人机通信,对计算结果和图形利用定位、拾取等手段进行修改,同时对设计者或操作员输入的错误给以必要的提示和帮助。 3.2 阴极射线管由哪些部分组成?它们的功能分别是什么? 答:CRT主要由阴极、电平控制器(即控制极)、聚焦系统、加速系统、偏转系统和阳极荧光粉涂层组成,这六部分都在真空管内。 阴极(带负电荷)被灯丝加热后,发出电子并形成发散的电子云。这些电子被电子聚集透镜聚焦成很细的电子束,在带正高压的阳极(实际为与加速极连通的CRT屏幕内侧的石墨粉涂层,从高压入口引入阳极高电压)吸引下轰击荧光粉涂层,而形成亮点。亮点维持发光的时间一般为20~40mS。 电平控制器是用来控制电子束的强弱的,当加上正电压时,电子束就会大量通过,在屏幕上形成较亮的点,当控制电平加上负电压时,依据所加电压的大小,电子束被部分或全部阻截,通过的电子很少,屏幕上的点也就比较暗。所以改变阴极和 控制电平之间的电位差,就可调节电子 束的电流密度,改变所形成亮点的明暗 程度。 利用偏转系统(包括水平方向和 垂直方向的偏转板)可将电子束精确定 位在屏幕的任意位置上。只要根据图形 的几何坐标产生适当的水平和垂直偏转磁场(或水平和垂直偏转板静电场),图 2.2CRT原理图

计算机图形学试卷及参考答案

年级班姓名学号成绩 一、填空题(每空1分,共30分) 1、计算机图形学是用计算机建立、存储、处理某个对象的模型,并根据模型 2、计算机图形系统功能主要有计算功能、存储功能、输入功能、输出功能、 交互功能。 3、区域的表示有内点表示和边界表示两种形式。 4、字符裁剪的策略有串精度裁剪、字符精度裁剪、基于构成字符最小元素的 裁剪。 5、图形软件系统提供给用户的三种基本输入方式包括请求方式、采样方式、事件方式。 6、常见的图形绘制设备有喷墨打印机、笔式绘图机、激光打印机。 7、字符生成常用的描述方法有点阵式和轮廓式。 8、在交互式图形输入过程中,常用的控制方式有请求、样本、事件和混合四种形式。 9、用于八连通区域的填充算法可以用于四连通区域的填充,但用于四连通区域的填充算法并不适用于八连通区域的填充。 10、能够在人们视觉系统中形成视觉印象的对象称为图形。 二、不定项选择题(每题2分,共20分) 1、计算机图形显示器一般使用(A)颜色模型。 (A)RGB (B) CMY (C)HSV (D) HLS 2、计算机图形系统功能不包括(D)。 (A)计算功能(B) 存储功能 (C)交互功能(D)修饰功能 3、多边形填充算法中,正确的描述是(ABC) (A)扫描线算法对每个象素只访问一次,主要缺点是对各种表的维持和排序

的耗费较大 (B)边填充算法基本思想是对于每一条扫描线与多边形的交点,将其右方象 素取补 (C)边填充算法较适合于帧缓冲存储器的图形系统 (D)边标志算法也不能解决象素被重复访问的缺点 4、在交互式图形输入过程中,常用的控制方式不包括(C)。 (A)样本(B)事件(C)交互(D)混合 5、下列有关平面几何投影的叙述,错误的是(D ) (A)透视投影又可分为一点透视、二点透视、三点透视 (B)斜投影又可分为斜等测、斜二测 (C)正视图又可分为主视图、侧视图、俯视图 (D)正轴测又可分为正一测、正二测、正三测 6、视频信息的最小单位是(A ) (A)帧(B)块(C)像素(D)字 7、在透视投影中,主灭点的最多个数是(C) (A)1 (B)2 (C)3 (D)4 8、扫描线多边形填充算法中,对于扫描线同各边的交点的处理具有特殊性。穿过某两条边的共享顶点的扫描线与这两条边的交点数只能计为(B )交点: (A)0 个(B)1个 (C)2个(D)3个 9、用于减少和消除用离散量表示连续量引起的失真效果的技术称为(B)(A)走样(B)反走样(C)填充(D)以上都不是 10、分辨率为1024×1024的显示器需要(C)字节位平面数为16的帧缓存?(A)512KB (B)1MB (C)2MB (D)3MB 三、名词解释(每题3分,共15分) 1、计算机图形系统:用来生成、处理和显示图形的一整套硬件和软件。

《计算机图形学》试卷及答案

一、填空题(每空0.5分,共 1 0 分) 1、 计算机图形学中的图形是指由点、线、面、体等 和明暗、灰度(亮度)、色 彩等 构成的,从现实世界中抽象出来的带有灰度、色彩及形状的图或形。 2、 一个计算机图形系统至少应具有 、 、输入、输出、 等 基本功能。 3、 常用的字符描述方法有:点阵式、 和 。 4、 字符串剪裁的策略包括 、 和笔划/像素精确度 。 5、 所谓齐次坐标就是用 维向量表示一个n 维向量。 6、 投影变换的要素有:投影对象、 、 、投影线和投影。 7、 输入设备在逻辑上分成定位设备、描画设备、定值设备、 、拾取设备 和 。 8、 人机交互是指用户与计算机系统之间的通信,它是人与计算机之间各种符号和动作 的 。 9、 按照光的方向不同,光源分类为: , , 。 10、从视觉的角度看,颜色包含3个要素:即 、 和亮度。 二、单项选择题(每题 2分,共 30 分。请将正确答案的序号填在 题后的括号内) 1、在CRT 显示器系统中,( )是控制电子束在屏幕上的运动轨迹。 A. 阴极 B. 加速系统 C. 聚焦系统 D. 偏转系统 2、分辨率为1024×1024的显示器需要多少字节位平面数为16的帧缓存( ) A. 512KB B. 1MB C. 2MB D. 3MB? 3、计算机图形显示器一般使用什么颜色模型( ) A. RGB B. CMY C. HSV D. HLS??? 4、下面哪个不属于图形输入设备( ) A. 键盘 B. 绘图仪 C. 光笔 D. 数据手套 5、多边形填充算法中,错误的描述是( )。 A. 扫描线算法对每个象素只访问一次,主要缺点是对各种表的维持和排序的耗费较大 B. 边填充算法基本思想是对于每一条扫描线与多边形的交点,将其右方象素取补 C. 边填充算法较适合于帧缓冲存储器的图形系统 D. 边标志算法也不能解决象素被重复访问的缺点 6、 在扫描线填色算法中,扫描线与顶点相交时,对于交点的取舍问题,下述说法正确的是( )。 A. 当共享顶点的两条边分别落在扫描线的两边时,交点只算2个 B. 当共享交点的两条边在扫描线的同一边时,若该点是局部最高点取1个

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

第三章图形标准 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标准是由一套标准的与设备无关的定义图形的语法和词法元素组成。

计算机图形学试题及答案(汇总)

一、 判断题(10x1=10分) 1、 构成图形的要素可分为两类:刻画形状的点、线、面、体的非几何要素(集合要素)与反映物体表面属性或材质 的明暗、色彩等的(非几何要素)几何要素。( 错误 ) 2、 参数法描述的图形叫图形;点阵法描述的图形叫图像。( 正确 ) 3、 EGA (增强图形适配器)/VGA (视频图形阵列)为增强图形显示效果的一种图形处理软件的名称。( 错误 ) 4、 对山、水等不规则对象进行造型时,大多采用过程式模拟方法。( 正确 ) 5、 若两个图形是拓扑等价的,则一个图形可通过做弹性运动与另一个图形相重合。( 正确 ) 6、 0阶参数连续性和0阶几何连续性的定义是相同的。( 正确 ) 7、 Bezier 曲线可做局部调整。( 错误 ) 8、 字符的图形表示分为点阵和矢量两种形式。( 正确 ) 9、 LCD 表示(液晶显示器)发光二极管显示器。( 错误 ) 10、 使用齐次坐标可以将n 维空间的一个点向量唯一的映射到n+1维空间中。( 错误 ) 二、 填空题(15x2=30分) 1、目前常用的PC 图形显示子系统主要由3个部件组成:(1)帧缓冲存储器、(2)显示控制器、(3)ROM BIOS 。 2、 图形的输入设备有(4)键盘、鼠标、光笔(至少写三种);图形的显示设备有(5)CRT 显示器、LCD 、投影仪(至少写三种)。 3、常用坐标系一般可以分为:建模坐标系、用户坐标系、(6观察坐标系、(7)规格化设备坐标系、(8)设备坐标系。 4、在多边形的扫描转换过程中,主要是通过确定穿越多边形区域的扫描线的覆盖区间来填充,而区域填充则是从(9)给定的位置开始涂描直到(10)指定的边界条件为止。 5、一个交互式计算机图形系统应具有(11)计算 、(12)存储、(13)对话、(14)输入和输出等五个方面的功能。 三、 简答题(5x6=30分) 1、 请列举常用的直线段裁减算法(四种)。 答:答:直接求交算法、编码算法、中点再分算法、Cyrus-Beck 算法。 2、 考虑三个不同的光栅系统,分辨率依次为480640?,10241280?,20482560?。欲存储每个像素12位, 这些系统各需要多大的帧缓冲器(字节数)? 答:480640?需要的帧缓存为KB 4508/12480640=?? 10241280?需要的帧缓存为KB 19208/1210241280=?? 20482560 ?需要的帧缓存为KB 76808/1220482560=?? 3、 什么叫做走样?什么叫做反走样?反走样技术包括那些? 答:走样指的是用离散量表示连续量引起的失真。 为了提高图形的显示质量。需要减少或消除因走样带来的阶梯形或闪烁效果,用于减少或消除这种效果的方法称为反走样。 其方法是①前滤波,以较高的分辨率显示对象;②后滤波,即加权区域取样,在高于显示分辨率的较高分辨率下用点取样方法计算,然后对几个像素的属性进行平均得到较低分辨率下的像素属性。 4、 试说明一致缩放(s x =s y )和旋转形成可交换的操作对。 答:????? ??? ??-=???????? ??-????????? ??=1000cos sin 0sin cos 1000cos sin 0sin cos 10 00 001θθθθ θθθθ y y x x y x s s s s s s T ???? ???? ? ?-=??????????????????? ??-=10 00cos sin 0sin cos 10 000010 00cos sin 0sin cos 2θθθθθθ θθ y x y x y x s s s s s s T

计算机图形学习题

计算机图形学部分习题答案 王飞 1.流水线的主要特点是每个基元可以单独处理,这样的结构不尽使 性能更快,而且降低了内存需求,主要缺点是我们不能操控大多数全局效果,如阴影,反射 2.视帧缓存的深度而定,以帧缓存为深度为1为例,速度为 1024*1280*1*72b=11.25MB/s,即读取一个像素用时倒数分之1每秒。隔行扫描,72变30. 3.每帧480*640像素的视频显示仅含有300K像素(普屏动画), 而2000*3000像素的电影帧有6M像素,约多了18倍的显示时间,因此需要18倍的时间进行渲染。 4.略 5.分别在x方向和y方向上对这个问题进行解答。变换是线性的, 也就是,Xs=ax+b,Ys=cy+d,映射的时候必须保证比例保持不变,即有 =得到 Xs=u+w* 同理可得 Ys=v+h* 6.可以使用扫描线的方式,每一个扫描线对应于帧缓存中的一行像 素,通过交点的方式判断点是否在多边形内部。按照一定的方向观察扫描线与多边形的交点,第一个交点是扫描线上接下来一系

列在多边形内部的点的起点,第二个交点是离开多边形的起点,第三个交点又是进入的起点。依次进行,根据点在那两个交点之间即可判断是否在多边形内。按照一定方向移动扫描线,即可完成对所有点的判断。 7.可以得知帧缓存的深度为6 8.使用扫描线判断。每一条扫面线与凸多边形至多有两个交点,从 一个方向朝另一个方向移动扫描线,扫描完毕,只要中途未出现两个人以上交点,则为凸多边形。 9.定义笔画字体时,最主要的问题是如何描述具有弯曲笔画和孔的 字符,比如字母“a”和字母“q” 10.会出现很多潜在的问题,比如,应用程序会把对象坐标系中不 同的点映射到屏幕坐标系的相同位置,第二,屏幕坐标系上的点转换回对象坐标系时,改点可能会落在用户窗口以外。 11.使用游戏杆的游戏大多操作比较简单,共有两个三位置转换开 关,则可产生九中不同组合的编码控制信息,进而控制游戏的进行。 12.略 (1)旋转和均匀缩放 假设缩放矩阵为 旋转矩阵为(绕Z轴旋转)

计算机图形学(第三版)孙家广课后习题答案

第一章:P56 1、列出在你过去学习工作中用过与计算机图形学有关的程序c语言: #include main() { int graphdriver = VGA, graphmode=VGAHI; initgraph(&graphdriver,&graphmode,””); setbkcolor(BLUE); setcolor(WHITE); setfillstyle(1,LIGHTRED); bar3d(100,200,400,350,100,1); floodfill(450,300,WHITE); floodfill(250,450,WHITE); setcolor(LIGHTGREEN); rectangle(450,400,500,450); floodfill(470,420,LIGHTGREEN); getch(); closegraph(); } JA V A语言: 例1、画点 Import java.io.*; Class point { int ax; int ay; int bx; int by; public point(int ax, int ay, int bx, int by) { float k ; //计算斜率 float b; k=(by-ay)/(bx-ax); b=ay-ax*k; system.out.println(“直线的方程为:y=”+k+”x”+”+”+b); } } 例2、画矩形 class DrawPanel extends Jpanel { public void paint(Graphics g)

计算机图形学基础教程习题课1(第二版)(孙家广-胡事民编著)

1.列举计算机图形学的主要研究内容。 计算机中图形的表示方法、图形的计算、图形的处理和图形的显示。 图形硬件、图形标准、图形交互技术、光栅图形生成算法、曲线曲面造型、实体造型、真实感图形计算与显示算法,以及科学计算可视化、计算机动画、自然景物仿真、虚拟现实等。 2.常用的图形输出设备是什么? 显示器(CRT、LCD、等离子)、打印机、绘图仪等。 2.常用的图形输入设备是什么? 键盘、鼠标、跟踪球、空间球、数据手套、光笔、触摸屏、扫描仪等。 3.列出3种图形软件工具。 AutoCAD、SolidWorks、UG、ProEngineer、CorelDraw、Photoshop、PaintShop、Visio、3DMAX、MAYA、Alias、Softimage等。 错误:CAD 4.写出|k|>1的直线Bresenham画线算法。 d d d d 设直线方程为:y=kx+b,即x=(y-b)/k,有x i+1=x i+(y i+1-y i)/k=x i+1/k,其中k=dy/dx。因为直线的起始点在象素中心,所以误差项d的初值d0=0。y下标每增加1,d的值相应递增1/k,即d=d+1/k。一旦d≥1,就把它减去1,这样保证d在0、1之间。 ●当d≥0.5时,最接近于当前象素的右上方象素(xi+1,y i+1),x方向加1,d减 去1; ●而当d<0.5时,更接近于上方象素(x i,yi+1)。

为方便计算,令e=d-0.5,e的初值为-0.5,增量为1/k。 ●当e≥0时,取当前象素(x i,y i)的右上方象素(xi+1,y i+1),e减小1; ●而当e<0时,更接近于上方象素(xi,yi+1)。 voidBresenhamline (int x0,int y0,intx1, inty1,int color) { int x,y,dx,dy; float k,e; dx= x1-x0, dy = y1-y0,k=dy/dx; e=-0.5, x=x0, y=y0; for (i=0; i≤dy; i++) {drawpixel(x, y,color); y=y+1,e=e+1/k; if (e≥0) { x++, e=e-1;} } } 4.写出|k|>1的直线中点画线算法。 构造判别式:d=F(M)=F(xp+0.5,y p+1)=a(x p+0.5)+b(yp+1)+c ●当d<0,M在Q点左侧,取右上方P2为下一个象素; ●当d>0,M在Q点右侧,取上方P1为下一个象素; ●当d=0,选P1或P2均可,约定取P1为下一个象素;

《计算机图形学》练习试题及参考答案大全

《计算机图形学》练习试题及参考答案(后面有答案) 一、名词解释:(每个4分) 1.计算机图形学 2.图象处理 3.模式识别 4.计算几何 5.凸多边形 6.种子填充算法 7.窗口 8.视区 9.光顺性 10.拟合 11.多项式插值 12.小挠度曲线 13.图形变换 14.齐次坐标系 15.凸包 16.轮廓线 17.等值线 18.图形的翼边表示 19.ER模型 20.图形消隐 21.本影 22.半影 23.用户坐标系 24.规范化设备坐标系 25.构造 26.约束技术 27.光线跟踪 28、走样 29、CRT(Cathode Ray Tube) 30、隔行(interlaced)扫描 31、输入模式 32、取样方式(sample mode) 33、区域 34、边界表示法 35、复合变换 36、二维复合平移 37.二维复合比例 38.二维复合旋转 39.视区(Viewport) 40、投影变换

41、平面几何投影 42. 参数图 43. 像素图 44.人机界面 45.地理信息系统 46.虚拟现实 47.几何造型技术 48.扫描转换 49. 插值曲线 50.逼近曲线 51. 用户接口 52. 交互技术 53. 交互式图形系统的基本交互任务 54. 定位任务 55. 选择任务 56. 拾取任务 57 .选择技术 58. 菜单技术 59. 文字输入任务 60. 数值输入任务 61.动画 62.帧 63.场 64. 消隐 65.物体空间的消隐算法 66. 漫反射光

67. 环境光 68. 镜面反射光 二、选择题(每题2分) 1、计算机图形学与计算几何之间的关系是( )。 A)学术上的同义词B)计算机图形学以计算几何为理论基础 C)计算几何是计算机图形学的前身D).两门毫不相干的学科 2、计算机图形学与计算机图象学的关系是( )。 A)计算机图形学是基础,计算机图象学是其发展 B)不同的学科,研究对象和数学基础都不同,但它们之间也有可转换部分 C)同一学科在不同场合的不同称呼而已 D)完全不同的学科,两者毫不相干 3、触摸屏是( )设备。 A)输入B)输出C)输入输出D)既不是输入也不是输出 4.计算机绘图设备一般使用什么颜色模型?( ) A)RGB;B)CMY;C)HSV ;D)HLS 5. 计算机图形显示器一般使用什么颜色模型?( ) A)RGB;B)CMY;C)HSV ;D)HLS 6.分辨率为1024×1024的显示器各需要多少字节位平面数为24的帧缓存?( ) A)512KB;B)1MB;C)2MB ;D)3MB 7.哪一个不是国际标准化组织(ISO)批准的图形标准?( ) A)GKS;B)PHIGS;C)CGM ;D)DXF 8.下述绕坐标原点逆时针方向旋转a角的坐标变换矩阵中哪一项是错误的? ( ) | A B | | C D | A) cos a; B) sin a; C) sin a; D) cos a 9、在多边形的逐边裁剪法中,对于某条多边形的边(方向为从端点S到端点P)与某条裁剪线(窗口的某一边)的比较结果共有以下四种情况,分别需输出一些顶点.请问哪种情况下输出的顶点是错误的? ( ) A)S和P均在可见的一侧,则输出S和P. B)S和P均在不可见的一侧,则输出0个顶点. C)S在可见一侧,P在不可见一侧,则输出线段SP与裁剪线的交点. D)S在不可见的一侧,P在可见的一侧,则输出线段SP与裁剪线的交点和P. 10、在物体的定义中对边的哪条限制不存在? ( ) A) 边的长度可度量且是有限的 B) 一条边有且只有两个相邻的面 C) 一条边有且只有两个端点 D) 如果一条边是曲线,那么在两个端点之间不允许曲线自相交 11.下述哪一条边不是非均匀有理B样条(NURBS)的优点? ( ) A) NURBS比均匀B样条能表示更多的曲面 B) 对于间距不等的数据点,用NURBS拟合的曲线比用均匀B样条拟合的曲线更光滑

计算机图形学作业答案

计算机图形学作业答案 第一章序论 第二章图形系统 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.直线扫描转换的Bresenham 算法 (1) 请写出生成其斜率介于0和1之间的直线的Bresenham 算法步骤。 (2) 设一直线段的起点和终点坐标分别为(1,1)和(8,5),请用Bresenham 算法生成此直线段,确定所有要绘制象素坐标。 (1)输入线段的两个端点,并将左端点存储在(x0,y0)中 将(x0,y0)装入帧缓存,画出第一个点 计算常量?x, ?y, 2?y, and 2?y-2?x,并得到决策参数的第一个值: p0 = 2?y - ?x ④从k=0开始,在沿线路径的每个xk 处,进行下列检测: 如果pk < 0,下一个要绘制的点就是(xk +1,yk) ,并且pk+1 = pk + 2?y 否则下一个要绘制的点就是(xk +1, yk +1),并且 pk+1 = pk + 2?y- 2?x ⑤重复步骤4,共 ?x-1次 (2)m=(5-1)/(8-1)=0.57 ?x=7 ?y=4 P0=2?y-?x=1 2?y=8 2?y-2?x=-6 k pk (xk+1,yk+1) 0 1 (2,2) 1 -5 (3,2) 2 3 (4,3) 3 -3 (5,3) 4 5 (6,4) 5 -1 (7,4) 6 7 (8,5) 2.已知一多边形如图1所示,其顶点为V 1、V 2、V 3、V 4、V 5、V 6,边为E 1、E 2、E 3、E 4、E 5、E 6。用多边形的扫描填充算法对此多边形进行填充时(扫描线从下到上)要建立边分类表(sorted edge table)并不断更新活化边表(active edge list)。 (1) 在表1中填写边分类表中每条扫描线上包含的边(标明边号即可); (2) 在表2中写出边分类表中每条边结构中各成员变量的初始值 (3) 指出位于扫描线y=6,7,8,9和10时活化边表中包含那些边,并写出这些边中的x 值、 y max 值、和斜率的倒数值1/m 。 表1边分类表 4 8 y 10 2 3 5 6 7 9 V 1 V 2 V 3 V 4 V 5 V 6 E 1 E 2 E 3 E 4 E 5 E 6

相关文档
相关文档 最新文档