【Computer Graphics】计算机图形学之基础变换矩阵

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


   变换矩阵 (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</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值