向量点乘与叉乘

在几何开发中,如何能够了解几何相关的知识,可以帮助我们快速解决问题,减少对现有 SDK 的依赖。本文总结了向量点乘和叉乘的区别及一些应用场景。

点乘(Dot Product)

定义

Dot_Product

从代数上讲,点积是两个数列中对应项的乘积的和。

假设有两个向量 a=[a1,a2,...,an]b=[b1,b2,...,bn],则有 ab=i=1naibi=a1b1+a2b2+...+anbn 从几何上讲,它是两个向量在欧几里空间里的长度值和它们夹角的余弦值的乘积。 ab=|a||b|cosθ

点乘又叫内积、数量积、投影积

特点

  1. 交换律

    ab=ba

  2. 分布律

    a(b+c)=ab+ac

  3. 双线性

    a(γb+c)=γ(ab)+(ac)

  4. 标量相乘

    (c1a)(c2b)=c1c2(ab)

  5. 不满足结合律

    a(bc)(ab)caγβc

    由于向量 ac,从上式中可以看出,向量内积不满足结合律。

  6. 正交性

    当两个非零向量垂直时,它们的内积为 0。

  7. 不满足消除律

    在代数中,当 ab=ac 时,一定有 b=c,但是在向量中不满足这个规律。

    ab=aca0 时,通过分布律有 a(bc)=0,只需要满足 a 垂直于 bc 即可,而不一定非要求 bc=0

  8. 乘积律

    当向量 ab 可微,则有 (ab)=ab+ab

实际应用

  1. 判断两个向量是否垂直

    内积为 0

  2. 判断两个向量同向还是反向

    同向内积为下,返回为负

  3. 用于求两个向量的夹角

    cosθ=ab|a||b|

叉乘(Cross Product)

定义

假设有两个向量 ab,它们的叉乘表达如下: a×b=|a||b|sinθn

  • θ 是两个向量的夹角

  • n 是同时包含向量 ab 的平面的单位法向量

  • 当两个向量平行时,其值为 0

  • 向量的叉乘满足右手定律

叉乘又叫外积

几何意义

两个向量叉乘的模代表分别以两个向量为边的四边形的面积。 S=|a×b|=|a||b|sinθ Cross_product_parallelogram

混合积

向量的混合积代表以这三个向量为边的六面体的体积。 (1)a(b×c)=b(c×a)=c(a×b)(2)V=|a(b×c)| Parallelepiped_volume

参考

  1. Dot product-wiku
  2. Cross product
  3. 点乘和叉乘的区别是什么