向量的数学运算

向量的计算主要借助 “线性代数”

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>

🔚