向量与矩阵的一些思考

911 阅读3分钟

向量加减

image.png

  • 空间上:相减的话,a向量减b向量 最后箭头指向a向量那边
  • 数值上:直接相加减

矩阵相乘与张量空间

image.png

  • 数值上:前面一个矩阵决定行数,后面那个矩阵决定列数,以此获得新的矩阵,后面那个矩列与列之间的关系不大
  • 空间上:前一个矩阵是新的张量空间,后面那个是一个0,0,0张量空间的坐标

复合矩阵

image.png

  • 空间上:两次张量空间的作用
  • 数值上:如下图 , 后面两列是0,0张量空间的两个坐标 image.png

逆矩阵

image.png

  • 张量空间的向量都在一个直线的话,秩为1
  • 张量空间的向量都在一个平面的话,秩为2
  • 张量空间的向量都在一个三维的话,秩为3

点积

  • 数值上:两个一列向量一一相乘后相加;
  • 空间上:|a||b|cos另个夹角;

叉乘

  • 物理意义是获取面积,也获取第三向量, image.png

缩放矩阵

image.png

  • 因为能直接影响到坐标的值,k1影响到的是X的值,k2影响到的是Y,k3影响到的是Z
  • 缩放矩阵是对角矩阵,缩放矩阵的转置等于他本身
  • 缩放矩阵的逆矩阵就是各个数的倒数

旋转矩阵

[公式] [公式]

  • 旋转XYZ轴

    • 旋转X轴,X轴上的参数不变 image.png
    • 旋转Y轴,Y轴上的参数不变 image.png
    • 旋转Z轴,Z轴上的参数不变 image.png
  • 根据定义,旋转 [公式] 角度和旋转 [公式] 角度是互逆的,即: [公式] 。

  • 所以,对于旋转变换,可以得出旋转矩阵的逆等于它的转置,即: [公式] 

  • 因为转置矩阵比逆矩阵要容易用一点.所以要求这个

  • (RT)^-1 = R 旋转矩阵的转置矩阵的逆矩阵等于旋转矩阵

  • 旋转矩阵是正交矩阵

正交矩阵

  • 正交矩阵(Orthogonal Matrix)是指其转置等于其逆的矩阵。
  • [公式]

转置与逆矩阵

  • [公式]
  • [公式]
  • [公式]
  • 可以这样来建立等式

转换

MA = (A(T)M(T))(T) (T)表示转置矩阵

模型矩阵

image.png

  • 缩放,旋转,偏移而形成的模型矩阵
  • 如果是一个模型想回到中心,就要先平移,旋转,缩放

相机透视矩阵与正交矩阵

image.png image.png

  • 正交矩阵:最后一个数是1,第四列都有(因为要偏移),第三列最后一个为0
  • 透视矩阵:最后一个数是0,第四列只有第三行有(只需要偏移Z轴),第三列最后一个为1
  • 所以已知视口坐标下的z的值,就能获得w
float clipW = cameraProjectionMatrix[2][3] * viewZ + cameraProjectionMatrix[3][3];

uniform里面的矩阵是竖着写的

image.png

  • 这个是透视投影矩阵

两单位向量正交化, 格拉姆-施密特正交化

image.png image.png

通过N,V单位向量,计算反射向量R

vec3 R = normalize( (2.0 * NoV ) * N - V);

局部坐标与世界坐标

  • 世界坐标就是父坐标
  • 局部坐标是相对于父坐标而言

Pow

  • Pow的作用往往是让数值变得更小