Unity中Shader矩阵的逆矩阵

文章目录

  • 前言
  • 一、逆矩阵的表示
  • 二、逆矩阵的作用
  • 四、逆矩阵的计算
  • 五、顺序的重要性
  • 六、矩阵的逆总结
    • 1、求矩阵的逆前,这个矩阵必须得是个方阵
    • 2、只有 A x A ^-1^ = A^-1^ x A = 1时,A的逆才是A^-1^
    • 3、求2x2矩阵的逆:交换 a 和 b 的位置,把负数放在 b 和 c 的前面,然后用行列式(ad - bc)除以矩阵每个值


前言

Unity中Shader中用到的矩阵的逆矩阵


一、逆矩阵的表示

矩阵 A 的逆矩阵为 A-1


二、逆矩阵的作用

因为矩阵中没有除法。所以使用乘以矩阵的逆矩阵来代替矩阵除法

Unity中Shader矩阵的逆矩阵_第1张图片
在上图中,我们要求出 X 矩阵,首先想到的是等式两边同时除以 A 矩阵
但是,矩阵中没有除法
所以,创造了逆矩阵用来乘
需要注意的是,矩阵乘法不符合乘法交换率。所以,乘的时候需要乘在需要消除的那一边


四、逆矩阵的计算

矩阵的逆矩阵需要计算到矩阵的行列式,所以逆矩阵的计算前提是矩阵是方阵
即 方阵 才有 逆矩阵

Unity中Shader矩阵的逆矩阵_第2张图片

对于 2x2 方阵,行列式分之一右边的部分,左对角交换位置,右对角乘以-1

Unity中Shader矩阵的逆矩阵_第3张图片


五、顺序的重要性

Unity中Shader矩阵的逆矩阵_第4张图片
乘在左边 和 乘在右边 是完全不同的


六、矩阵的逆总结

1、求矩阵的逆前,这个矩阵必须得是个方阵

2、只有 A x A -1 = A-1 x A = 1时,A的逆才是A-1

3、求2x2矩阵的逆:交换 a 和 b 的位置,把负数放在 b 和 c 的前面,然后用行列式(ad - bc)除以矩阵每个值

你可能感兴趣的:(Unity,矩阵,线性代数,unity,游戏引擎)