计算机图形学第二版课后习题答案
玛丽莲梦兔
846次浏览
2021年01月28日 19:31
最佳经验
本文由作者推荐
人员管理办法-犯错简谱
第一章
绪论
概念:计算机图形学、图形、图像、点阵法、参数法、
图形的几何要素、非几何要素、数字图像处理;
计算机图形学和计算机视觉的概念及三者之间的关系;
计算机图形系统的功能、计算机图形系统的总体结构。
第二章
图形设备
图形输入设备:有哪些。
图形显示设备:
CRT
的结构、原理和工作方式。
彩色
CRT
:结构、原理。
随机扫描和光栅扫描的图形显示器的结构和工作原理。
图形显示子系统:分辨率、像素与帧缓存、颜色查找表等基本概念,分辨率的计算
第三章
交互式技术
什么是输入模式的问题,有哪几种输入模式。
第四章
图形的表示与数据结构
自学,建议至少阅读一遍
第五章
基本图形生成算法
概念:点阵字符和矢量字符;
直线和圆的扫描转换算法;
多边形的扫描转换:有效边表算法;
区域填充:
4
/
8
连通的边界/泛填充算法;
内外测试:奇偶规则,非零环绕数规则;
反走样:反走样和走样的概念,过取样和区域取样。
5.1.2
中点
Bresenham
算法(
P109
)
斜率
K
误差项
d
理想点
Q
取下一个点
<0
<1
>=0
<0
>1
>=0
<0
<-1
>=0
<0
>-1
>=0
在中点上
取上点
d-
2△y
在中点右
取右点
d-
2△x
在中点下
取下点
d+2△x
-
2△y
在中点左
取左点
d-
2△x
在中点左
取左点
d-
2△x+2△y
在中点下
取下点
d-
2△y
在中点右
取右点
d-
2△x+2△y
d
更新
在中点上
取上点
d+2△x
-
2△y
5.1.2
改进
Bresenham
算法(
P112
)
斜率
K
改进误差项
e
理想点
Q
取下一个点
e
更新
<0
<1
>=0
<0
>1
>=0
<0
<-1
>=0
<0
>-1
>=0
习题答案
在中点上
取上点
e+2△y
在中点右
取右点
e+2△x
在中点下
取下点
e-
2△x
在中点左
取左点
在中点左
取左点
e+2△x
e-
2△y
在中点下
取下点
e+2△y
在中点右
取右点
e-
2△y
在中点上
取上点
e-
2△x
习题
5
(
P144
)
5.3
试用中点
Bresenham
算法画直线段的原理推导斜率为负且大于
1
的 直线段绘制过程
(要求写清原理、误差函数、递推公式及最终画图过程)。(
P111
)
解:
k<=-1
|△y|/|△x|>=1
y
为最大位移方向
故有
构造判别式:
推导
d
各种情况的方法
(
设理想直线与
y=y i+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.7
利用中点
Bresenham
画圆算法的原理,
推导第一象限
y
=
0
到
y
=
x
圆弧段的扫描转换算法
(要求写清原理、误差函数、递推公式及最终画图过程)。(
P115
)
y
坐标
圆心角
α
误差项
d
理想点
Q
取下一个点
d
更新
<0
>=0
<0
>=0
在中点右
取右点
d+2y+3
y=0
0°<=
α
<=45°
y=x
y=x
45°<=
α
<=90°
y=1
在中点左
取左点
d-2(y-x)+5
在中点上
取上点
d+2x+3
在中点下
取下点
d-2(x-y)+5
解:在
x=y
到y=0
的圆弧中,(
R,0
)点比在圆弧上,算法从该点开始。
最大位移方向为
y
,
由
(
R,0
)
点开始,< br>y
渐增,
x
渐减,
每次
y
方向加
1
,
x
方向减
1
或减
0
。
设
P
点坐标(
xi,yi
)
,
下一个候选点为右点
Pr
(
xi,yi+1
)和左点
Pl
(
xi-1,yi+1
),
取
Pl
和
Pr
的中点
M
(
x i-0.5,yi+1
),设理想圆与
y=yi+1
的交点
Q
,
构造判别式:
d=f(x
M
,y
M
)=(x-0.5)
+(y
i
+1)
+R
当< br>d<0
时,
M
在
Q
点左方(
Q
在
M
右),取右点
Pr
(
xi,yi+1
)
当d>0
时,
M
在
Q
点右方(
Q
在
M< br>左),取左点
Pl
(
xi-1,yi+1
)
当< br>d=0
时,
M
与
Q
点重合,约定取左点
Pl
(
xi-1,yi+1
)
2
2
2
所以有:
推导判别式:
d >=0
时,取左点
Pl
(
xi-1,yi+1
),下一点为(
xi-1,yi+2
)和(
xi-2,yi+2
)
d<0
时,取右点
Pr
(
xi,yi+1
),下一点为(< br>xi,yi+2
)和(
xi-1,yi+2
)
d
0
=f(R-0.,1)=R
-R+0.25+1-R
5.11
如图
5
-
59
所示多边形,若采用扫描转换算法 (
ET
边表算法)进行填充,
试写出该多边形的边表
ET
和当扫描线
Y
=
4
时的有效边表
AET
(活性边表)。(
P125
)
2
2=1.25-R
解:
1
)边表
ET
表
x|ymin
ymax
1/k
next
2
)
y
=
4
时的有效边表
AET
x
ymax
1/k
next
注意:水平线不用计算。
5.22
构造两个例子,一个是
4
-连通图,其边界是
8
-连通的,
另一个是
8
-连通图,其边界是
4
-连通的。(
P132< br>)
解:
4-
连通区域
8
-连通区域
第六章
二维变换及二维观察
概念:齐次坐标,窗口,视区,二维观察流程,
字符裁减的三种策略,外部裁减
计算:二维几何变换
直线裁减:区域编码法和梁友栋算法
多边形裁减:逐边裁减法和双边裁减法
6.1.3
二维变换矩阵
(P147)
3
阶二维变换矩阵
a b p
c d q
l m s
6.2.3
旋转变换
(P149)
子矩阵功能
abcd
比例旋转
pq
投影变换
lm
平移变换
s
整体比例
逆时针变换矩阵
cos
θ
sin
θ
0
-sin
θ
cos
θ
0
顺时针变换矩阵
cos
θ
-sin
θ
0
sin
θ
cos
θ
0
0 0 1
0 0 1
6.2.5
相对任一参考点的二维几何变换
(P155)
例如:相对
(xf,yf)
点的旋转变换
平移到
反平移回
旋转角度
θ
坐标原点
原来位置
1 0 0
cos
θ
sin
θ
0
1 0 0
0 1 0
-sin
θ
cos
θ
0
0 1 0
-xf -yf 1
0 0 1
xf yf 1
习题
6
(
P177
)
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)
6.15
用梁友栋算法裁减线段
AB
,
B
点的坐标改为< br>(-2,-1)
(
P170
)
解:以
A
(
3
,
3
)为起点,
B(-2
,
-1)
为终 点
所以有
x1=3
,
y1=3
,
x2=-2,
y2=-1
,
wxl=0
,
wxr=2
,
w yb=0
,
wyt=2
构造直线参数方程:
x=x
1
+u(x
2
-x
1
)
0
y
A(3,3)
x
1
x
x
2
3
C(7
/4,2)
2
D(
0,3/
-2
-1
B(-2,-1)
5) 1
0
-1
1
x
2
3
x=x
1
+u(x
2
-x
1
) (0<=u<=1)
y=y
1
+u(y
2
-y
1
)
把
x1=3
,
y1=3
,
x2=-2
,
y2=-1
代入得
x=3-5u
y=3-4u
计算各个
p
和
q
值有:
p
1
=x
1
-x
2
=5 q
1
=x
1
-wxl=3
p
2
=x
2
-x
1
=-5 q
2
=wxr-x
1
=-1
p
3
=y
1
-y
2
=4 q
3
=y
1
-wyb=3
p
4
=y
2
-y
1
=-4 q
4
=wyt-y
1
=-1
根据,
u
k
=q
k
/p
k
算出
p
k<0
时:
u
2
=1/5 u
4
=1/4
p
k>0
时:
u
1
=3/5 u
3
=3/4
u
max
=MAX(0,u
2
,u
4
)=MA X(0,1/5,1/4)=1/4
(取最大值)
u
min=MIN(u
1
,u
3
,1)=MIN(3/5,3/4,1)=3/5
(取最小值)
由于
u
max
min
,故此直线
AB
有一部分在裁减窗口内,
p
k<0
时,
将
u
max
=1/4
代入直线参数方程
x=x
1
+u(x
2
-x
1
)
x=3+1/4*(-5)=3-5/4=7/4
y=y
1
+u(y
2
-y
1
)