向量的数学运算
向量的计算主要借助 “线性代数”
1、特殊向量
零向量:
向量的所有分量都是0
几何意义:用于表达参考坐标系的原始点(出发点)
注意:零向量没有大小没有方向,是一个特殊向量
负向量:
对于向量的每一个维度产生负数的变化(通俗讲就是每个维度乘以 -1)
几何意义:负向量与原始向量的位置一样,但是位移相反
注意:零向量没有负向量
单位向量:
长度为1的向量
2、向量大小计算
方向是我们规定的,但是移动了多少个单位,我们需要精确的计算
在线性代数中我们称向量的大小计算为“求模”运算
各个维度上的数平方再相加,将最后的和开方求解;
求模运算的结果是:一个标量;
例如:向量 V [x, y, z]
求模:sqrt( x * x + y * y + z * z);
几何意义:用来求这个向量的长度(从原点到向量尾的长度)
3、向量的方向
可以用向量的单位向量表示,便于计算
4、向量与标量的运算
向量与标量乘法
向量的各个维度和已有标量值进行相乘,计算结果还是一个向量
(1, 2, 3)* 5 = (5, 10, 15)
向量与标量除法
(5, 10, 15)/5 = (1, 2, 3)
注意:向量与标量只能进行乘除,不能加减
几何意义:为了实现向量的各个维度同时扩大或缩小。向量缩放因子范围是 0 - 正无穷。如果缩放因子为负表示反方向向量(倒转向量方向放大或缩小)。
5、向量标准化
有时候我们只关心向量的位移,对于向量的大小不需要关心,这样的形式我们可以将向量的各个维度缩到0 - 1之间,使向量的长度为 1。去除他的位置特性。这样的表示我们称为“向量标准化”
公式:V / |V| = Vnormal
几何意义:为了得到指定向量的方向,不保留向量大小。在计算机图形学中是为了描述一个“法线”法线只有方向没有大小,他是人为虚拟的一个向量。
6、向量加法
计算方式:两个向量的维度必须一样,两个向量的各个维度相加,得到一个新向量;
数学意义
(3, 4, 5)+(7, 8, 9)= (10, 12, 14)
几何意义
A向量+B向量=把这个两个向量首尾相连,从起始端指向末端的一个向量
7、向量减法
计算方式:两个向量的维度必须一样,两个向量的各个维度相减,得到一个新向量;
数学意义
(3, 4, 5)-(7, 8, 9)= (-4, -4, -4)
几何意义
A向量-B向量=从B向量的带箭头的那一端指向A向量带箭头的那一端
8、向量点乘
写法:a 点乘 b;你在纸上写成一个 “点”
点乘需要两个维度相同的向量,然后让两个向量的维度相互乘再把所有维度的积加起来;
几何意义:点乘用于描述两个向量的相似度的,如果点乘结果越大两个向量的方向越相似;
点乘就是为了求角度的:
a • b = ||a|| * ||b|| * cos@;
注意:如果两个向量已经标准化了,a 点乘 b表示两个向量的 cos值,我们对其 acos 得到弧度值,然后用 弧度转度获取角度
9、向量叉乘
A向量 X B向量;两个向量中间的乘号我们应该写成 "X"
叉乘的结果是一个垂直于这两个向量的新向量。
方向要用“右手法则”判断(用右手的四指先表示向量a的方向,然后手指朝着手心的方向摆动到向量b的方向,大拇指所指的方向就是向量c的方向)
数学运算:
x1 x2 y1z2 - z1y2
y1 X y2 = z1x2 - x1z2
z1 z2 z1y2 - y1x2
叉乘不满足交换律,也不满足结合律;
几何意义:两个向量叉乘后的结果是垂直于这两个向量的。起始就是为了求得两个向量的垂直线,这个垂直线被标准化后就是我们的法线
|c| = |a x b| = |a| * |b| * sin<theta>
?