- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《计算机图形学》练习题
直线扫描转换的 Bresenham 算法
请写出生成其斜率介于 0 和 1 之间的直线的 Bresenham 算法步骤。
设一直线段的起点和终点坐标分别为(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)
已知一多边形如图 1 所示,其顶点为V 、V 、V 、V 、V 、V ,边为E 、E 、E 、E 、E 、
1 2 3 4 5 6 1 2 3 4 5
E 。用多边形的扫描填充算法对此多边形进行填充时 (扫描线从下到上 )要建立边分类表
6
(sorted edge table)并不断更新活化边表(active edge list)。
在表 1 中填写边分类表中每条扫描线上包含的边(标明边号即可);
在表 2 中写出边分类表中每条边结构中各成员变量的初始值
指出位于扫描线 y=6,7,8,9 和 10 时活化边表中包含那些边,并写出这些边中的 x 值、y
max
值、和斜率的倒数值 1/m。
109
10
9
V
5
E
4
V4
8 V 7
6
5
4
3
2
1
6
E5
E3
E6
V3
E
2
V1
E1
V2
1 2 3 4 5 6 7 8
9
10
表 1 边分类表
1
x
Y 值(Scan LineNumber)
Y 值(Scan Line
Number)
边(Edge
Number)
1
0
2
0
3
0
4
E1
5
E6,E2
6
E6
7
E3
8
E5,E3
9
E4
10
0
0
表 2 边的初始值
边 x
ymax
1/m
4
1
1
9
7
4
6
0
0
5
1
9
7
6
0
0
6
1
9
6
6
0
0
7
1
1
8
7
7
9
0
1 -1
8
2
7
9
9
1
-1
9
3
3
6
9
9
9
1
-1
二维变换
记 P(xf,yf)为固定点, sx、sy 分别为沿 x 轴和 y 轴方向的缩放系数,请用齐次坐标(Homogeneous Coordinate)表示写出二维固定点缩放变换的变换矩阵。
把以 A(0,0)、B(1,1)和 C(5,2)为顶点的三角形以顶点 C 为固定点放大 2 倍。求出放大后的三角形的顶点坐标。
(1)
(2) 平移这个对象,使得他的固定点与原点重合
2
?缩放这个在坐标原点的对象
?平移这个对象,使得他的固定点回到原始位置
?x? ?s
0 x (1? s
)? ?x ?
? ? ? x
f x ?
? r ?
y? y? ? ? 0 s
y
y (1? s
f y
)? ? ? yr ?
??1 ??
?? 0 0
1 ?? ??1 ??
所以 A(-5,-2) B(-3,0) C(5,2)
4 二维变换
请用齐次坐标表示写出点 Q(x,y)绕定点 P(a,b)旋转的旋转变换矩阵。
求出以 A(0,0)、B(1,1)和 C(5,2)为顶点的三角形绕固定点 P(-1,-1)点旋转 450后的三角形的顶点坐标。
(1)
x’=xr+(x- xr)cos θ -(y- yr)sin θ
y’=yr+(x- xr)sin θ +(y- yr)cos θ
(2)?平移这个对象,使得他的固定点与原点重合
?旋转这个在坐标原点的对象
?平移这个对象,使得他的固定点回到原始位置
rr?x? ?cos? ? sin ? x (1? cos? ) ? y sin?? ?x ?
r
r
? ? ? ? ? ? ? ? ? ? ?
rr? y? ?sin
r
r
cos
y (1? cos
) ? x sin
? ? ? y?
??1 ??
?? 0 0
1 ?? ??1 ??
A(-1,-1+ 2 )
文档评论(0)