矩阵论——三维图形应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
矩阵在计算机三维图形变换中的应用
矩阵在计算机三维图形变换中的应用
摘要:论述如何利用矩阵的变换性质实现计算机的三维图形变换,主要是通过平移、缩放和旋转三种基本变换的组合来实现的,利用矩阵可以是图形处理高速化。
关键词:平移、缩放、旋转
1 引言
三维图形图像的处理,显示和形体构造需要使用三维几何变换,这些变换是通过基本的平移,缩放和旋转组合而成的,每一个变化都可以表示为矩阵变换的形式,通过矩阵的相乘或连续可以构造复杂的变换。
2 矩阵与图形变换
计算机对图形的处理,经常用到各种变换,若用解析式表示坐标变换,计算过程和缩放程序都很复杂,用矩阵表示图形的坐标变换,特别是复合变换就显得比较简单,利用矩阵进行计算,可使图形处理高速化。
事实上,对于一个空间图形,图形上每一个点都对应着唯一的坐标(x,y,z),它的标准化齐次坐标为一个四维的向量。
设T为4 X 4变换矩阵:
其个元素的性质为:a,b,c,d,e,f,g,h,i产生比例,反射,旋转,错位变换,l,m,n
产生沿x轴,y轴,z轴的平等移动。P,q,r产生透视变换,s产生全比例变换。
利用变换矩阵T可以对三维坐标进行各种变换,其基本关系式为:
一般地,对图形对平移变换的变换矩阵为:
其中l,m,n分别沿x轴,y轴,z轴的方向的平移量,其坐标关系式为:
对图形做比例变换矩阵为:
a,e,i分别表示坐标x,y,z的放大率,其坐标关系为:
当a,e,i均等于1时,则变换矩阵为:
T=
1000 0100 0010 000s ⎛⎫ ⎪ ⎪ ⎪ ⎪⎝⎭
这时T产生全比例变换,其中S为整个图形的放大率,当s>1时整个图形缩小,当s<1时整个图形放大。对图形作错移变换的变换矩阵为:
T=
10
10
10 000
d g
b h
c f
s ⎛⎫ ⎪ ⎪ ⎪ ⎪⎝⎭
对图形作关于xoy平面的反射变换的变换矩阵为:
T=
1000 0100 0010 0001⎛⎫ ⎪ ⎪ ⎪
-
⎪⎝⎭
将图形绕x轴旋转角α的变换矩阵为:
T=
1000 0cos sin0 0sin cos0 0001⎛⎫ ⎪
αα
⎪ ⎪-αα
⎪⎝⎭
将图形绕y轴旋转角α的变换矩阵为:
T=
cos0sin0
0100 sin0cos0
0001
α-α
⎛⎫ ⎪ ⎪ ⎪αα
⎪⎝⎭
如果要对图形连续施行几种变换,则它的变换矩阵就是几个相应变换后矩阵的乘积,如对点A(x,y,z)先作比例变换,然后再绕y轴旋转角α,则新旧坐标关系为:
(x,y,z,1)
000
000
000
0001
a
e
i
⎛⎫
⎪
⎪
⎪
⎪
⎝⎭
cos0sin0
0100
sin0cos0
0001
α-α
⎛⎫
⎪
⎪
⎪
αα
⎪
⎝⎭
=()
*
**1
y
x z
3 利用矩阵进行三维图形变换
设三维孔家那种任意一点的齐次坐标p(x,y,z,1),作三维图形得打的点的齐次坐标为p’(x’,y’,z’,1)可得下面三维图形集合变换矩阵。
3.1 平移变换
平移变换课将指定形体从当前位置移到一个新的位置,而不改变其方向和大小。
式中,D x,D y,D z分别是沿x轴,y轴,z轴方向上的平移量,图1是三维平移变换示意图。
3.2 比例变换
比例缩放变换指定形体的大小,该比例变换以坐标原点为参考点,上式中的分别是沿x轴,y轴,z轴方向上的缩放比例,图2是以坐标原点为参考点的三维比例变换示意图。
如果要以三维空间中的任意一点(x0,y0,z0)为参考点作比例变换,先平移至原点作比例变换后再平移回到点(x0,y0,z0),比例变换矩阵为:
3.3 旋转变换
三维旋转变换是指空间形体绕坐标轴旋转角,旋转的正方向通常按右手定则确定,即右手拇指指向转轴方向,其余四指指向便是旋转角θ的正交(如图3)。旋转变换后形体的大小和形状不发生变化,只是空间位置相对原位置发生了变化。
绕x轴旋转:
,其中θ为图形绕x轴旋转的角度;
绕y轴旋转:
其中θ为图形绕y轴旋转的角度;
绕z轴旋转:
其中θ为图形绕z轴旋转的角度。
4 旋转矩阵
设o-x 1y 1z 1和o-x k y k z k 是以o 为同一原点的不同坐标系,对应的基向量分别为l e
和
k
e
,则同一矢量可以用两种不同的基表示出来。
,其中
为向
量
的坐标阵列,右边等式的两边用1e 点乘,得到:,其中A lk
为3X3标量矩阵,定义为:由此式可
以判断,相同元素之间的选择矩阵为三阶单位矩阵,即A ll (A kk )=E ,并且于实际
情况
符合。我们用以下算例来实现旋转阵的应用:
5 三维图形变换的统一矩阵面
计算机绘制物体的投影图,是将三维空间的物体用二维平面上的图形来表示,因此,需要进行图形变换,而进行图形变换行之有效的方法是矩阵机器运算。常用的三维图形变换矩阵有绕z轴的旋转矩阵S1,绕x轴的旋转矩阵S2,平移矩阵S3,向y面的正投影矩阵S4,它们分别为
其中, φ分别为绕z轴和x轴旋转的角度,l,m,n为平移参数