三维空间的线形变换

其实和二维也是完全相同的~ 三维的线形变换同样也由基向量的变换去向完全决定~
除了 x 方向的 i 帽 ,y方向的 j 帽,在三维多了一个z方向的k帽!
i^=⎣⎢⎡100⎦⎥⎤;j^=⎣⎢⎡010⎦⎥⎤;k^=⎣⎢⎡001⎦⎥⎤
同样的因为整个三维空间的向量,都可以根据三个基向量缩放得出!那么我们只考虑基向量的变换就可以了!
假设现在有一个变换,变换后的基向量分别为:

将变换后的基向量记录到一个 3*3 的矩阵中!这九个数字就能完全描述一个线形变换!
⎣⎢⎡10−1110101⎦⎥⎤
那么和二维的一样,通过这个矩阵我们也能算出任意向量在变换后的位置!
因为三维的实际案例不太容易演示!我们举一个比较容易想象的变换!来验证这个线形变换!
比如单纯沿着某一个标准的轴去旋转!比如沿着y轴去旋转这个三维空间!

因为沿着y轴进行线形变换,所以 j 帽的坐标不会发生变换!
i帽被移动到z轴的 (0,0,-1)上!
k帽被移动到x 轴的( 1,0,0)的位置!
这三组坐标就能形成描述这一旋转变换的三列
⎣⎢⎡00−1010100⎦⎥⎤
如果要知道某个向量(x,y,z)变换后的向量,计算方式就和二维下的一样!每一个坐标都对应着相对基向量的缩放!
[i&j& k ] \left[ \begin{array} \\{ x } \\ { y } \\ { z } \end{array} \right] = \left[ \begin{array} { ccc } { 0 } & { 0 } & { 1 } \\ { 0 } & { 1 } & { 0 } \\ { -1 } & { 0 } & { 0 } \end{array} \right] \left[ \begin{array} \\{ x } \\ { y } \\ { z } \end{array} \right] = x \left[ \begin{array} { c } { 0 } \\ { 0 } \\ { - 1 } \end{array} \right] + y \left[ \begin{array} { l } { 0 } \\ { 1 } \\ { 0 } \end{array} \right] + z \left[ \begin{array} { l } { 1 } \\ { 0 } \\ { 0 } \end{array} \right]
当遇到了三维中的复合变换,同样和二维函数调用的顺序一致!
fS(fR(a))
当然你也可以按照变换直接计算复合转换后的基向量!

和二维的一样!把变换后的每个方向的基向量 (i,j,k)
分别求出来,然后组合
(⎣⎢⎡051−21425−1⎦⎥⎤⎣⎢⎡036⎦⎥⎤)(⎣⎢⎡051−21425−1⎦⎥⎤⎣⎢⎡147⎦⎥⎤)(⎣⎢⎡051−21425−1⎦⎥⎤⎣⎢⎡258⎦⎥⎤)
第一次变换后的i帽变换第二次的求解,,jk同理求出后去组合=>0⎣⎢⎡051⎦⎥⎤+3⎣⎢⎡−214⎦⎥⎤+6⎣⎢⎡25−1⎦⎥⎤
总之,二维和三维的思想都差不多,只不过是多出了一个维度的计算!计算方式和思想都是一致的!
评论区