【数学计算】点乘/点积/内积/数量积/叉乘/外积/叉积/向量积

2023-10-30

序言
  • 区分一下这几个概念
1. 点乘
  • 点乘 = 点积 = 内积 = 数量积
  • dot product = inner product = scalar product
  • a ⃗ = ( x 1 , y 1 , z 1 ) \vec{a} = (x_{1}, y_{1}, z_{1}) a =(x1,y1,z1) b ⃗ = ( x 2 , y 2 , z 2 ) \vec{b} = (x_{2}, y_{2}, z_{2}) b =(x2,y2,z2)
  • 从代数角度看,点积是对两个向量对应位置上的值相乘再相加的操作,其结果即为点积

a ⃗ ∙ b ⃗ = x 1 x 2 + y 1 y 2 + z 1 z 2 \vec{a}\bullet \vec{b} = x_{1}x_{2}+y_{1}y_{2}+z_{1}z_{2} a b =x1x2+y1y2+z1z2

  • 点乘的几何意义:向量b在向量a方向上的投影与向量a的模的乘积,用来表征或计算两个向量间的夹角,表征两个向量在方向上的相似度,结果越大越相似

a ⃗ ∙ b ⃗ = ∣ a ⃗ ∣ ∣ b ⃗ ∣ cos ⁡ θ \vec{a}\bullet \vec{b} = \left | \vec{a} \right | \left | \vec{b} \right | \cos \theta a b =a b cosθ

  • 基于点乘结果可以判断这两个向量是否是同一方向,是否正交垂直,具体对应关系:

       点乘 > 0:向量夹角在0~90°之间
       点乘 = 0:正交,相互垂直
       点乘 < 0:夹角在90~180°之间
    
  • 公式推导

    1. 向量c = a - b
    2. c^2 = a^2 + b^2 - 2abcos(theta)
    3. (a - b)(a - b) = a^2 + b^22a▪b = a^2 + b^2 - 2abcos(theta)
    
2. 叉乘
  • 叉乘 = 叉积 = 外积 = 向量积

  • cross product = outer product

  • a ⃗ = ( x 1 , y 1 , z 1 ) \vec{a} = (x_{1}, y_{1}, z_{1}) a =(x1,y1,z1) b ⃗ = ( x 2 , y 2 , z 2 ) \vec{b} = (x_{2}, y_{2}, z_{2}) b =(x2,y2,z2)

  • 从代数角度计算:

    a ⃗ × b ⃗ = ( y 1 z 2 − y 2 z 1 , − ( x 1 z 2 − x 2 z 1 ) , x 1 y 2 − x 2 y 1 ) \vec{a}\times \vec{b} = (y_{1}z_{2}-y_{2}z_{1},-(x_{1}z_{2}-x_{2}z_{1}), x_{1}y_{2}-x_{2}y_{1}) a ×b =(y1z2y2z1,(x1z2x2z1),x1y2x2y1)

  • 从几何角度计算

    • 其中 i ⃗ \vec{i} i j ⃗ \vec{j} j k ⃗ \vec{k} k 分别是x轴、y轴、z轴方向的单位向量
    • z 1 z_{1} z1 z 2 z_{2} z2等于0的时候,即得到二维向量叉乘的结果

a ⃗ × b ⃗ = ∣ i ⃗ j ⃗ k ⃗ x 1 y 1 z 1 x 2 y 2 z 2 ∣ = ( y 1 z 2 − y 2 z 1 ) i ⃗ − ( x 1 z 2 − x 2 z 1 ) j ⃗ + ( x 1 y 2 − x 2 y 1 ) k ⃗ \vec{a}\times \vec{b} = \begin{vmatrix} \vec{i} & \vec{j} & \vec{k}\\ x_{1} & y_{1} & z_{1}\\ x_{2} & y_{2} & z_{2}\end{vmatrix} = (y_{1}z_{2}-y_{2}z_{1})\vec{i}-(x_{1}z_{2}-x_{2}z_{1})\vec{j}+(x_{1}y_{2}-x_{2}y_{1})\vec{k} a ×b = i x1x2j y1y2k z1z2 =(y1z2y2z1)i (x1z2x2z1)j +(x1y2x2y1)k

  • 叉乘的几何意义

    • 二维向量叉乘:向量a和向量b的叉乘表示向量a和b构成的平行四边形的面积
    • 二维向量叉乘:如果a或b其中一个为单位向量,则axb叉乘结果表示以单位向量为底的平行四边形的高,可以有正负
    • 三维向量叉乘:向量a和向量b的叉乘结果是一个向量,该向量垂直于向量a和b组成的平面,即平面的法向量,方向遵守右手定则
  • 叉积有一个非常重要的性质,可通过叉积的符号来判断两向量的顺逆时针关系

    P x Q > 0, 则向量P在向量Q的顺时针方向;
    P x Q < 0, 则向量P在向量Q的逆时针方向;
    P x Q = 0,表示P与Q共线,可能同向也可能反向
    
