基础知识
向量
向量是用来表示既有大小又有方向的量,不过向量在空间中没有具体的位置,通常用一个加粗的小写字母来表示一个向量,或者不加粗顶上带有小箭头的小写字母来表示。
- 由 A 点指向 B 点的一个有向线段,称为向量 a
- a = B - A 用有向线段的结束点B减去起始点A就得到这个向量 a
- |a| 表示向量a的长度
- â 表示单位向量:â = a / |a|
向量的矩阵表示
如上图中向量 a 在X轴和Y轴的分量分别为4和3,那么可以用这两个分量以矩阵的形式表示这个向量,
上图中纵向排列的被称为列向量,转置后被称为行向量,它们都表示同一个向量
向量运算
向量加法不同于普通数学加法,它还具有方向属性,因此向量加法采用三角形定则或平行四边形定则计算。
三角形定则
将各个向量依次首尾顺次相接,结果为第一个向量的起点指向最后一个向量的终点
向量a加向量b,将a和b首尾相连后,由a的起点指向b的终点,就是 a + b
将两个向量平移至公共起点O,从减数向量的终点B指向被减向量的终点A为相减结果
将向量a和向量b的起点移到左下角的公共起点O,从点B指向点A的向量就是 a - b
平行四边形定则
将两个向量平移至公共起点,以这两个向量绘制平行四边形,从公共起点到公共终点的向量为相加结果
将向量a和向量b的起点移到左下角的公共起点,然后以这两个向量绘制平行四边形,由公共起点指向公共终点就是 a + b
向量的点积(乘)
点积基本概念
两个向量的点积(乘),记作 a · b
两个向量的点积等于两个向量的长度相乘再乘以两个向量夹角的余弦值:a · b = |a| |b| cosθ
如果两个向量是单位向量,则点积结果即夹角余弦值。
向量点乘矩阵表示法
二维向量点乘矩阵表示法:
三维向量点乘矩阵表示法:
向量点乘适用的运算定律
交换律 a · b = b · a
分配律 a · (b + c) = a · b + a · c
结合律 (ka) · b = a · (kb) = k(a · b)
点积的几何意义
向量 b⊥ 为向量 b 在向量 a 上的投影向量:|b⊥| = |b|cosθ
向量点乘的应用
计算两个向量的夹角
cosθ = a · b / |a| |b|
判断两个向量的方向
先将向量a和向量b做归一化处理,即有该结论: a · b = cosθ
如果 a · b 等于1,说明夹角是0度或360度,两个向量重合
如果 a · b 大于0小于1,说明夹角在0度到90度之间或270度与360度之间,即向量 a 与向量 b 是相同的方向
如果 a · b 等于0,说明夹角是90度或270度,两个向量垂直
如果 a · b 小于0大于-1,说明夹角在90度到270度之间 (不包括180度),即向量 a 与向量 b 方向相反
如果 a · b 等于-1,说明夹角是180度,两个向量方向相反,如上图中向量 a 与向量 b2
判断两个向量是否接近
两个向量点乘越接近1说明两个向量越接近。
向量的叉积(乘)
叉积基本概念
两个向量的叉积(乘)的结果是一个向量,记作c = a x b
两个向量的叉乘的模长等于两个向量的模长相乘再乘以两个向量夹角的正弦值:|a x b| = |a| |b| sinθ
向量叉乘结果方向确定
使用右手螺旋法则确定向量 c 的方向,首先做出点赞手势,四指方向从向量 a 旋转到向量 b,这时拇指方向就是向量 c 的方向
叉积的几何意义
- 向量 a 叉乘向量 b 得到垂直于 a 与 b 的向量 c
- 向量 a 叉乘向量 b 等于负的向量 b 叉乘向量 a :a x b = -b x a
- 两个向量平行,因为sin0 = 0,则得到 |a x b| = 0 ,0 代表0向量
- |a x b| 的值是以向量 a 和向量 b 为边组成的平行四边形的面积
向量叉乘矩阵表示法
向量的叉乘可以写成一个向量对应的矩阵乘以另一个向量
通过矩阵乘法规则推理得出下面结果:
向量叉乘适用的运算定律
分配律 a x (b + c) = a x b + a x c
结合律 a x (kb) = k(a x b)
向量叉乘的应用
判断一个向量在另一个的左侧还是右侧
根据右手螺旋定则,如果向量 a 叉乘向量 b 的结果 > 0,右手旋转时时从 a 向量转向 b 向量,所以 b 向量在 a 向量的左侧,若叉乘结果< 0,则 b 向量在 a 向量的右侧
向量 a 叉乘向量 b > 0, b 向量在 a 向量的左侧
向量 a 叉乘向量 b < 0, b 向量在 a 向量的右侧
判断一个点是否在三角形内部
判断一个点是否在三角形内部的步骤:
- 把三角形的三条边按一定的顺序依次连接,组成三个向量,上图中是按逆时针方向连接
- 取其中的一个向量AB,构造一个向量AP,从向量的起点A指向P点,向量AB叉乘向量AP,结果 > 0,所以 AP 在 AB 的左侧
- 取下一个向量BC,计算向量BC叉乘向量BP,结果 > 0, 得到BP 也在 BC 的左侧
- 取下一个向量CA,计算向量CA叉乘向量CP,结果 > 0, 得到CP 也在 CA 的左侧
- 由第2,3,4步的结果推断出P点在三角形内部,如果第2,3,4步中有一个结果有一个不在左侧则P点不在三角形内部
- 如果开始连接三角形时按逆时针方向连接,即三条边的向量为AC,CB,BA,则第2,3,4步叉乘的结果都<0,说明P点与三条边的向量起点组成的向量均在对应边向量的一侧,也可以判断P点在三角形内部,实际上判断点是否在三角形内部的依据是,边向量的起点与要判断的点组成的向量是否在三个边向量的同一侧