计算机图形学-图形的几何变换
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
贵州大学实验报告
学院:计算机科学与技术专业:软件工程班级:软件132 姓名常伟学号1308060226 实验地点一教704 实验时间2016.5.9 指导教师李智实验成绩
实验项目名称试验四、图形的几何变换
实验目的1.掌握矢量运算。
2.熟练使用齐次坐标。
3.掌握采用齐次坐标进行几何变换。
实验要求1.理解几何图形变换的原理,编程实现图形的几何变换。
2.编程界面友好,实现变换的所有方式,包括平移、缩放、旋转、对称、错切以及基本变换基础上的组合变换。
3.几何变换使用矩阵进行运算。
实验原理
二维齐次坐标变换的矩阵的形式是
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
i
h
g
f
e
d
c
b
a
这个矩阵的每一个元素都是有特殊含义的。其中,⎥
⎦
⎤
⎢
⎣
⎡
e
d
b
a
可以对图形进行缩放、旋
转、对称和错切等变换;⎥
⎦
⎤
⎢
⎣
⎡
f
c
是对图形进行平移变换;[]h
g是对图形作投影变换;[]i 则是对图形进行缩放变换。
下面给出几个基本变换的矩阵运算。
1.平移变换
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
=
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
+
+
=
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
=
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎣
⎡
1
)
,
(
1
1
1
1
1
1
'
'
y
x
T
y
x
y
x
t
t
t
t
t
t
y
x
y
x
y
x
y
x
2.缩放变换
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
=
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
∙
∙
=
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
=
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
1
)
,
(
1
1
1
1
'
'
y
x
s
s
S
y
s
x
s
y
x
s
s
y
x
y
x
y
x
y
x
3.旋转矩阵
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
=
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
+
-
=
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡-
=
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
1
)
(
1
cos
sin
sin
cos
1
1
cos
sin
sin
cos
1
'
'
y
x
R
y
x
y
x
y
x
y
x
θ
θ
θ
θ
θ
θ
θ
θ
θ
4.对称矩阵
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
+
+
=
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
=
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
1
1
1
1
'
'
ey
dx
by
ax
y
x
e
d
b
a
y
x
对称变换其实只是a、b、d、e取0、1等特殊值产生的一些特殊效果。
5.错切变换
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
+
+
=
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
=
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
1
1
1
1
1
1
'
'
y
dx
by
x
y
x
d
b
y
x