3. 点乘 vs 叉乘,对比与应用
  • 点乘的结果是标量(常用于物理)/数量(常用于数学),可以用来计算夹角投影
  • 叉乘的结果是矢量(常用于物理)/向量(常用于数学),法向量的模大小为 ∣ a ∣ ∣ b ∣ sin ⁡ θ \left | a \right | \left | b \right | \sin \theta absinθ,方向遵守右手定则
  • 在二维空间中,叉乘结果等于向量a和b构成的平行四边形的面积,平行四边形的面积:以 ∣ b ∣ sin ⁡ θ \left | b \right | \sin \theta bsinθ为高,以 ∣ a ∣ \left | a \right | a为底。当a是单位向量时,计算b的终点到a所在直线的距离,也就是平行四边形的高
  • 通过向量的叉乘生成垂直于向量a/b的法向量,从而构建XYZ坐标系
  • 叉乘的结果再点乘可以用来判断向量/线段是否相交,即"跨立实验",见文章判断两条线段是否相交

 


《参考文章》

点乘叉乘及其几何意义
点乘叉乘的概念与几何意义
向量的顺逆时针关系

created by shuaixio, 2022.12.27

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【数学计算】点乘/点积/内积/数量积/叉乘/外积/叉积/向量积 的相关文章

随机推荐

  • Python中selenium实现文件上传所有方法整理总结

    pyAutoGUI官方文档 https pyautogui readthedocs io en latest 文件上传是所有UI自动化测试都要面对的一个头疼问题 今天博主在这里给大家分享下自己处理文件上传的经验 希望能够帮助到广大被文件上传
  • ​stp文件转ply

    什么是一 stp 文件 STP 文件是用于在 CAD 和 CAM 应用程序之间交换产品数据的 3D CAD 文件 它包含有关 3D 对象的信息 并以类似于STEP文件格式的方式保存 STP 文件根据STEP应用程序协议 ISO 10303
  • Qt设置label的文字自动换行、高度随内容调整、上下可滚动

    Qt初学者 想要用label控件实现一个用于显示文字信息的文本框 要求文字自动换行 label高度随内容调整 上下可滚动 为了实现滚动 使用ScrollArea控件 将要显示文字的label放到这个ScrollArea里 然后设置Scrol
  • 控制台报错:failed to load resource: net:err_cert_date_invalid的解决办法

    原因 浏览器端屏蔽了不安全的连接 解决办法 1 打开检查页面里 Network 网络 2 双击name 名称 下红色报错的地方 会出现以下界面 3 点击高级 下面会出现提示 点击继续前往 不安全 4 回到之前的页面刷新 问题就解决了
  • Exception of type 'System.OutOfMemoryException' was thrown.

    OutOfMemoryException Exception of type System OutOfMemoryException was thrown 在装有4G物理内存的32位OS机器上内存不足 原因是 The common lang
  • array type has an incomplete element type

    一 错误详情 array type has an incomplete element type 二 错误分析 1 错误代码 int readInfo int B int n int findMax int B int n int m 2
  • 英伟达Tesla T4 显卡编解码能力测试

    显卡基本参数 Timestamp Fri Aug 27 10 04 12 2021 Driver Version 460 32 03 CUDA Version 11 2 Attached GPUs 8 FB Memory Total 151
  • 计算机网络【IP数据包首部的各个字段详解】

    文章目录 一 网络层简述 二 网络层首部 版本 首部长度 区分服务 总长度 三 网络层首部 标识 标志 片偏移 四 网络层首部 生存时间 协议 首部检验和 五 可选字段 填充字段 源IP 目标IP 六 总结 一 网络层简述 一个IP数据包的
  • Windows计划任务(手动执行脚本正常,定时执行不生效)

    ps 本公司是一家游戏公司 目前有一台win服务器上面搭建MySQL数据库 现在需要做MySQL数据库的备份然后上传到Linux服务器上 bat 脚本写好以后手动双击测试多遍正常上传备份文件 可每当计划任务去执行的时候往往出错 不执行上传L
  • 系统开发设计基础(二)

    删除
  • 信号的傅里叶分析之傅里叶级数

    1 为什么要进行傅里叶分析 信号分析方法主流方法有 1 时域分析 以冲激信号为基本信号 任意输入信号可分解为一系列冲激信号 2 频域分析 以正弦信号和虚指数信号为基本信号 将任意输入信号分解为一系列不同频率的正弦信号或者虚指数信号之和 独立
  • c语言入门-程序运行的过程

    目录 程序运行的过程 1 编译 预编译 编译 汇编 2 链接 1 段表的合并 2 符号表的合并和重定位 3 运行 预处理 define 宏实现计算 define和typedef define的替换规则 和 将参数插入代码中 带有副作用的宏
  • Qt信号槽connect用法整理

    本文整理了一些当前项目中使用的Qt5 6版本信号 槽connect新旧写法的比较 需要注意的问题 一 connect string based和functor based写法比较 1 1 概述 自Qt 5 0以来 Qt提供了两种C 信号槽c
  • Python读取csv文件

    导入pandas包并设置别名为pd import pandas as pd 读取csv格式文件并把格式设置为DataFrame格式 值1是路径可以用绝对路径 cd盘内读取 也可以用相对路径 此项目内读取 这里用的是相对路径 作用 把乱码格式
  • SpringBoot整合eureka简记

    Eureka是一个服务治理组件 它主要包括服务注册和服务发现 主要用来搭建服务注册中心 Eureka 是一个基于 REST 的服务 用来定位服务 进行中间层服务器的负载均衡和故障转移 Eureka是Netflix 公司开发的 Spring
  • 模拟电路设计(14)---三点式振荡器

    常用三点式振荡器 晶体三极管其增益适中 工作频带宽 体积小巧 实际电路设计中常用来构成简洁可靠的三点式LC振荡器 是各种振荡器的主流电路 其交流等效电路组态见下图 三点式振荡器交流等效电路 上图所示三点式LC振荡器的交流等效电路 与实际原理
  • 半桥LLC谐振变换器及同步整流MATLAB仿真(一)

    在开关电源中 LLC谐振变换器是最常见的DC DC变换器之一 LLC谐振电路早在上世纪80年代就已经提出 到如今仍有广泛的应用 可见其优越性 其优点表现在 1 LLC的开关器件能实现软开关 开关损耗小 2 效率高 功率密度大 LLC按结构的
  • Project窗口

    窗口概述 在此视图中 可访问和管理属于项目的资源 以下 Project窗口也称为Project浏览器 Project浏览器的左侧面板将项目的文件夹结构显示为层级列表 通过单击从列表中选择文件夹时 文件夹内容将显示在右侧面板中 可单击小三角形
  • 第4章 基于RFID的仓储管理系统的实现

    4 1 需求分析 目前 在国内外应用比较广泛的仓储管理系统都采用了条形码或RFID 与条形码识别系统相比 无线射频识别技术具有很多优势 因此研究最多的还是射频识别技术在仓储中的应用 RFID技术的应用可以改善目前仓库管理的现状的不足 根据对
  • 【数学计算】点乘/点积/内积/数量积/叉乘/外积/叉积/向量积

    序言 区分一下这几个概念 1 点乘 点乘 点积 内积 数量积 dot product inner product scalar product a x