07点积与叉积

点积

02向量与矩阵方程中,我有提及点积概念,现在来说说叉积概念

两个相同维数的向量

[ 2 7 1 ] ⋅ [ 8 2 8 ] = 2 ⋅ 8 + 7 ⋅ 2 + 1 ⋅ 8 = 38 \begin{bmatrix} 2\\ 7\\ 1\\ \end{bmatrix}\cdot \begin{bmatrix} 8\\ 2\\ 8\\ \end{bmatrix}=2\cdot 8 +7\cdot 2 +1\cdot 8 =38 271 828 =28+72+18=38

现在有两个向量,假设它们是用来表示三维坐标即(x,y,z)。我们只需要将它们配对相乘相加即可。

在几何上:A向量在B向量的投影长度 * B向量的长度。

  • 锐角:正数
  • 垂直:0
  • 钝角:负数

为何点乘与顺序无关

画图,然后分别做两个投影,我们会发现垂直线相交的点连接原点形成的线,正好是向量夹角的角平分线。即互为镜像。(当向量为单位长度时)

当向量不为单位长度时,我们可以理解为,先提出系数,然后再点乘单位向量

高维空间到低维空间

举一个例子。

当原空间为二维空间,要压缩要一维空间。

[!NOTE]

我们可以在二维空间上的y=x上取无数个间隔相同的点。在压缩之后,这些点将等距分布在一维空间上,即数轴上。–》线性变换

首先补充一下同一维度下的基向量的线性变换。 (基向量指的是i hat、j hat)
[ 1 2 2 3 ] \begin{bmatrix} 1 &2\\ 2 &3 \end{bmatrix} [1223]
这个2*2矩阵表示这个基向量线性变换的方法。

第一列是i hat的变换之后的位置(1,2)。同理,第二列…

使用它乘以同一维度的向量,就可以得到线性变换之后的新向量。

然后再进入到压缩到更低维度。举个例子,从二维到数轴。
[ 1 2 ] [ 1 3 ] = 4 ⋅ 1 + 3 ⋅ ( − 1 ) [ 1 2 ] [ 1 3 ] = 4 ⋅ 1 + 3 ⋅ ( − 1 ) \begin{align} \begin{bmatrix} 1 & 2 \end{bmatrix} \begin{bmatrix} 1 \\ 3 \end{bmatrix} &= 4 \cdot 1 + 3 \cdot (-1) \\[10pt] % 行间距可以调整,例如 10pt \begin{bmatrix} 1 \\ 2 \end{bmatrix} \begin{bmatrix} 1 \\ 3 \end{bmatrix} &= 4 \cdot 1 + 3 \cdot (-1) \end{align} [12][13][12][13]=41+3(1)=41+3(1)
左边的矩阵表示Transform,右边的Vector表示原向量,结果是变换之后在数轴上的位置。

有没有发现,这和直接进行点乘,是一样的,只不过是将向量倾斜为矩阵了而已。

那么为什么?

以我的看法。线性变换1*2矩阵的二维平面表现是一个向量,让这个矩阵点乘向量,即让向量投影在这个矩阵表现的向量所在的直线数轴。

因而,一个压缩的线性代换完全可以用一个向量来表示,这展现了数学之美

【熟肉】线性代数的本质 - 07 - 点积与对偶性

叉积

点积中,我们提及了两个向量之间的“投影长度”与“对齐”的关系,现在来说说叉积的概念。

两个三维向量的叉积

假设有两个向量:

a = [ 2 7 1 ] , b = [ 8 2 8 ] . \mathbf{a} = \begin{bmatrix} 2\\ 7\\ 1 \end{bmatrix}, \quad \mathbf{b} = \begin{bmatrix} 8\\ 2\\ 8 \end{bmatrix}. a= 271 ,b= 828 .

它们的叉积可以通过以下公式计算:

a × b = ∣ i j k 2 7 1 8 2 8 ∣ . \mathbf{a} \times \mathbf{b} = \begin{vmatrix} \mathbf{i} & \mathbf{j} & \mathbf{k} \\ 2 & 7 & 1 \\ 8 & 2 & 8 \end{vmatrix}. a×b= i28j72k18 .

展开行列式:

a × b = i ( 7 ⋅ 8 − 1 ⋅ 2 ) − j ( 2 ⋅ 8 − 1 ⋅ 8 ) + k ( 2 ⋅ 2 − 7 ⋅ 8 ) . \mathbf{a} \times \mathbf{b} = \mathbf{i}(7 \cdot 8 - 1 \cdot 2) - \mathbf{j}(2 \cdot 8 - 1 \cdot 8) + \mathbf{k}(2 \cdot 2 - 7 \cdot 8). a×b=i(7812)j(2818)+k(2278).

