图形几何——计算几何:矢量计算基础

矢量计算基础

点乘(内积)
点乘的概念

点乘(Dot Product)的结果是点积,又称数量积标量积。以二维向量为例,假设空间中有两个向量 a ⃗ = ( x 1 , y 1 ) \vec a = (x_1, y_1) a =(x1,y1) b ⃗ = ( x 2 , y 2 ) \vec b = (x_2, y_2) b =(x2,y2),它们之间的夹角为 θ \theta θ

在这里插入图片描述

  • 从代数角度看
    点乘是两个向量对应位置上的值相乘的结果之和,写作
    a ⃗ ⋅ b ⃗ = x 1 x 2 + y 1 y 2 \vec a · \vec b = x_1 x_2 + y_1 y_2 a b =x1x2+y1y2
  • 从定义角度看
    点乘是两个向量长度与它们之间夹角余弦的积,写作
    a ⃗ ⋅ b ⃗ = ∣ a ⃗ ∣ ∣ b ⃗ ∣ cos ⁡ θ \vec a · \vec b = |\vec a||\vec b|\cos\theta a b =a ∣∣b cosθ
  • 从几何角度看
    点乘是向量a在向量b上的投影乘向量b的长度,写作
    a ⃗ ⋅ b ⃗ = ∣ a ⃗ ∣ cos ⁡ θ ⋅ ∣ b ⃗ ∣ \vec a · \vec b = |\vec a|\cos\theta·|\vec b| a b =a cosθb
点乘的几何意义及其应用
  • 判断两个向量的相似程度
    点乘 a ⃗ ⋅ b ⃗ \vec a · \vec b a b 的结果表示向量 a ⃗ \vec a a b ⃗ \vec b b 方向上的投影与 ∣ b ⃗ ∣ |\vec b| b 的乘积,反映了两个向量在方向上的相似度,结果越大越相似。
  • 基于点乘的结果可以判断这两个向量是否为同一方向或是否相互垂直
    • a ⃗ ⋅ b ⃗ > 0 \vec a · \vec b > 0 a b >0则说明两个向量的方向相同,夹角在0°到90°之间
    • a ⃗ ⋅ b ⃗ = 0 \vec a · \vec b = 0 a b =0则说明两个向量之间相互垂直
    • a ⃗ ⋅ b ⃗ < 0 \vec a · \vec b < 0 a b <0则说明两个向量的方向相反,夹角在90°到180°之间
  • 用来求一个向量在另一个向量方向上的投影长度
    假如需要求向量 a ⃗ \vec a a 在向量 b ⃗ \vec b b 方向上的投影长度 l a b l_{ab} lab,则可以按照下式求
    l a b = a ⃗ ⋅ b ⃗ ∣ b ⃗ ∣ = ∣ a ⃗ ∣ ∣ b ⃗ ∣ cos ⁡ θ ∣ b ⃗ ∣ = ∣ a ⃗ ∣ cos ⁡ θ ( 几何形式 ) = x 1 2 + y 1 2 cos ⁡ θ ( 代数形式 ) \begin{split} l_{ab} = \frac{\vec a · \vec b}{|\vec b|} = \frac{|\vec a||\vec b|\cos\theta}{|\vec b|} &= |\vec a|\cos\theta \hspace{1cm}(几何形式) \\ &=\sqrt{x_1^2+y_1^2}\cos\theta \hspace{1cm}(代数形式) \end{split} lab=b a b =b a ∣∣b cosθ=a cosθ(几何形式)=x12+y12 cosθ(代数形式)
  • 用来求两个向量之间的夹角值
    cos ⁡ θ = a ⃗ ⋅ b ⃗ ∣ a ⃗ ∣ ∣ b ⃗ ∣ θ = arccos ⁡ ( a ⃗ ⋅ b ⃗ ∣ a ⃗ ∣ ∣ b ⃗ ∣ ) ( 几何形式 ) = arccos ⁡ ( x 1 x 2 + y 1 y 2 x 1 2 + y 1 2 ⋅ x 2 2 + y 2 2 ) ( 代数形式 ) \begin{split} \cos\theta &= \frac{\vec a · \vec b}{|\vec a||\vec b|} \\ \theta &= \arccos\Big( \frac{\vec a · \vec b}{|\vec a||\vec b|}\Big) \hspace{1cm}(几何形式)\\ &=\arccos\Big( \frac{x_1x_2 + y_1y_2}{\sqrt{x_1^2+y_1^2} ·\sqrt{x_2^2+y_2^2}}\Big) \hspace{1cm}(代数形式) \end{split} cosθθ=a ∣∣b a b =arccos(a ∣∣b a b )(几何形式)=arccos(x12+y12 x22+y22 x1x2+y1y2)(代数形式)
叉乘(外积)
叉乘的概念

叉乘(Dot Product)称为向量积,也称外积。以二维向量为例,假设空间中有两个向量 a ⃗ = ( x 1 , y 1 ) \vec a = (x_1, y_1) a =(x1,y1) b ⃗ = ( x 2 , y 2 ) \vec b = (x_2, y_2) b =(x2,y2),它们之间的夹角为 θ \theta θ

