计算机图形学练习题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、已知一直线段起点(0,0),终点(8,6),利用Bresenham 算法生成此直线段,写出生成过程中坐标点及决策变量d 的变化情况,并在二维坐标系中,标出直线上各点。

评分标准:按如下答案所写可得全分。如给出Bresenham 的基本思想,可得2分,给出程序得3分,给出e 得计算公式可得2分,给出图示得3分。思路或步骤正确,中间座标点算错,酌情处理。

00x y =⎧⎨

=⎩0.50.750.50.250e m =-=-=> 11x y =⎧⎨=⎩

0.250.75100e =+-=>=22x y =⎧⎨=⎩00.7510.250e =+-=-<= 3

2x y =⎧⎨

=⎩

0.250.750.50e =-+=>=43x y =⎧⎨=⎩0.50.7510.250e =+-=>=5

4

x y =⎧⎨

=⎩0.250.75100e =+-=>=65x y =⎧⎨

=⎩00.7510.250e =+-=-<= 75x y =⎧⎨=⎩

0.250.750.50e =-+=>=86x y =⎧⎨=⎩

2、试用中点画圆算法原理推导第一象限中y=0到x=y 半径为R 的圆弧段的扫描转换算法。(要求写清原理、误差函数和递推公式,并进行优化)

评分标准:

(1)圆的中点Bresenham 的原理是在第一象限中y=0到x=y :每次在主位移方向x 上走一步,y 方向上退不退步取决于中点偏差判别式的值。

(2)偏差判别式:

222)5.0()1()5.0,1(),(R y x y x F y x F d i i i i M M --++=-+==

y 方向的变化情况:

⎩⎨⎧≥<=+)0(

1-)0(

1d y d y y i i

i (3)递推公式:

当d<0时,下一步的中点坐标为:M (x i +2,y i -0.5)。所以下一步中点偏差判别式为:

2221)5.0()2()5.0,2(R y x y x F d i i i i i --++=-+=+

3232)5.0()1(222++=++--++=i i i i i x d x R y x

当d ≥0时,下一步的中点坐标为:M (x i +2,y i -1.5)。所以下一步中点偏差判别式为:

2

221)5.1()2()5.1,2(R y x y x F d i i i i i --++=-+=+5

)(2)22(32)5.0()1(222+-+=+-+++--++=i i i i i i i y x d y x R y x

(4)中点偏差判别式的初值:

R R R R F d -=--+=-=25.1)5.0(1)5.0,1(220

(5)算法设计:

1) 输入圆的半径R 。

2) 定义圆当前点坐标x ,y 、定义中点偏差判别式d 、定义像素点颜色rgb 。 3) 计算R d -=25.1,x=0,y=R ,rgb =RGB(0,0,255)。 4) 判断d 的符号。若d<0,则(x ,y )更新为(x +1,y ),d 更新为d+2x +3;否则

(x ,y )更新为(x +1,y -1),d 更新为d +2(x -y )+5。 5) 当x 小于等于y ,重复步骤⑷,否则结束。

3、如下图所示多边形,若采用扫描线算法进行填充,试写出该多边形的ET 表和当扫描线Y=3时的有效边表(AET 表)。

解:边表:

4、试按左下右上顺序用四向算法,分析当S1为种子时,下图区域的填充过程。

S12345

6789

10

11

12

答案:S1→8→7→6→3→4→12→11→10→2→9→5

5、将下图中的多边形ABCD 先关于点C(3,4)整体放大2倍,再绕点D (5,3)顺时针旋转90 ,试推导其变换矩阵、计算变换后的图形各顶点的坐标,并画出变换后的图形。

Y=3

4/3 4 -3

4 5 -1

4 5 1

AF

DE DC

BC

1 2 3 4 5

2 4 -3

2 1 0

AF ABBBBB 4 5 -1

4 5 1

1 5 1

FE

DE

DC

(1) 关于点C (3,4)整体放大2倍

⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--==143020002143010001100020002143010001321T T T T

(2) 绕点D (5,3)顺时针旋转90度

⎥⎥

⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡︒-︒--︒-︒-⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=1350100011000)90cos()90sin(0)90sin()90cos(135010001

'T

(3) 变换矩阵T 总

=T*T’=⎥⎥⎥⎦⎤

⎢⎢⎢⎣⎡--1112002020 (4)⎥⎥

⎥⎥⎦⎤

⎢⎢⎢⎢⎣

⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡135143131111''''D C B A

6、已知三角形ABC 各顶点的坐标A(3,2)、B(5,5)、C(4,5),相对直线P 1P 2(线段的坐标分别为:P 1 (-3,-2) 、P 2 (8,3) )做对称变换后到达A’、B’、C’。

试计算A’、B’、C’的坐标值。(要求用齐次坐标进行变换,列出变换矩阵,列出计算式子,不要求计算结果)

解:(1)将坐标系平移至P 1 (-3,-2)点:

⎥⎥

⎥⎦⎤

⎢⎢⎢⎣⎡=123010001A T (2)线段P 1P 2与X 轴夹角为

115

arctg

=θ (3) 顺时针方向旋转θ角:

cos sin 0sin cos 000

1B T θ

θθ

θ

-⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦

(4)关于X 轴对称:

1

00

10001C T ⎡⎤

⎢⎥=-⎢⎥⎢⎥⎣⎦

相关文档
最新文档