第二章

从数学和几何的角度引入向量,并研究了点和向量之间的重要关系。还讨论了几种向量运算,如何进行这些运算,从几何角度来看这些运算的含义,以及你可能会发现它们有用的情况。

向量Vectors

vector 在解释中可以叫做向量和可以叫做矢量。但我们要区分“速率 (velocity)”和"位移(displacement)"是向量,而“速度(speed)”和“距离(distance)”是标量(scalar)。 向量包含的数字数量高数我们它的维数,标量实际上可以被认为是一维向量。水平书写的向量被称为行向量,垂直书写的称为列向量

数学中主要研究向量和矩阵的分支称为线性代数,这门学科假定了前面给出的抽象定义:向量是一个数的数组。

“点”和“向量”在概念上有不同的用途:“点”指定位置,“向量”指定位移。 //

表示方法

  • 标量变量由斜体的罗马字母或希腊字母表示
  • 任何维度的向量变量都用粗体的小写字母表示
  • 矩阵变量使用粗体字母表示

如何表示向量中各个分量

向量的几何定义

  • 向量的大小就是向量的长度。向量可以具有任何非负长度。
  • 向量的方向描述了向量在空间中指向的方向。 向量有头和尾 //

用笛卡尔坐标表示向量

向量通过给出每个维度的有符号位移来指定 //

考虑矢量描述的位移的一种有用方法是将矢量分解为其轴向对齐的分量。当这些轴向对齐的位移组合起来时,它们累积地定义了由整个矢量定义的位移。下图表示为 [1, -3, 4] //

零向量

对于任何给定的向量维度,都有一个特殊的向量,称为零向量,它的每个位置都有零。它代表着“无位移”。

反向量

要对任意维度的向量取反,我们只需对向量的每个分量取反即可。对向量求反会得到大小相同但方向相反的向量。

标量向量乘法

不能将向量和标量相加,但我们可以将向量乘以标量。结果是一个与原始向量平行的向量,具有不同的长度并且可能具有相反的方向。从几何角度来看,将向量乘以标量 k 具有将长度缩放 |k| 的效果。 图中内容是:

线性代数规则

向量加法的线性代数规则很简单:要将两个向量相加,我们将相应的分量相加:

减法可以解释为加上负数

❗向量不能与标量或不同维度的向量相加或相减。

在线性代数中,向量的大小通过使用向量周围的双竖线来表示。这类似于用于标量绝对值运算的单竖线表示法。公式 (1.1) 显示了用于计算任意维度 n 的向量大小的符号和公式:length 和 norm 指代的是向量的大小。

该方法并非是向量范数的唯一定义,通常 p-规范 的向量定义为:

  • L 1 规范 (p=1),是各个元素的绝对值之和,也叫曼哈顿范数 (Manhattan-norm)或者出租车函数 (taxicab-norm)
  • L 2 规范 (p=2),是每个元素的平方和再开平方根,又名欧几里得范数
  • 无穷大范数 (p=∞),又名切比雪夫规范

几何解释

使用三角形法则进行二维向量加法和减法。 //

单位向量

单位向量是大小为 1 的向量。单位向量也称为归一化向量。

normal 一词带有“perpendicular”的含义,所以有时会被简称为法线(normals

线性代数规则

对于任何非零向量 ,我们可以计算一个与 指向相同方向的单位向量。此过程称为向量归一化。

❗零向量无法归一化

计算距离

两点之间的距离等于从一个点到另一点的向量长度,三维方程如下:

二维方程更简单:

向量点积

线性代数规则

“点积”这个名称来自于符号中使用的点符号:。就像标量乘以向量乘法一样,向量点积在加法和减法之前执行,除非使用括号来覆盖此默认运算顺序。

两个向量的点积是相应分量的乘积之和,得到一个标量:

求和表达式表示

点积满足交换律:

相等。

几何解释

点积作为投影 等于   到 的投影长度,按缩放 缩放。

假设 是单位向量, 是任意长度的向量。现在将投影到与平行的线上, 如图 // 点积的符号可以让我们粗略地分类两个向量的相对方向。 //

点积加法分布律:

// 🔍与基轴进行点积可以筛选出相应的坐标

使用点积,可以将 分成两个值,   和   读作“parallel”和“perp”),分别与  平行和垂直,使得 。 // 图中内容是:

角度的余弦是相邻边的长度除以斜边长度的比值,两个单位向量的点积等于它们之间角度的余弦。

点积与角的关系

💭向量的点积在视野(FOV)判定中非常方便,通过目标向量和角色朝向的点积正负便可知道目标在角色的前后方,如果总有 FOV 角 ,那么 判定目标 t 在视野中。

向量叉积

线性代数规则

与点积类似,术语“cross”积来,a 与 b 的叉积表示为

叉乘不满足交换律:

任何向量与其自身的叉积都是零向量。 (因为任何向量都与其自身平行。)

叉积是反交换的

将两个操作数与叉积取反会得到相同的向量。

标量乘法与叉积的结合性质。

叉积分布在向量加法和减法上。

几何解释

叉积产生一个垂直于原始两个向量的向量。 //

如何确定叉积向量的朝向,将  的尾部放在 的头部,确定 的旋转,在左手坐标系中如果是顺时针旋转的,则叉积向量指向您。

事实证明,这也等于由两条边  和   形成的平行四边形的面积

证明二维点积的几何解释

使用三角恒等式和二维点积的代数定义 证明二维点积的几何解释。

由三角函数 得:

引用声明

本文中使用的图片和公式均引自_《3 D Math Primer for Graphics and Game Development》_ ,作者 Fletcher Dunn Dunn, Fletcher,出版社 A K Peters/CRC Press,出版日期 2022 年。