点积和叉积

点积

当我们读一些论文或是一些机器学习的书籍的时候重视感觉有些数学上的结论模糊不清,最后弄得我们也并不是很懂算法其中的数学道理,本系列文章将着重讲解一些基础数学的知识。

点积是一个标量,也就是一个数字,如果给出两个向量A=<a1,a2,...,an>A=<a_1,a_2,...,a_n> B=<b1,b2,...,bn>B=<b_1,b_2,...,b_n> 他们的点积是如下定义的。

AB=i=0naibiA \cdot B=\sum^{n}_{i=0} a_ib_i

点积的几何是两个向量的模乘以他们的余弦值,公式

AB=a1b1+a2b2=ABcosθA \cdot B=a_1b_1+a_2b_2=|A||B|\cos \theta

上文中一个向量的模如下定义

A=a12+a22+...+an2|A|=\sqrt{a_1^2+a_2^2+...+a_n^2}

点积的用途

正交性判断

点积是可以计算两个向量的夹角,那么它就能判断两个向量是否正交,所谓的正交其实就是看两个向量是否垂直,如果我们已知两个向量,根据上面的公式很容易计算这两个向量的角度,当然更容易知道是否垂直(点积为0)。

求向量的分量

如果我们已知向量AA,可以求的AA沿着单位向量uu的分量,而所谓的分量其实就是向量AAuu方向上的投影。分量PP

P=Acosθ=Aucosθ=Au|P|=|A|\cos \theta = |A||u| \cos \theta =A \cdot u

叉积

在二维空间内,两个向量的叉积是这样定义的

A=<a1,a2>A=<a_1,a_2> B=<b1,b2>B=<b_1,b_2>

A×B=a1b2a2b1A \times B=a_1b_2-a_2b_1

会有如下的关系

A×B=(B×A)A \times B = -(B \times A)

叉积的几何意义

在模长上,叉积的意义是两个向量为邻边的平行四边形的面积。

A×B=area=ABsinθ|A \times B|=area=|A||B| \sin \theta

这里要注意的是,叉积不是面积,而叉积的模才是面积。

叉积的方向可以通过右手法则来判断。

叉积的作用

计算面积

根据上面的公式,我们能够了解,计算向量叉积的模是可以计算这两个向量围成的平行四边形的面积。在三维空间内叉积则表示空间内围成的体的体积。

判断点是否共面

如果空间中存在三个点P1,P2,P3P_1,P_2, P_3,那么还有一个点PP,是否与这三个点共面呢?P1P3×P1P2|P_1P_3 \times P_1P2|是这两个向量围成的平行四边形的面积,而PP1(P1P3×P1P2)|PP_1 \cdot (P_1P_3 \times P_1P_2)|是这四个点为成的体的面积,我们判断一下这两个面积是否相等就知道PP是否与其他点共面。

计算法向量

法向量的定义就是垂直与一个面的向量。

平面中的法向量N的定义如下。

N=P1P3×P1P3N=P_1P_3 \times P_1P_3

# math 
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×