在这里插入图片描述

  • 从代数角度看

    • 二维
      叉乘是第一个向量与第二个向量不同位置上的值相乘的结果之差,写作
      a ⃗ × b ⃗ = x 1 y 2 − y 1 x 2 \vec a \times \vec b = x_1 y_2 - y_1 x_2 a ×b =x1y2y1x2
    • 三维
      三维向量叉乘的结果是一个新的三维向量 c ⃗ = ( x 3 , y 3 , z 3 ) \vec c = (x_3,y_3,z_3) c =(x3,y3,z3),新向量三个方向的值分别是第一个向量在另外两个方向上的值与第二个向量不同位置上的值相乘的结果之差,写作
      a ⃗ × b ⃗ = c ⃗ = ( x 3 , y 3 , z 3 ) { x 3 = y 1 z 2 − z 1 y 2 y 3 = z 1 x 2 − x 1 z 2 z 3 = x 1 y 2 − y 1 x 2 \vec a \times \vec b = \vec c =(x_3,y_3,z_3) \\ \begin{cases} x_3 = y_1 z_2 - z_1 y_2 \\ y_3 = z_1 x_2 - x_1 z_2 \\ z_3 = x_1 y_2 - y1 x_2 \end{cases} a ×b =c =(x3,y3,z3) x3=y1z2z1y2y3=z1x2x1z2z3=x1y2y1x2
  • 从几何角度看

    • 二维
      • 叉乘的前后顺序是有要求的,交换顺序后的计算结果是相反的。
        a ⃗ × b ⃗ = − b ⃗ × a ⃗ \vec a \times \vec b = - \vec b \times \vec a a ×b =b ×a
      • 叉乘的结果是一个有向面积,它的值等于两个向量围组成的平行四边形的面积,即以向量a和向量b为边的三角形的面积的两倍,它的方向与两向量之间的夹角有关( n ⃗ \vec n n a ⃗ \vec a a b ⃗ \vec b b 组成平面的单位向量)
        a ⃗ × b ⃗ = ∣ a ⃗ ∣ ∣ b ⃗ ∣ sin ⁡ θ n ⃗ \vec a \times \vec b = |\vec a||\vec b|\sin\theta \vec n a ×b =a ∣∣b sinθn
    • 三维
      叉乘的结果是一个新的三维向量,它的方向垂直于叉乘的两个向量所组成的平面,它的模长等于两个原向量扩张成的平行六面体的体积,也可以直接通过下式计算
      ∣ c ⃗ ∣ = x 3 2 + y 3 2 + z 3 2 |\vec c| = \sqrt{x_3^2 + y_3^2 + z_3^2} c =x32+y32+z32
叉乘的几何意义及其应用
  • 通过叉乘 a ⃗ × b ⃗ \vec a \times \vec b a ×b 的结果判断两个二维向量在平面上的相对方向关系

    • 如果结果大于0,表示向量 b ⃗ \vec b b 在向量 a ⃗ \vec a a 的逆时针方向;
    • 如果结果小于0,表示向量 b ⃗ \vec b b 在向量 a ⃗ \vec a a 的顺时针方向;
    • 如果结果等于0,表示向量 b ⃗ \vec b b a ⃗ \vec a a 共线,夹角为180°或0°。
  • 叉通过乘 a ⃗ × b ⃗ \vec a \times \vec b a ×b 的结果计算两个向量末端之间投影方向的横向距离

    • 二维向量中 a ⃗ × b ⃗ = ∣ a ⃗ ∣ ∣ b ⃗ ∣ sin ⁡ θ n ⃗ \vec a \times \vec b = |\vec a||\vec b|\sin\theta \vec n a ×b =a ∣∣b sinθn (单位向量不影响结果,在计算时可以直接省去 n ⃗ \vec n n )
    • 在投影三角形 Δ O A C \Delta OAC ΔOAC中存在此关系 sin ⁡ θ = ∣ A C ∣ ∣ A O ∣ = ∣ x ∣ ∣ a ⃗ ∣ \sin \theta = \dfrac{|AC|}{|AO|} = \dfrac{|x|}{|\vec a|} sinθ=AOAC=a x

综合以上两个公式易得
∣ x ∣ = ∣ a ⃗ ∣ sin ⁡ θ = ∣ a ⃗ ∣ ∣ b ⃗ ∣ sin ⁡ θ ∣ b ⃗ ∣ |x| = |\vec a|\sin\theta = \dfrac{|\vec a||\vec b|\sin\theta }{|\vec b|} x=a sinθ=b a ∣∣b sinθ
由于叉乘本身是有正负号的,这里为了正确计算横向距离 x x x,需要对叉乘操作加上一个绝对值处理,即
x = ∣ a ⃗ × b ⃗ ∣ ∣ b ⃗ ∣ x = \dfrac{|\vec a \times \vec b|}{|\vec b|} x=b a ×b

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值