最终结果为:

a × b = [ 54 − 8 − 52 ] . \mathbf{a} \times \mathbf{b} = \begin{bmatrix} 54\\ -8\\ -52 \end{bmatrix}. a×b= 54852 .

结果是一个向量,垂直于向量a、b的张成空间,在二维上,可以理解为,这个向量垂直于向量a、b所围成的平行四边形。

计算方法

(1) 右手定则口诀:
  • 四指指 a a a,弯向 b b b,拇指出方向,就是 a × b a \times b a×b 的方向。
(2) 计算模板:
  • 写成行列式,按代数展开,记住公式:

a × b = ∣ i j k a x a y a z b x b y b z ∣ , a \times b = \begin{vmatrix} \mathbf{i} & \mathbf{j} & \mathbf{k} \\ a_x & a_y & a_z \\ b_x & b_y & b_z \end{vmatrix}, a×b= iaxbxjaybykazbz ,

a × b = i ( a y b z − a z b y ) − j ( a x b z − a z b x ) + k ( a x b y − a y b x ) . a \times b = \mathbf{i}(a_y b_z - a_z b_y) - \mathbf{j}(a_x b_z - a_z b_x) + \mathbf{k}(a_x b_y - a_y b_x). a×b=i(aybzazby)j(axbzazbx)+k(axbyaybx).


几何意义

  1. 大小
    叉积的大小是向量 a \mathbf{a} a b \mathbf{b} b 张成的平行四边形的面积:
    ∣ a × b ∣ = ∣ a ∣ ∣ b ∣ sin ⁡ θ , |\mathbf{a} \times \mathbf{b}| = |\mathbf{a}| |\mathbf{b}| \sin\theta, a×b=a∣∣bsinθ,
    其中 θ \theta θ a \mathbf{a} a b \mathbf{b} b 的夹角。

  2. 法向量

    如果两个向量所在的平面需要确定一个垂直方向(如三维图形的法向量),叉积直接给出了这个方向。

    结果是一个垂直于两个向量的向量,其方向由右手定则决定:

    • 用右手,四指指向 a \mathbf{a} a
    • 手掌弯向 b \mathbf{b} b
    • 拇指的方向就是 a × b \mathbf{a} \times \mathbf{b} a×b 的方向。
  3. 力矩(物理学中的应用):
    力矩是位置向量和力向量的叉积,结果是垂直于两者所在平面的向量:
    τ = r × F \mathbf{\tau} = \mathbf{r} \times \mathbf{F} τ=r×F


为何叉积与顺序有关?

与点积不同,叉积是一个反对称运算:
a × b = − ( b × a ) . \mathbf{a} \times \mathbf{b} = -(\mathbf{b} \times \mathbf{a}). a×b=(b×a).

这是因为方向的改变会使右手定则产生相反的结果。

画一个平行四边形,并用手分别验证 a × b \mathbf{a} \times \mathbf{b} a×b b × a \mathbf{b} \times \mathbf{a} b×a 的方向,可以发现它们是相反的。


从面积到法向量

  1. 面积的直观理解
    如果 a \mathbf{a} a b \mathbf{b} b 是平面中的两条边,叉积的大小就是平行四边形的面积,而叉积的方向是垂直于这个平面的。

  2. 法向量的意义
    在三维几何中,叉积常用来求两个向量所在平面的法向量。例如,给定两个边 a \mathbf{a} a b \mathbf{b} b,它们的叉积可以用来确定平面在三维空间中的方向。


一个实际应用:求三角形的面积

假设我们有两个三维向量 a \mathbf{a} a b \mathbf{b} b,它们从同一个顶点出发。如何计算由这两个向量张成的三角形的面积?

  1. 先求叉积 a × b \mathbf{a} \times \mathbf{b} a×b
    a × b = [ 2 7 1 ] × [ 8 2 8 ] = [ 54 − 8 − 52 ] . \mathbf{a} \times \mathbf{b} = \begin{bmatrix} 2 \\ 7 \\ 1 \end{bmatrix} \times \begin{bmatrix} 8 \\ 2 \\ 8 \end{bmatrix} = \begin{bmatrix} 54 \\ -8 \\ -52 \end{bmatrix}. a×b= 271 × 828 = 54852 .

  2. 计算叉积的模长:
    ∣ a × b ∣ = 5 4 2 + ( − 8 ) 2 + ( − 52 ) 2 = 2916 + 64 + 2704 = 5684 . |\mathbf{a} \times \mathbf{b}| = \sqrt{54^2 + (-8)^2 + (-52)^2} = \sqrt{2916 + 64 + 2704} = \sqrt{5684}. a×b=542+(8)2+(52)2 =2916+64+2704 =5684 .

  3. 三角形的面积为平行四边形面积的一半:
    三角形面积 = 1 2 ∣ a × b ∣ . \text{三角形面积} = \frac{1}{2} |\mathbf{a} \times \mathbf{b}|. 三角形面积=21a×b∣.


