图形学 第四章图形变换
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章 图形变换
图形变换是计算机图形学的基础内容之一。图形在计算机上的显示可以比喻为用假想的照相机对物体进行拍照,并将产生的照片贴在显示屏上的指定位置进行观察的过程。三维物体要在屏幕上显示首先要做的就是投影变换。此外,还要求能够对物体进行旋转、缩放、平移变换。绘图过程还要用窗口规定显示物体的哪个部分,用视区来规定将窗口中的内容显示在屏幕上的什么位置。图形显示的过程见下图。
图4.1 图形显示的坐标变换过程
在本章中,我们将实现二维图形的几何变换、三维图形的投影变换,以及对图形进行裁剪的算法。
4.1变换的数学基础
在计算机图形学的图形变换过程中要大量的用到向量、矩阵以及它们之间的运算。本小节对这些知识做简要介绍。
一、向量及向量运算
一个物理量,如果我们只关心其数值的大小(例如物体的质量、体积、密度),则这样的量统称为标量,如果我们既关心其数值大小,还关心其方向(如速度),则这样的两统称为向量。标量一般用普通字体的英文字母显示,而向量一般用黑体英文字母显示。
设向量111(,,)x y z a ,222(,,)x y z b ,有关的向量运算有: (1) 两个向量的和、差运算
121212(,,)x x y y z z ±=±±±a b
(2) 两个向量的点乘运算
112233x y x y x y =++ a b
(3) 两个向量的叉乘运算
1
111221122112212
2
2
(,,)x y z y z y z z x z x x y x y x y z ⨯==---i
j k
a b (4) 向量的长度
||==a
二、矩阵及矩阵运算
由m n ⨯个数(1,2,,;1,2,,)ij a i m j n == 排成矩形表:
11
121212221
2n n
m m mn
a a a a a a a a a =
A
或简记成()ij mn a =A 或()ij m n a ⨯=A ,称为一个m 行n 列的矩阵,简称m n ⨯矩阵,ij a 叫做第i 行第j 列元素。当m n =时,A 叫做n 阶方针,此时元素(1,2,,)ii a i n = 称为主对角线元素。
只有一行的矩阵11121(,,,)n a a a 称为行向量,只有一列的矩阵11211m a a a ⎛⎫ ⎪ ⎪
⎪ ⎪⎝⎭
称为列向量。
有关矩阵的运算有 (1) 数乘矩阵
用标量t 乘A 的每一个元素而得的矩阵称为t 与A 的乘积,记为:t A
11
1212122212n n
m m mn
ta ta ta ta ta ta t ta ta ta =
A
(2) 矩阵的加法运算
设有两个m n ⨯矩阵A ,B ,将它们对应元素相加而得到的矩阵称为A 与B 的和,记为A +B
1111
1212112121
2222
2211
22n n
n n
m m m m mn mn
a b a b a b a b a b a b a b a b a b ++++++=
+++A +B
(3) 矩阵的乘法运算
设有矩阵23()ij a ⨯=A ,32()ij b ⨯=B ,则此二矩阵相乘的积为矩阵C :
111112211331111212221332211122212331211222222332a b a b a b
a b a b a b a b a b a b a b a b a b ++++⎛⎫= ⎪++++⎝⎭
C A B
可见,只有A 的列数等于B 的行数的时候,A B 才有意义。 矩阵运算有如下基本性质
(1) 数乘矩阵适合分配律和结合律
()t t t +=+A B A B ()t t =A B A B
1212()t t t t +=+A A A
1212()()t t t t =A A
(2) 矩阵加法适合结合律
+=+A B B A
()+=A B +C A +B +C
(3) 矩阵乘法对加法适合分配律
()()A B C =A B C
(4) 矩阵乘法不适合交换律,因为当两个矩阵A ,B 能够相乘时,B 与A 却未必能够相乘,即使A ,
B 都是方阵,A B 与B A 也未必相等。
()+=A B C A C+B C ()+=C A B C A +C B
在图形变换中还有用到如下的概念:
(1) 零矩阵及其运算
矩阵的所有元素均为零的矩阵称为零矩阵。一个m 行n 列的零矩阵记为m n ⨯0,对于任意的矩阵m n ⨯A 都与下式成立:
m n m n m n ⨯⨯⨯+=A 0A
(2) 单位矩阵
在一个方阵中,如果其主对角线元素全是1,而其余元素都是0,则称这样的矩阵为单位矩阵,记为n I 。对任意矩阵m n ⨯A ,有下式成立:
m n n m n ⨯⨯=A I A m m n m n ⨯⨯=I A A
(3) 逆矩阵
对于方阵A ,若存在矩阵B ,使得A B =I
,则称A 是可逆的,B 称为A 的逆,记为-1
A (4) 转置矩阵
将()ij m n a ⨯=A 的行、列互换而得到的n m ⨯矩阵,称为A 的转置矩阵,记为T
A 。矩阵的转置有如下的性质:
()=T T A A
()=+T T T A +B A B
()t t =T T A A