计算机图形应用题,《计算机图形学》练习题(标准答案).doc

本文详细介绍了Bresenham算法在直线扫描转换中的应用,包括斜率介于0到1之间的直线生成步骤。此外,讨论了多边形扫描填充算法,包括边分类表的构建和活化边表的更新,以及二维变换中的缩放、旋转和坐标变换。通过实例演示,帮助读者理解图形学核心概念和技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PAGE

PAGE 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次

m=(5-1)/(8-1)=0.57

x=7 y=4

P0=2y-x=1

2y=8 2y-2x=-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所示,其顶点为V1、V2、V3、V4、V5、V6,边为E1、E2、E3、E4、E5、E6。用多边形的扫描填充算法对此多边形进行填充时(扫描线从下到上)要建立边分类表(sorted edge table)并不断更新活化边表(active edge list)。

在表1中填写边分类表中每条扫描线上包含的边(标明边号即可);

在表2中写出边分类表中每条边结构中各成员变量的初始值

(3) 指出位于扫描线y=6,7,8,9和10时活化边表中包含那些边,并写出这些边中的x值、ymax值、和斜率的倒数值1/m。

x4

x

4

8

1

图1多边形的边和顶点

y

1

4

8

2

3

5

6

7

9

10

2

3

5

6

7

9

10

V1

V2

V3

V4

V5

V6

E1

E2

E3

E4

E5

E6

表1边分类表

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

1

2

3

4

5

6

7

8

9

10

表2 边的初始值

表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

3. 二维变换

(1) 记P(xf,yf)为固定点,sx、sy分别为沿x轴和y轴方向的缩放系数,请用齐次坐标(Homogeneous Coordinate)表示写出二维固定点缩放变换的变换矩阵。

(2) 把以A(0,0)、B(1,1)和C(5,2)为顶点的三角形以顶点C为固定点放大2倍。求出放大后的三角形的顶点坐标。

(1)

(2)?平移这个对象,使得他的固定点与原点重合

?缩放这个在坐标原点的对象

?平移这个对象,使得他的固定点回到原始位置

所以 A(-5,-2) B(-3,0) C(5,2)

4二维变换

(1) 请用齐次坐标表示写出点Q(x,y)绕定点P(a,b)旋转的旋转变换矩阵。

(2) 求出以A(0,0)、B(1,1)和C(5,2)为顶点的三角形绕固定点P(-1,-1)点旋转450后的三角形的顶点坐标。

(1)

x’

x’=xr+(x- xr)cos θ -(y- yr)sin θ

y’=yr+(x- xr)sin θ +(y- yr)cos θ

(2)?平移这个对象,使得他的固定点与原点重合

?旋转这个在坐标原点的对象

?平移这个对象,使得他的固定点回到原始位置

A(-1,-1+) B(-1,-1+2) C(-1+3/2*,-1+9/2*)

5. 如图所示,L(-3,1)和R(2,6)为正方形裁剪窗口两个对角线角点,线段AB、CD、EF、GH和IJ为被裁剪线段。用Cohen-Sutherland线裁剪算法进行裁剪时要对线段的端点进行编码。

(1) 请写出编码规则,并在图中标出相应区域的编码

(2) 分别指出于点A、B、C、D、E、F、G、H对应的编码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值