向量相乘
1. 点乘
两个向量的点乘等于他们的数乘结果乘以两个向量之间家教的余弦值。
v¯⋅k¯=||v¯||⋅||k¯||⋅cosθ
cosθ=v¯⋅k¯||v¯||⋅||k¯||
通过点乘的结果计算两个非单位向量的夹角
2. 叉乘
叉乘只在3d空间中有定义,他需要两个不平行向量作为输入,生成一个正交于两个输入向量的第三个向量
矩阵相乘
1. 矩阵相乘的限制:
a. 只有当左侧矩阵的列数与右侧矩阵的行数相等
b. 矩阵相乘不遵守交换律
c. 结果矩阵的维度是(n,m), n 等于左侧矩阵的行数,m等于右侧矩阵的列数
2. 缩放
3. 位移
4. 旋转
在3d空间中旋转需要定义一个角 和 一个旋转轴
沿任意轴(Rx,Ry,Rz)旋转:
5. 矩阵的组合
a. 当矩阵相乘时,要先写位移再写缩放变换(如果你先位移再缩放,位移的向量也会同样被缩放)。
b. 矩阵的乘法是不遵守交换律
c. 矩阵相乘时,在最右边的矩阵是第一个于向量相乘,从右 --> 左
6. 齐次坐标(Homogeneous Coordinates)
a. 向量的w分量也叫齐次坐标。想要从齐次向量得到3D向量,可以将x,y,z分别除以w坐标;
b. 使用齐次坐标可以在3D向量上进行位移(如果没有w分量我们是不能位移向量的)
c. 如果向量的齐次坐标为0,这个坐标就是方向向量(Direction Vector),因为w分量为0,这个向量就不能位移。