点乘

作者: 大龙10 | 来源:发表于2022-07-05 06:13 被阅读0次

    书名:代码本色:用编程模拟自然系统
    作者:Daniel Shiffman
    译者:周晗彬
    ISBN:978-7-115-36947-5
    第6章目录

    6.7 点乘

    1、点乘定义

    点乘运算的定义如下,对向量\mathop{\overrightarrow{A}}和向量\overrightarrow{B}

    \overrightarrow{A}=(a_x,a_y)
    \overrightarrow{B}=(b_x,b_y)
    点乘 :
    \overrightarrow{A}\overrightarrow{B}=a_xb_x+a_yb_y

    • 注意:点乘的计算结果是一个标量(数字),并非向量。

    2、Processing实现

    PVector a = new PVector(-3,5);
    PVector b = new PVector(10,1);
    float n = a.dot(b); PVector类包含点乘函数
    

    3、为什么需要点乘运算

    • 点乘比较常见的用途是计算两个向量之间的夹角。
      因为

    \overrightarrow{A}\overrightarrow{B}=||\overrightarrow{A}|| \times||\overrightarrow{B}|| \times cos(\theta)

    用Processing实现求夹角运算,代码如下:

    PVector a = new PVector(10,2);
    PVector b = new PVector(4,-3);
    float theta = acos(a.dot(b) / (a.mag() * b.mag()));
    

    4、特殊值

    • 如果两个向量正交(也就是互相垂直),它们的点乘等于0;
    • 如果两个向量是单位向量1,它们的点乘就等于夹角的余弦。

    相关文章

      网友评论

          本文标题:点乘

          本文链接:https://www.haomeiwen.com/subject/jmkkbrtx.html