3192人加入学习
(17人评价)
Unity Shader入门(Unity2018.3)

完成与2019-03-31

价格 ¥ 380.00
该课程属于 Unity - A计划(一年有效期) 请加入后再学习

矩阵知识总结

--------------------------

矩阵乘法特点:

      1) MI = IM = M       //矩阵乘以单位矩阵 等于 单位矩阵乘以矩阵

      2) AB ≠ BA           //矩阵不满足交换律

      3) (AB)C = A(BC)   //矩阵满足结合律

      4) (kA)B = k(AB) = A(kB) //矩阵满足线性运算律

      5) (vA)B = v(AB)     //满足向量运算的结合律

      6) (AB)^T = B^T A^T // 矩阵AB的转置 等于 矩阵B的转置乘以矩阵A的转置

      7) (M_1 M_2 ... M_n)^T = (M_n)^T (M_(n-1))^T ... (M_1)^T

==========================================================

向量与矩阵相乘

      1) 行向量只能左乘矩阵      //适用于DX

      2) 列向量只能右乘矩阵      //适用于OpenGL

==========================================================

矩阵旋转

      二维旋转矩阵

                       ┌ p' ┐  ┌ Cosθ   Sinθ  ┐

            R(θ) = └ q' ┘  └ -Sinθ   Cosθ ┘

      三维旋转矩阵

 

           X轴旋转

                            ┌ p' ┐  ┌  1            0           0   ┐

                 R(θ) = │ q' │  │  0       Cosθ     Sinθ  │

                            └ r'  ┘  └  0       -Sinθ     Cosθ ┘

 

           Y轴旋转

                            ┌ p' ┐  ┌ Cosθ     0      -Sinθ ┐

                 R(θ) = │ q' │  │   0          1            0 │

                            └ r'  ┘  └  Sinθ      0     Cosθ ┘

 

           Z轴旋转

                            ┌ p' ┐  ┌ Cosθ   Sinθ      0 ┐

                 R(θ) = │ q' │  │ -Sinθ   Cosθ     0 │

                            └ r'  ┘  └    0          0        1 ┘

 

           任意n轴旋转矩阵

                                ┌ p' ┐      ┌   (n_x)^2(1-Cosθ)+Cosθ        n_xn_y(1-Cosθ)-n_zSinθ      n_xn_z(1-Cosθ)+n_ySinθ ┐

                 R(n,θ) =  │ q' │  =  │ n_xn_y(1-Cosθ)+n_zSinθ     (n_y)^2(1-Cosθ)+Cosθ         n_yn_z(1-Cosθ)-n_xSinθ  │

                                └ r'  ┘      └  n_xn_z(1-Cosθ)-n_ySinθ      n_yn_z(1-Cosθ)+n_xSinθ      (n_z)^2(1-Cosθ)+Cosθ    ┘

==========================================================

矩阵缩放

      二维沿轴缩放矩阵

                                    ┌ k_x      0    ┐ 

              S(k_x, k_y) = └   0      k_y  ┘

 

      三维沿轴缩放矩阵

 

                                          ┌ k_x      0        0    ┐ 

            S(k_x, k_y, k_z) = │   0      k_y      0    │

                                          └   0        0      k_z  ┘

      二维沿任意方向缩放矩阵

                          ┌ p' ┐      ┌ 1 + (k-1)(n_x)^2     (k-1)n_xn_y     ┐

            S(n,k) = └ q' ┘  =  └    (k-1)n_xn_y      1 + (k-1)(n_y)^2 ┘

            note:缩放系数k,缩放轴n;

      三维沿任意方向缩放矩阵

                          ┌ p' ┐      ┌ 1 + (k-1)(n_x)^2     (k-1)n_xn_y          (k-1)n_xn_z    ┐

            S(n,k) = │ q' │  =  │    (k-1)n_xn_y      1 + (k-1)(n_y)^2     (k-1)n_yn_z     │

                          └ r' ┘      └     (k-1)n_xn_z        (k-1)n_zn_y      1 + (k-1)(n_z)^2  ┘

==========================================================

正交投影

      二维

            向X轴投影

                                                  ┌  1    0  ┐

                  p_x = S([ 0, 1 ], 0) =└  0    0  ┘

 

            向Y轴投影

                                                  ┌  0    0  ┐

                  p_y = S([ 1, 0 ], 0) =└  0    1  ┘

            

            向任意直线投影的2D矩阵

                                           ┌  1 - (n_x)^2    -n_x n_y  ┐

                  p(n) = S(n,0) = └   -n_x n_y      1 - (n_y)^2  ┘

      三维

            向XY平面投影

                                                      ┌  1    0    0  ┐

                  p_xy = S([0, 0, 1], 0) =│  0    1    0  │

                                                      └  0    0    0  ┘

            向XZ平面投影

                                                      ┌  1    0    0  ┐

                  p_xz = S([0, 1, 0], 0) =│  0    0    0  │

                                                      └  0    0    1  ┘

            向YZ平面投影

                                                      ┌  0    0    0  ┐

                  p_yz = S([1, 0, 0], 0) =│  0    1    0  │

                                                      └  0    0    1  ┘

            向任意平面投影的3D矩阵

                                           ┌  1 - (n_x)^2    -n_x n_y     -n_x n_z   ┐

                  p(n) = S(n,0) = │   -n_x n_y      1 - (n_y)^2    -n_y n_z  │

                                           └  -n_x n_z       -n_z n_y    1- (n_z)^2   ┘

==========================================================

切变

      2D切变矩阵

                           ┌  1    0  ┐ 

            H_x(s) = └  s    1  ┘

 

                           ┌  1    s  ┐ 

            H_y(s) = └  0    1  ┘

 

      3D切变矩阵

 

                                 ┌  1    0    0  ┐ 

            H_(xy)(s,t) = │  0    1    0  │

                                 └  s    t    1   ┘ 

 

                                 ┌  1    0    0  ┐ 

            H_(xz)(s,t) = │  s    1    t   │

                                 └  0    0    1  ┘ 

 

                                 ┌  1    s    t   ┐ 

            H_(yz)(s,t) = │  0    1    0  │

                                 └  0    0    1  ┘ 

 

==========================================================

行列式

      e.g.

                    |  m_11    m_12  | 

            |M| = |  m_21    m_22  |  =  m_11m_22 - m_12m_21

      e.g.2

                     |  m_11    m_12    m_13  | 

            |M| = |  m_21    m_22    m_23  | 

                     |  m_31    m_32    m_33  | 

       

            |M| = m_11m_22m33 +m_12m_23m_32 + m_13m_21m_32 - m_13m_22m_31 - m_32m_23m_11 - m_21m_12m_33 ;

 

[展开全文]

授课教师

课程特色

下载资料(1)
视频(184)

学员动态