PS: 线代的知识都还给老师了…\ue411,还是记了笔记好…
笛卡尔坐标系
左手坐标系与右手坐标系。Unity中使用左手坐标系。
向量
向量加减
两个向量相加减,结果仍然是向量。
a+b = (aₓ+bₓ, aᵧ+bᵧ, az+bz)
a+b = (aₓ-bₓ, aᵧ-bᵧ, az-bz)
归一化
模为1的矢量叫单位矢量,单位矢量也叫归一化的矢量。对于非零矢量,将其转化为单位矢量的过程叫做归一化
向量点积(内积)
向量的点积是标量。
点积计算公式
a·b = (aₓ,aᵧ,az)·(bₓ,bᵧ,bz) = aₓbₓ + aᵧbᵧ + azbz
点乘性质
- 交换律:a·b = b·a
- 结合律:a·(b+c) = a·b + a·c
- 一个矢量和本身进行的点积结果是该矢量的模的平方。v·v = |v|²
- a·b = |a||b|cosθ
向量叉积(外积)
向量的叉积依然是矢量。叉积的计算公式为:
cₓ = aᵧbz - azbᵧ
cᵧ = azbₓ - aₓbz
cz = aₓbᵧ - aᵧbₓ
a×b = (aₓ,aᵧ,az)×(bₓ,bᵧ,bz) =(cₓ,cᵧ,cz)
Math.cross(a,b)
- c⊥a,c⊥b,即向量c与向量a,b所在平面垂直
- 两个向量相乘其积也是向量;
- 模长|c| = |a||b| sinθ
- a × b = -b × a
已知a=(2,3,4);
b=(5,6,7);
计算a × b。
- 叉积计算公式如下:
则向量c = (cₓ, cᵧ, cz) = (3×7 - 4×6, 4×5 - 2×7, 2×6 - 3×5)=(-3, 6, -3);
叉积的作用:
- 计算垂直于一个平面或三角面的矢量。
- 判断三角面的朝向。
向量点积(内积)
- 其结果是标量
- 满足乘法交换律
点积在图形学上一个重要几何意义是:投影。投影的值也可能是负数(夹角 > 90度)
a * b=|a||b|cosθ
a * b=aₓbₓ + aᵧbᵧ+….
对于单位向量:$\widehat{a} $ 与 $\widehat{b} $:则:
$\widehat{a} \cdot \widehat{b} =\frac{直角边}{斜边}=\cos\theta $
$\theta =\arccos(\widehat{a} \cdot \widehat{b})$
矩阵(matrix)
矢量可以看作是一个 nx1的列矩阵,或者 1xn的行矩阵,即:
(3,4,5) => $\begin{bmatrix}3&4&5\end{bmatrix}$ => $\begin{bmatrix}3\4\5\end{bmatrix}$
矩阵与标量的乘法
$k\mathbf{M} = \mathbf{M}k = k\begin{bmatrix}m_{11}&m_{12}\m_{21}&m_{22}\end{bmatrix}=\begin{bmatrix}km_{11}&km_{12}\km_{21}&km_{22}\end{bmatrix}$
矩阵与矩阵的乘法
- 第一个矩阵的列数与第二个矩阵的行数必须相同才可以进行矩阵相乘。对于一个 m X n 的矩阵,与另一个n X b 的矩阵,其结果是一个 m行b列的矩阵。
- 不满足则不可相乘。
- 不满足交换律 AB ≠ BA
- 满足结合律:(AB)C = A(BC)
方块矩阵
行与列相同
对角矩阵
出了对角线其他元素都是0的矩阵。
单位矩阵
对角线上值都为1的对角矩阵。
转置矩阵
$\begin{bmatrix}1&2&3\4&5&6\end{bmatrix}^{T} =\begin{bmatrix}1&4\2&5\3&6\end{bmatrix}$
- 矩阵的转置的转置 = 原矩阵 ($(M^{T})^T=M$)
- $(AB)^T = B^TA^T$
逆矩阵
一个矩阵M和它的逆矩阵$M^{-1}$相乘等于单位矩阵:I即: $MM^{-1} = I$
- 一个矩阵的行列式不为零就是可逆的。
- 如果一个矩阵拥有逆矩阵,则该矩阵是:可逆的 或者 非奇异的
如果一个矩阵没有逆矩阵,则该矩阵是:不可逆的 或者 奇异的 - 单位矩阵的逆矩阵是本身。
- $(M^T)^{-1} = (M^{-1})^T$
- $(ABC)^{-1} = C^{-1}B^{-1}A^{-1}$
正交矩阵
一个矩阵和它的逆矩阵相乘等于单位矩阵,那么就说这个矩阵是正交的。即:
$MM^T = M^TM = I$
根据逆矩阵$MM^{-1} = I$ 可以推导出:$M^T = M^{-1}$
在三维变换中经常需要使用逆矩阵来求解反向的变换,但是求解逆矩阵计算量很大,通过这个公式就可以反转一下矩阵进而简化求解。