数学中专门研究向量的分支称作线性代数,向量在线性代数中只是一个数组。 向量与点的关系:点有位置,但没有实际的大小或者厚度;向量有大小和方向,但没有位置。点与向量在概念上完全不同,而在数学上却还是等价的。思考位置时,想象一个点,思考位移时,想象一个和向量和一个箭头。 零向量是唯一一个没有方向的向量。但是也不能将零向量认为是一个点,因为零向量没有定义某个位置。应该认为零向量表示的是“没有位移”,就像标量零表示的是“没有数量一样”。

标量与向量的乘法注意点:

1.标量与向量相乘时,不需要写乘号,将两个挨着写即表示相乘(常将标量写在左边) 2.乘法和除法优先级高于加法和减法; 3.标量不能除以向量,并且向量不能除以另一个向量; 4.负向量被认为是乘法的特殊情况,乘以标量-1. 几何解释:几何意义上,向量乘以标量k的效果是以|k|缩放向量的长度。

向量的加法和减法:

1.向量不能与标量或维数不同的向量相加减; 2.和标量加法一样,向量加法满足交换律,但向量减法不满足交换律。永远有a+b=b+a,但a-b=-(b-a),仅当a=b时,a-b=b-a 几何解释:向量a和向量b的几何解释为:平移向量,使向量a的头连接b向量的尾,接着从a的尾向b的头画一个向量,这就是向量加法的“三角形法则”。

单位向量(unit vector)

单位向量就是大小为1的向量,又称作“标准化向量”或“法线”。 标准化步骤:将向量除以它的大小(模)即可。 [

](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050701-300x246.png)
几何解释:2D环境中,如果以原点为尾画一个单位向量,那么向量的头将接触到圆心在原点的单位圆(单位圆半径为1
;在3D环境中,单位向量将触到单位球。 零向量不能被标准化。数学上这是不允许的,因为将导致除零。几何上也没有意义,因为零向量没有方向。

向量的距离公式

[

](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050702-300x132.png)
](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050702-300x132.png)

向量点乘

点乘,又称点积(dot product),标量积(scalar product),内积(inner product); 向量点乘就是对应分量乘积的和,其结果是一个标量: [

](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050703-300x289.png)](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050703.png) 几何解释:点乘结果描述了两个向量的相似程度,点乘结果越大,两向量越相近。 [![](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050704-300x266.png)
](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050703-300x289.png)](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050703.png) 几何解释:点乘结果描述了两个向量的相似程度,点乘结果越大,两向量越相近。 [![](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050704-300x266.png)

向量投影

[

](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050707-300x119.png)
](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050707-300x119.png)

向量叉乘

叉乘,又称叉积(cross product),矢量积(vector product),外积(outer product) 和点乘不一样,点乘得到一个标量并满足交换律,向量叉乘得到一个向量并且不满足交换律。 两个向量叉乘得到的向量,该向量垂直于原来的两个相乘向量。 叉乘公式: [

](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050705-300x162.png)](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050705.png) 几何解释: [![](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050706-300x205.png)
](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050705-300x162.png)](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050705.png) 几何解释: [![](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050706-300x205.png)
如果a,b平行或者任意一个为0,则a与b的叉乘为0 叉乘对0的解释是:他平行于任意其他向量。注意这和点乘的解释不同,点乘的解释是和人以其他的向量垂直。(当然,定义零向量平行或垂直于任意向量都是不对的,因为零向量没有方向) 叉乘最重要的应用就是创建垂直于平面,三角形或多边形的垂直的向量。 参考书籍:《游戏引擎架构》 《3D Math Primer for graphics and game development》