第一章_基础_1.2.2数学基础_矩阵运算

基础夯实

  • 数学基础

    • 1.向量运算
    • 2.矩阵运算
      • 什么是线性:

        • 代数方面:线性方程
          • 线性方程具有
          • 可加性:\(f(x_1+x_2)=f(x_1)+f(x_2)\)
          • 比例性:\(f(kx)=kf(x)\)
        • 几何方面:线性空间
          • 线性空间特征:
            • 变换时坐标原点保持固定
            • 直线变换后依旧是直线
          • 非线性空间特征:
            • 空间扭曲,变换之后空间不等距
            • 坐标原点有位移
      • 代数计算

        • 求解线性方程组
          • \( \left\{\begin{matrix} 2x+3y=1 \\ x+y=1 \end{matrix}\right. \)
            转化成向量方程
            \( \begin{bmatrix} 2 & 3 \\ 1 & 1 \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix}= \begin{bmatrix} 1 \\ 2 \end{bmatrix} \)
            解:先转化为增广矩阵
            \( \begin{bmatrix} 2&3&1\\1&1&2 \end{bmatrix} \)
            通过初等行变换再转化成阶梯形矩阵
            \( \begin{bmatrix} 1&0&5\\0&1&-3 \end{bmatrix} \)
            得出x=5,y=-3
          • 标准坐标系矩阵为:
            \( \begin{bmatrix} 1&0&5\\0&1&-3 \end{bmatrix} \)
            转换到非标准线性空间坐标系
            \( \begin{bmatrix} 2&3&1\\1&1&2 \end{bmatrix} \)
            也就是说象征这标准坐标系的单位矩阵通过左乘一个线性矩阵可以将一个位于标准坐标系下的点转换到另外一个线性空间,这也是为什么推荐用列空间思考矩阵变换。
      • 矩阵

        • 矩阵的定义:
          一个m*n的矩阵是一个由m行n列元素排列成的矩形阵列
          例子:2行3列
          \(\begin{bmatrix} 5&1&-3\\-2&4&6 \end{bmatrix}\)

        • 特殊的矩阵:
          方阵:行数列数相等:
          \(\begin{bmatrix} 5&1\\-2&4 \end{bmatrix}\)
          单位矩阵\(I\)
          \(\begin{bmatrix} 1&0&0\\0&1&0\\0&0&1 \end{bmatrix}\)
          零矩阵\(O\)
          \(\begin{bmatrix} 0&0\\0&0 \end{bmatrix}\)

        • 矩阵的加减法:只有行列数相等的矩阵才能相加减
          \(\begin{bmatrix} a_{11}&a_{12}\\a_{21}&a_{22} \end{bmatrix} \pm \begin{bmatrix} b_{11}&b_{12}\\b_{21}&b_{22} \end{bmatrix}= \begin{bmatrix} a_{11} \pm b_{11} & a_{12} \pm b_{12} \\ a_{21} \pm b_{21} & a_{22} \pm b_{22} \end{bmatrix}\)
          满足交换律和结合律:
          \(A+B=B+A;\)
          \((A+B)+C=A+(B+C)\)
          几何意义:(单位向量的变换)
          将对应的单位向量(列向量)进行线性变换(相加)转换到新的线性空间的单位向量

        • 矩阵数乘
          \( k\begin{bmatrix} a_{11}&a_{12}\\a_{21}&a_{22} \end{bmatrix}= \begin{bmatrix} a_{11}&a_{12}\\a_{21}&a_{22} \end{bmatrix}k= \begin{bmatrix} ka_{11}&ka_{12}\\ka_{21}&ka_{22} \end{bmatrix} \)
          几何意义:(单位向量,线性空间的缩放)

        • 矩阵乘法:\(m*n\)的矩阵只能跟 \(n*p\)的矩阵相乘,相乘之后的结果为\(m*p\)

          • 定义:A=\((a_{ij})\)\(m*n\)的矩阵,B=\((a_{ij})\)\(n*p\)的矩阵,矩阵A和矩阵B的乘积为\(m*p\)的矩阵C=\((c_{ij})\)\(c_{ij}=a_{i*} \cdot b_{*j} i=(1,....,m),j=(1,....,n)\)
          • 几何意义:坐标空间的变换
          • 运算律:
            \(交换律:不一定满足;\)
            \(数乘交换律:k(AB)=(kA)B=A(kB);\)
            \(结合律:(AB)C=A(BC);\)
            \(分配律:A(B+C)=AB+AC;\)
        • 矩阵的转置:将矩阵的A的行换成同序数的列,即:\(A=(a_{ij}),A^T=(a_{ji})\)

          • 矩阵转置的性质:
            \((A^T)^T=A\)
            \((AB)^T=B^TA^T\)
            \((A+B)^T=A^T+B^T\)
            OpenGL存储矩阵是按行优先的显示存储的,而D3D则是列优先
            unity存储矩阵[列优先]
            row(行) 0 1 2 3
            column(列)0 m00 m10 m20 m30
            1 m01 m11 m21 m31
            2 m02 m12 m22 m32
            3 m03 m13 m23 m33
        • 矩阵的逆:
          \(I=AA^{-1}=A^{-1}A\)
          求矩阵的逆:将矩阵变换到单位矩阵时所用的左乘的矩阵全部乘在一起就等于所求矩阵的逆
          运算律:
          \(A\)可逆,则\(A^{-1}\)也可逆,\((A^{-1})^{-1}=A\)
          \(A\)可逆,数\(\lambda\neq 0\)\(\lambda A\)可逆,\((\lambda A)^{-1}=\frac{1}{\lambda}A^{-1}\)
          \(A\),\(B\)为同阶矩阵且均可逆,则\(AB\)也可逆,\((AB)^{-1}=B^{-1}A^{-1}\)
          \(A\)可逆,则\(A^T\)也可逆,\((A^T)^{-1}=(A^{-1})^T\)

      • 几何变换

        • 几何坐标变换
          • 常见的变换矩阵:
            纵向拉伸矩阵:\(\begin{bmatrix}1&0\\0&c\end{bmatrix}\)
            缩放矩阵:\(\begin{bmatrix}a&0\\0&b\end{bmatrix}\)
            斜切矩阵:\(\begin{bmatrix}1&k\\0&1\end{bmatrix}\)
            旋转矩阵:\(\begin{bmatrix}cos\theta&-sin\theta\\sin\theta&cos\theta\end{bmatrix}\)
            houdini演示中cos($F3.6)代表当前Frame(帧数)3.6=>[0,360]
            镜面对称:\(\begin{bmatrix}0&1\\1&0\end{bmatrix}\)
            位移(仿射变换):\(\begin{bmatrix}1&0&a\\0&1&b\\ 0&0&1 \end{bmatrix}\)
          • 三维空间中的坐标变换
            缩放:\(\begin{bmatrix}a&0&0&0\\0&b&0&0\\ 0&0&c&0\\ 0&0&0&1 \end{bmatrix}\)
            绕X轴旋转:\(\begin{bmatrix}1&0&0&0\\0&cos\theta&-sin\theta&0\\ 0&sin\theta&cos\theta&0\\ 0&0&0&1 \end{bmatrix}\)
            绕Y轴旋转:\(\begin{bmatrix}cos\theta&0&sin\theta&0\\0&1&0&0\\ -sin\theta&0&cos\theta&0\\ 0&0&0&1 \end{bmatrix}\)
            绕Z轴旋转:\(\begin{bmatrix}cos\theta&-sin\theta&0&0\\sin\theta&cos\theta&0&0\\ 0&0&1&0\\ 0&0&0&1 \end{bmatrix}\)
            位移矩阵:\(\begin{bmatrix}1&0&0&t_x\\0&1&0&t_y\\ 0&0&1&t_z\\ 0&0&0&1 \end{bmatrix}\)
            Unity旋转顺序:Z轴,X轴,Y轴旋转
    • 3.MVP矩阵推导
    • 4.傅里叶变换
    • 5.其他
posted @ 2021-07-18 20:43  凶恶的真实  阅读(560)  评论(0)    收藏  举报