基础变换矩阵
变换矩阵 (Transformation Marices)在图形学中的重要性不用多说,一切物体的
缩放,
旋转,
位移,都可以通过变换矩阵作用得到。同时在
投影 (projection) 变换的时候也有很多应用,本文将会介绍一些简要的变换矩阵。
我们将如下式所示的简单矩阵乘法定义为对向量 ( x , y ) T (x,y)^T (x,y)T的线性变换。
[ a 11 a 12 a 21 a 22 ] [ x y ] = [ a 11 x + a 12 y a 21 x + a 22 y ] \begin{bmatrix} {a_{11}}&{a_{12}}\\ {a_{21}}&{a_{22}}\\ \end{bmatrix} \begin{bmatrix} {x}\\ {y}\\ \end{bmatrix} = \begin{bmatrix} {a_{11}x}+{a_{12}y}\\ {a_{21}x}+{a_{22}y}\\ \end{bmatrix} [a11a21a12a22][xy]=[a11x+a12ya21x+a22y]
一、缩放变换(scaling)
缩放变换是一种沿着坐标轴作用的变换,定义如下:
s c a l e ( s x , s y ) = [ s x 0 0 s y ] scale(s_x,s_y) = \begin{bmatrix} {s_x}&{0}\\ {0}&{s_y}\\ \end{bmatrix} scale(sx,sy)=[sx00sy]
该矩阵对带有笛卡尔分量的向量进行了变化,将所有的点变为 ( s x x , s y y ) T (s_xx,s_yy)^T (sxx,syy)T。
[ s x 0 0 s y ] [ x y ] = [ s x x s y y ] . \begin{bmatrix} {s_x}&{0}\\ {0}&{s_y}\\ \end{bmatrix} \begin{bmatrix} { x}\\ { y}\\ \end{bmatrix} = \begin{bmatrix} { s_xx}\\ { s_yy}\\ \end{bmatrix}. [sx00sy][xy]=[sxxsyy].
示例1:均匀缩放

上图为将 x x x 和 y y y 均匀缩小2倍的矩阵,轴对齐的缩放矩阵具有比例,每个对角线元素的变化,而非对角线元素的变化为零。
示例2:非均匀缩放

此例将原图在水平方向上减半,在垂直方向上增加三倍。缩放矩阵是对角的,且为不相等元素。此时,时钟的方形轮廓变成了矩形,而圆形的面变成了矩形一个椭圆。
二、反射变换(Reflection)
反射变换是一种基础的线性变换,我们可以通过上诉的缩放变换来反射任意坐标轴上的向量。
关于 y y y</

本文介绍了图形学中常见的变换矩阵,包括缩放、反射、剪切、旋转和平移变换。每种变换都通过矩阵形式给出,并提供了实例说明。适用于初学者理解和掌握基本图形变换。
最低0.47元/天 解锁文章
1253

被折叠的 条评论
为什么被折叠?