对比点积与叉积

特性点积 (Dot Product)叉积 (Cross Product)
结果类型标量(数值)向量(有大小和方向)
输入维度适用于任意维度向量仅适用于三维向量
几何意义反映两个向量的夹角关系反映两个向量张成的平面的法向方向
公式 a ⋅ b = ∣ a ∣ ∣ b ∣ cos ⁡ θ a \cdot b = |a| |b| \cos \theta ab=a∣∣bcosθ a × b = ∣ a ∣ ∣ b ∣ sin ⁡ θ a \times b = |a| |b| \sin \theta a×b=a∣∣bsinθ
直观作用两个向量在同一方向上的投影关系(相互对齐)两个向量张成平面的垂直方向
结果是否为零两个向量正交时点积为 0两个向量平行时叉积为 0

小结:点积与叉积的结合

  • 点积描述两个向量的投影关系,是“线性重叠”的量度。

  • 叉积描述两个向量的垂直关系,是“法向特性”的体现。

  • 点积反映两个向量“对齐”的程度, ∣ a ∣ ∣ b ∣ cos ⁡ θ |a||b| \cos\theta a∣∣bcosθ

  • 叉积反映两个向量“垂直张成”的面积, ∣ a ∣ ∣ b ∣ sin ⁡ θ |a||b| \sin\theta a∣∣bsinθ

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/475783.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springboot基于数据挖掘的广州招聘可视化分析系统

摘 要 基于数据挖掘的广州招聘可视化分析系统是一个创新的在线平台,旨在通过深入分析大数据来优化和改善广州地区的招聘流程。系统利用Java语言、MySQL数据库,结合目前流行的 B/S架构,将广州招聘可视化分析管理的各个方面都集中到数据库中&a…

VIM的下载使用与基本指令【入门级别操作】

VIM——超级文本编辑器 在当今时代,功能极其复杂的代码编辑器和集成开发环境(IDE)有很多。 但如果只想要一个超轻量级的代码编辑器,用于 Unix、C 或其他语言/系统,而不需要那些华而不实的功能,该怎么办呢&…

心情追忆-首页“毒“鸡汤AI自动化

之前,我独自一人开发了一个名为“心情追忆”的小程序,旨在帮助用户记录日常的心情变化及重要时刻。我从项目的构思、设计、前端(小程序)开发、后端搭建到最终部署。经过一个月的努力,通过群聊分享等方式,用…

开源代码统计工具cloc的简单使用

一.背景 公司之前开发了个小系统,要去申请著作权,需要填写代码数量。应该怎么统计呢?搜索了一下,还是用开源工具cloc吧!我的操作系统是windows,代码主要是java项目和vue项目。 二.到哪里找 可以去官方下载…

基于单片机的条形码识别结算设计

本设计基于单片机的条形码辨识与结算系统。该系统主要用于超市、商场等场所的商品结算,实现了在超市内对不同种类商品进行自动识别及自动分类结算的功能。该系统由STM32F103C8T6单片机、摄像头、显示、蜂鸣器报警、按键和电源等多个模块构成。该系统可实现商品自动识…

进程间通信的信号艺术:机制、技术与实战应用深度剖析

目录 1 什么是信号 2 为什么要有信号 3 对于信号的反应 3.1 默认行为 3.2 signal()函数 -- 自定义行为对信号做出反应 3.3 对信号进行忽略 4 信号的产生的类型 4.1 kill命令 4.2 键盘输入产生信号 4.3 系统调用接口 4.3.1 kill() 4.3.2 raise() 函数 4.4 软件条件 …

美畅物联丨JT/T 808 终端设备如何加入畅联云平台

在道路运输行业中,JT/T 808终端设备的应用正变得越来越广泛,把该设备接入畅联云平台,能够达成更高效的车辆管理与监控功能。今天,我们就来探讨一下JT/T 808终端设备接入畅联云平台的步骤与要点。 一、了解畅联云平台接入要求 首先…

