向量运算

阅读量:

向量求和

几何 Geometrically:平行四边形法则,三角形法则

代数 Algebraically:坐标相加

向量运算_figure_1.png

向量乘法

点乘 Dot (Scalar) Product

点乘结果为数量

$\vec{a} \cdot \vec{b} = \lVert \vec{a} \rVert \cdot \lVert \vec{b} \rVert cos \theta$

$cos \theta = \frac{\vec{a} \cdot \vec{b}}{\lVert \vec{a} \rVert \cdot \lVert \vec{b} \rVert} = \hat{a} \cdot \hat{b}$

向量点乘符合交换律、分配律和结合律。

在笛卡尔坐标系下:

2D

$\vec{a} \cdot \vec{b} = \begin{pmatrix} x_a \ y_a\end{pmatrix} \cdot \begin{pmatrix} x_b \ y_b\end{pmatrix} = x_ax_b + y_ay_b$

3D

$\vec{a} \cdot \vec{b} = \begin{pmatrix} x_a \ y_a \ z_a\end{pmatrix} \cdot \begin{pmatrix} x_b \ y_b \ z_b\end{pmatrix} = x_ax_bx_c + y_ay_by_c$

作用:

  • 找到两个向量间的夹角
  • 找到一个向量在另一个向量上的投影

叉乘 Cross (Vector) Product

叉乘的结果是一个向量,是与两个原始向量正交的向量。

$\vec{a} \times \vec{b} = -\vec{b} \times \vec{a}$

$\lVert \vec{a} \times \vec{b} \rVert = \lVert \vec{a} \rVert \lVert \vec{b} \rVert sin\phi$

向量运算_figure_2.png

结果向量的方向由右手法则决定,四指沿被乘向量(算式中第一个向量)以小于 180 角的方向绕至叉乘向量(算式中第二个向量),此时拇指所指方向即为结果向量的方向。

向量叉乘不符合交换律,符合分配律和结合律。

向量叉乘其本身得到是与其自身正交的零向量。

在笛卡尔坐标系下:

$\vec{a} \times \vec{b} = \begin{pmatrix} y_az_b - y_bz_a \ z_ax_b - x_az_b \ x_ay_b - y_ax_b \end{pmatrix}$

作用:

  • 构建直角坐标系,通过右手法则构建的坐标系为右手坐标系,结果向量方向相反时为左手坐标系。$\vec{x} \times \vec{y} = + \vec{z}$
  • 判定一个向量在另一个向量的左右,乘积为正向左,为负向右(逆时针向左,顺时针向右)。
  • 判定一个点在一个多边形的内外。按顺序依次连接点与多边形的各个顶点,判断从被连接的顶点出发的两个向量的方位,重复直至完成所有顶点的判断,均在同侧时为内,反之为外。 向量运算_figure_3.png

正交坐标系

可用来进行向量分解

$\lVert \vec{u} \rVert = \lVert \vec{v} \rVert = \lVert \vec{w} \rVert = 1$

$\vec{u} \cdot \vec{v} = \vec{v} \cdot \vec{w} = \vec{u} \cdot \vec{w} = 0$

$\vec{w} = \vec{u} \times \vec{v}$ (右手坐标系)

$\vec{p} = (\vec{p} \cdot \vec{u})\vec{u}+(\vec{p} \cdot \vec{v})\vec{v}+(\vec{p} \cdot \vec{w})\vec{w}$

向量投影

$\vec{b_\perp}$ 是向量 $\vec{b}$ 在向量 $\vec{a}$ 上的投影,则:

  • $\vec{b_\perp}$ 的方向与向量 $\vec{a}$ 相同。
  • $\vec{b_\perp}=k \vec{a}$,$k=\lVert \vec{b_\perp} \rVert=\lVert \vec{b} \rVert cos \theta$

作用:

  • 分解向量
  • 评价两个向量方向的接近程度,[-1, 1],-1 为完全相反,0 为垂直,1 为完全相同。
  • 决定前向和后向。 向量运算_figure_4.png

向量乘法的矩阵形式

\[\vec{a} \cdot \vec{b}=\vec{a}^T \cdot \vec{b}=\begin{pmatrix} x_a && y_a && z_a \end{pmatrix} \begin{pmatrix} x_b \\ y_b \\ z_b \end{pmatrix} = (x_ax_b + y_ay_b + z_az_b)\] \[\vec{a} \times \vec{b} = A^* \cdot \vec{b} = \begin{pmatrix} 0 && -z_a && y_a \\ z_a && 0 && -x_a \\ -y_a && x_a && 0 \end{pmatrix} \begin{pmatrix} x_b \\ y_b \\ z_b \end{pmatrix}\]

反向链接

到头儿啦~

局部关系图