矢量的点积

作者:追风剑情 发布于:2016-5-22 19:07 分类:Algorithms

假设有二维矢量P=(x1,y1),Q=(x2,y2),则矢量的点积定义为:

P●Q=x1*x2+y1*y2

向量点积的结果是一个标量,它的代数表示是:

P●Q=|P||Q|cos(P,Q)

(P,Q)表示向量P和Q的夹角,如果P和Q不共线,则根据上式可以得到向量点积的一个非常重要的性质,具体说明如下:

(1) 如果P●Q>0,则P和Q的夹角是钝角(大于90度);

(2) 如果P●Q<0,则P和Q的夹角是锐角(小于90度);

(3) 如果P●Q=0,则P和Q的夹角是90度。

给定向量P=(x1,y1),Q=(x2,y2),计算点积的算法实现为:

double DotProduct(double x1, double y1, double x2, double y2)
{
      return x1*x2 + y1*y2;
}


了解了矢量的概念以及矢量的各种运算的几何意义和代数意义后,就可以开始解决各种计算几何的简单问题了。

点积不满足的运算律:
1、点积不满足结合律,即:(a·b)·c≠a·(b·c);例如:(a·b)^2≠a^2·b^2.
2、点积不满足消去律,即:由 a·b=a·c (a≠0),推不出 b=c.
3、|a·b|≠|a|·|b|
4、由 |a|=|b| ,推不出 a=b或a=-b

标签: Algorithms

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号