向量的点乘和叉乘
向量的点乘和叉乘
向量的点乘和叉乘是线性代数中的两个基本运算,它们在物理学、工程学、计算机图形学等领域有着广泛的应用。本文将详细介绍这两个运算的概念、计算方法及其几何意义。
向量的点乘和叉乘
一、点乘
a点乘b
- a · b = a.1 * b.1 + a.2 * b.2 + a.3 * b.3 + … + a.(n - 1) * b.(n - 1) + a.n * b.n
满足交换律
- a · b = b · a
点乘等于向量大小与向量夹角的cos的积
- a · b = |a| * |b| * cos θ
角度
θ = arccos ( a · b / |a| * |b| )
当a和b是单位向量时
θ = arccos ( a · b )
点乘符合对应的角度类型
a·b > 0 => 0°<=θ<90°
a·b = 0 => θ=90°
a·b < 0 => 90°<θ<=180°
当a、b点乘结果为0时
a · b = 0
结论:a垂直于b
结论:θ = 90°
向量投影
- 给定两个向量a和b,能将a分解为两个分量:a平(平行于b)和a垂(垂直于b)
- a平:是a在b上的投影
- 1、a平 = b * |a平| / |b|
- 2、 cos θ = |a平| / |a| , |a平| = |a| * cos θ
- 3、2试代入1试得
- a平 = b * (|a| * cos θ) / |b|
- a平 = b * (|a| * |b| * cos θ) / (|b|* |b|)
- 由于
- a · b = |a| * |b| * cos θ
- 所以
- a平 = b * (a · b) / (|b|* |b|)
- 如果b是单位向量
- a平 = b * (a · b)
- a垂 = a - a平 = a - b * (a · b)
二、叉乘
A叉乘B
- (A.x, A.y, A.z) x (B.x, B.y, B.z) = (C.x, C.y, C.z)
- Cx = A.y * B.z - B.y * A.z
- Cy = A.z * B.x - B.z * A.x
- Cz = A.x * B.y - B.x * A.y
满足相反交换律
A x B = -B x A
与点乘一起计算时,因为标量与向量不能叉乘,所以先计算叉乘再计算点乘
即:C · A x B = C · (A x B)
A叉乘B的长度等于两个向量的大小与两个向量夹角sin值的积
- | A x B| = |A| * | B| * sinθ
A叉乘B的长度等于以A和B为边的平行四边形的面积
- 已知:平行四边形面积=底 * 高
- 以| A|为底,高 = |B| * sinθ
- area = |A| * | B| * sinθ
- area = | A x B|
当A、B叉乘结果为0向量时
| A x B| = 0
结论:A平行于B
结论:A或B至少存在一个为零向量
如何确定叉乘朝向
左手坐标系
定义朝向掌心方向的向量为left(-1, 0, 0),朝向4个手指方向的向量forward(0, 0, 1),两个向量相乘得到up(0, 1, 0), 得到是竖起的大拇指方向,
即:(-1, 0, 0) x (0, 0, 1) = (0, 0 - (1 * -1), 0) = (0, 1, 0)
右手坐标系
定义朝向掌心方向的向量为right(-1, 0, 0),朝向4个手指方向的向量forward(0, 0, 1),两个向量相乘得到up(0, 1, 0), 得到是竖起的大拇指方向,
即:(-1, 0, 0) x (0, 0, 1) = (0, 0 - (1 * -1), 0) = (0, 1, 0)
本文原文来自CSDN