假如 向量a 为(x1, y1),向量b为(x2, y2)
点积(也叫内积)结果 为 x1 * x2 + y1 * y2 = |a||b| cos<a,b>,可以理解为向量a在向量b上投影的长度乘以向量b的长度。
叉积(也叫外积)的模为 x1 * y2 - x2 * y1 = |a||b| sin<a,b>,可以理解为平行四边形的有向面积(三维以上为体积)。外积的方向垂直于这两个方向。
作者:信徒
链接:https://www.zhihu.com/question/21080171/answer/1715138895
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
1. 点乘(dot product)
又叫内积/数量积,记作 (也有人习惯写作 ),点乘的结果是个标量(scalar),它的几何意义是 向量a在向量b上的投影长度 乘以 向量b的长度,计算公式如下
点乘公式常被用于:
a. 衡量两个向量的相似度,两个向量越相似,点乘结果越大;
b. 计算两个向量的夹角 ;
c. 判断两个向量的正交性,
时两个向量正交,也就是 时两个向量正交;
时两个向量同向,夹角在0到90度;
时两个向量反向,夹角在90到180度。
d. 实现线性变换(也就是把数据投影到特征空间)。比如向量b作为基向量(线性的特征空间),把数据a投影到特征空间b中得到投影后的数据 。
2. 叉乘(cross product)
又叫外积/向量积,记作 ,注意叉乘的结果是个向量(vector),所以它有方向(direction)和模长(magnitude),计算方式如下
方向+模长: ,推导如下
方向:根据右手定则确定人类的感官方向,但是高维度时就需要使用上面的向量表示
模长:
叉乘公式常被用于:
a. 求解向量a和向量b构成平面的法向量 ,
b. 利用叉乘生成z轴,构建坐标系
c. 计算点到线的距离,假设原点为 , , ,则点A到直线OB的距离
d. 确定平面方程并计算点到面的距离,假设原点为 , , ,则点C到向量a和向量b构成的平面间的距离求解如下:
先求解平面的法向量 ,
然后求解平面方程为 ( 通过代入A或B得到),
最后点面距离为
码字不易,可能会存在一些问题,欢迎纠正。