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

  • 格式:doc
  • 大小:83.00 KB
  • 文档页数:13

计算机图形学课后习题答案部分
一、问答题(25 分,每题 5 分)
1 、列举三种常见的颜色模型,简要说明其原理和特点。

答:所谓颜色模型就是指某个三维颜色空间中的一个可见光子集,它包含某
颜色。

常用的颜色模型有 R G B 、 C M Y 、H S V 等。

R G B 颜色模型通常用于彩色阴极射线管等彩色光栅图形显示设备中,它
多、最熟悉的颜色模型。

它采用三维直角坐标系,红、绿、蓝为原色,各个
可以产生复合色
C MY 颜色模型以红、绿、蓝的补色青( C yan )、品红( Magenta )、黄( Yello w )为原色
构成,常用于从白光中滤去某种颜色,又被称为减性原色系统。

印刷行业中 C MY
颜色模型。

H S V ( H ue , Saturation , Value )颜色模型是面向用户的,对应于画家的配色方
习题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) 。

所以有
递推公式的推导:
d
2=f(x
i
-1.5,y
i
+2)
当d>0时,
d
2=y
i
+2-k(x
i
-1.5)-b 增量为1+k
=d
1
+1+k
当d<0时,
d
2=y
i
+2-k(x
i
-0.5)-b 增量为1
=d
1
+1
当d=0时,
5.11 如图5-59所示多边形,若采用扫描转换算法(ET边表算法)进行填充,
试写出该多边形的边表ET和当扫描线Y=4时的有效边表AET(活性边表)。

(P125)
解:
1)边表ET表
x|ymin y max 1/k n ext
2)y=4时的有效边表AET
x y max 1/k n ext
注意:水平线不用计算。

5.22 构造两个例子,一个是4-连通图,其边界是8-连通的,
另一个是8-连通图,其边界是4-连通的。

(P132)
解:
4-连通区域 8-连通区域
6.7 求四边形 ABCD 绕 P(5,4)旋转45度的变换矩阵和端点坐标,
画出变换后的图形。

(P147 P148 P155)
解:变换的过程包括:
1)平移:将点P(5,4)平移至原点(0,0),
2)旋转:图形绕原点(0点)旋转45度,
3)反平移:将P点移回原处(5,4),
4)变换矩阵:平移—旋转—反平移
5)变换过程:四边形 ABCD 的规范化齐次坐标(x,y,1) * 3阶二维变换矩阵
由旋转后四边形 ABCD 的规范化齐次坐标(x',y',1)可写出顶点坐标:
A'(6.4,1.2) B'(7.1,4.7) C'(4.3,8.5)
D'(2.2,1.2)
3.求三角形绕B点(2,5)旋转θ 的变换矩阵。

求三角形绕B点顺时针旋转90度后各端点坐标。

(P125)
解:1)三角形绕B点(2,5)旋转θ 的变换矩阵
T=T
t * T
R
* T
t
-1
平移到坐标原点旋转角度θ
反平移回
原来位置
1 0
0 1
-2 -5 1
cosθ sinθ 0
-sinθ cosθ 0
0 0
1
1 0
0 1
2 5
2)三角形绕B 点顺时针旋转90度的变换矩阵,θ=-90°
T=T t * T R * T t -1
变换过程:三角形 ABC 的规范化齐次坐标(x,y,1) * 3阶二维变换矩阵 P=P * T
得到三角形 ABC 变换后的规范化齐次坐标(x',y',1)
可以写出顶点坐标:A'(4.6,2) B'(2,5) C'(0,-1)
4.用编码裁剪算法裁剪线段P1(0,2)P2(3,3)。

要求写出:(164)
1)窗口边界划分的9个区间的编码原则;
2)线段端点的编码;
3)裁剪的主要步骤;
4)裁剪的输出结果。

解:线段P
1(0,2)P
2
(3,3)的编码裁剪
y 100
1
10001010
4
000
1
P2(3,3)
0000
S
0010
3
P1(0,2
) 2
1 010*********
1234x 1)窗口边界划分的9个区间的编码原则;
2)线段端点的编码;
P
1 code1=0001, P
2
code2=0000
3)裁剪的主要步骤;
输入 P
1(0,2), P
2
(3,3), wyt=4, wyb=1,
wxr=4, wxl=1;
P
1 code1=0001, P
2
code2=0000;
code1|code2≠0 不能简取;code1&code2=0 不能简弃;
求线段 P
1(0,2)P
2
(3,3)和窗口左界wxl=1
的交点,
把 wxl=1 代入直线方程求出
y=kx+b=(1/3)*x+2=2.3
交点坐标S(1,2.3)替换端点坐标
P
1(0,2),使P
1
坐标为(1,2.3);
去掉P
1
S线段,输出线段P
1
P
2。

4)裁剪的输出结果:P
1
(1,2.3)P
2
(3,3)。