什么是线性变换?
假设有一数学函数,使得三维向量,有。那么,如果满足:
那么,称为线性变换。
线性变换的矩阵表示
缩放变换
易知,缩放变换。那么,我们尝试证明一下它是线性变换:
综上,我们证明了缩放变换是线性变换。由之前线性变换的矩阵表示,我们可以推导缩放变换的矩阵表示为
旋转变换
我们定义旋转变换为将一个向量绕任意轴顺时针旋转角度,如图所示:
由图可知,我们要求的就是将向量绕向量旋转角度后得到的。首先,我们注意到在旋转过程中,与旋转轴平行的向量是不参与旋转过程的,只有与旋转轴垂直的向量在真正旋转。因此可以将向量分解为与平行的向量和垂直的向量。即:
那么
其中,平行向量是向量在旋转轴上的投影。这里假定,旋转轴向量是归一化过的,即单位向量。由向量投影的定义,可得到
进而可得
接下来,我们只要求得旋转后的即可。注意到已知的,且这两个向量都位于同一个圆的旋转平面上,因此只要再得到一个垂直于的向量,且向量与这两个向量共面,就可以通过旋转角度算出向量了:
那么,怎样的是满足以上条件的呢?注意到向量的叉积的几何意义:两向量的叉积后得到的向量与这两个向量是垂直的。所以,我们令
向量前面的系数是为了让向量的模与相等。这样就求出了满足条件的。特别地,由向量叉积的定义,可以将上式简化为
由图可知,,而向量是单位向量,所以得到:
综合以上若干等式,求出最终的为
回到线性变换的定义来,旋转变换。将其代入上式,可以得到
根据线性变换的定义,容易证明旋转变换是一种线性变换。那么,旋转变换的矩阵表示为:
其中,分别为向量的三个分量。