【微服务】SpringBoot 整合ELK使用详解

目录 一、前言 二、为什么需要ELK 三、ELK介绍 3.1 什么是elk 3.2 elk工作原理 四、ELK搭建 4.1 搭建es环境 4.1.1 获取es镜像 4.1.2 启动es容器 4.1.3 配置es参数 4.1.4 重启es容器并访问 4.2 搭建kibana 4.2.1 拉取kibana镜像 4.2.2 启动kibana容器 4.2.3 修改…

jenkins的安装(War包安装)

‌Jenkins是一个开源的持续集成工具,基于Java开发,主要用于监控持续的软件版本发布和测试项目。‌ 它提供了一个开放易用的平台,使软件项目能够实现持续集成。Jenkins的功能包括持续的软件版本发布和测试项目,以及监控外部调用执行…

低速接口项目之串口Uart开发(一)——串口UART

本节目录 一、串口UART 二、串口协议 三、串口硬件 四、往期文章链接本节内容 一、串口UART 串口UART,通用异步收发传输器(Universal Asynchronnous Receiver / Transmitter),一种异步收发传输器,全双工传输。数据发送时,将并行…

WEB攻防-通用漏洞SQL注入Tamper脚本Base64Jsonmd5等

知识点: 1、数据表现格式类型注入; 2、字符转义绕过-宽字节注入; 3、数字&字符&搜索&编码&加密等; 参考资料: https://www.cnblogs.com/bmjoker/p/9326258.html SQL注入课程体系: 1、…

[Unity]TileMap开发,TileMap地图缝隙问题

环境: windows11 unity 2021.3.14f1c1 tilemap使用的图是美术已经拼接到一起的整图,块与块之间没有留缝隙 问题: TileMap地图直接在Unity中使用时,格子边缘会出现缝隙,移动或缩放地图时较明显。 解决方案&#x…

第75期 | GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区,集成了生成预训练Transformer(GPT)、人工智能生成内容(AIGC)以及大语言模型(LLM)等安全领域应用的知识。在这里,您可以找…

Vue 专属状态管理库Pinia的使用与实践

目录 前言1. 什么是 Pinia?2. Pinia 的安装与基本配置2.1 安装 Pinia2.2 在 Vue 应用中配置 Pinia 3. 使用 Pinia 创建和管理状态3.1 定义一个简单的 Store3.2 在组件中使用 Store 4. Pinia 的高级功能4.1 使用 Getter 简化数据处理4.2 支持异步操作4.3 在服务端渲染…

Argo workflow 拉取git 并使用pvc共享文件

文章目录 拉取 Git 仓库并读取文件使用 Kubernetes Persistent Volumes(通过 volumeClaimTemplates)以及任务之间如何共享数据 拉取 Git 仓库并读取文件 在 Argo Workflows 中,如果你想要一个任务拉取 Git 仓库中的文件,另一个任…

【Android】线程池的解析

引言 在Android当中根据用途分为主线程与子线程,主线程当中主要处理与界面相关的操作,子线程主要进行耗时操作。除了Thread本身以外,在Android当中还有很多扮演者线程的角色,比如AsyncTask( 底层为线程池,…

【Linux网络编程】简单的UDP套接字

目录 一,socket编程的相关说明 1-1,sockaddr结构体 1-2,Socket API 二,基于Udp协议的简单通信 三,UDP套接字的应用 3-1,实现英译汉字典 一,socket编程的相关说明 Socket编程是一种网络通信…

【java基础】微服务篇

参考黑马八股视频。 目录 Spring Cloud 5大组件 注册中心 负载均衡 限流 CAP和BASE 分布式事务解决方案 分布式服务的接口幂等性 分布式任务调度 Spring Cloud 5大组件 注册中心 Eureka的作用 健康监控 负载均衡 限流 漏桶固定速率,令牌桶不限速 CAP和BA…

java八股-SpringCloud微服务-Eureka理论

文章目录 SpringCloud架构Eureka流程Nacos和Eureka的区别是?CAP定理Ribbon负载均衡策略自定义负载均衡策略如何实现?本章小结 SpringCloud架构 Eureka流程 服务提供者向Eureka注册服务信息服务消费者向注册中心拉取服务信息服务消费者使用负载均衡算法挑…

thinkphp6安装php-mqtt/client,并实现实时消息收发写入日志

thinkphp6安装php-mqtt/client,并实现实时消息收发写入日志 系统:centos7 第一步:宝塔面板安装php环境8.0; 第二步:宝塔自带安装composer; 第三步:下载thinkphp6 create project composer require topthink/think…