问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

向量的点乘和叉乘

创作时间:
作者:
@小白创作中心

向量的点乘和叉乘

引用
CSDN
1.
https://m.blog.csdn.net/weixin_42233704/article/details/136888898

向量的点乘和叉乘是线性代数中的两个基本运算,它们在物理学、工程学、计算机图形学等领域有着广泛的应用。本文将详细介绍这两个运算的概念、计算方法及其几何意义。

向量的点乘和叉乘

一、点乘

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

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号