理解点乘和叉乘的关键在于忘记复杂的数学公式,记住它们的几何意义和在游戏开发中的用途。我们将在10分钟内快速掌握它们。
核心概念一句话总结
-
点乘 (Dot Product): 衡量两个向量的 “方向相似度”。结果是一个数值。
-
叉乘 (Cross Product): 生成一个与两个原始向量都垂直的 “法向量”。结果是一个向量。
1. 点乘 (Dot Product) - ·
点乘的核心是计算两个向量的夹角信息,但它不直接给出角度,而是给出一个能判断方向的数值。
几何意义与公式
公式: a · b = |a| * |b| * cosθ
-
|a|
和|b|
分别是向量 a 和 b 的长度(模)。 -
θ
是两个向量之间的夹角。
但我们更常用的是分量公式(在Unity中计算机就是这么算的):
a · b = (a.x * b.x) + (a.y * b.y) + (a.z * b.z)
最重要的不是公式,而是点乘结果值的含义:
点乘结果 | 夹角θ | 几何关系 | 解释 |
---|---|---|---|
> 0 | 锐角 ( < 90° ) | 方向基本相同 | 两个向量大致指向同一个方向 |
= 0 | 直角 ( = 90° ) | 方向垂直 | 两个向量相互垂直 |
< 0 | 钝角 ( > 90° ) | 方向基本相反 | 两个向量大致指向相反的方向 |