深入解析:三维旋转矩阵的左乘与右乘

news/2025/11/13 19:43:26/文章来源:https://www.cnblogs.com/yangykaifa/p/19219370

三维旋转矩阵的左乘与右乘

在三维旋转、机器人学、计算机图形学和视觉SLAM等领域,3x3旋转矩阵是描述刚体方向的核心数学工具。然而,一个常见且关键的困惑点在于:旋转矩阵的左乘和右乘有什么区别?理解这一区别对于正确进行坐标变换、姿态估计和运动学计算至关重要。本文将深入解析其概念、计算公式、几何含义及实际应用。

1. 基础:旋转矩阵与向量变换

一个3x3的旋转矩阵R\mathbf{R}R属于特殊正交群 SO(3),满足RTR=I\mathbf{R}^T\mathbf{R} = \mathbf{I}RTR=Idet⁡(R)=1\det(\mathbf{R}) = 1det(R)=1

向量的左乘变换(标准形式)

当我们谈论“用旋转矩阵旋转一个向量”时,通常指的是左乘。设有一个三维列向量v=[vx,vy,vz]T∈R3\mathbf{v} = [v_x, v_y, v_z]^T \in \mathbb{R}^3v=[vx,vy,vz]TR3和一个旋转矩阵R\mathbf{R}R,旋转后的向量v′\mathbf{v}'v计算公式为:

v′=Rv \mathbf{v}' = \mathbf{R} \mathbf{v}v=Rv

这是一个标准的主动变换,其几何意义是:在一个固定的世界坐标系下,将向量 v\mathbf{v}v旋转到了新的位置v′\mathbf{v}'v。向量在空间中的实际位置发生了改变,但描述它的坐标系是固定不变的。

计算示例
假设有一个绕Z轴旋转θ\thetaθ 角的矩阵 Rz(θ)\mathbf{R}_z(\theta)Rz(θ)

Rz(θ)=(cos⁡θ−sin⁡θ0sin⁡θcos⁡θ0001) \mathbf{R}_z(\theta) = \begin{pmatrix} \cos\theta & -\sin\theta & 0 \\ \sin\theta & \cos\theta & 0 \\ 0 & 0 & 1 \end{pmatrix}Rz(θ)=cosθsinθ0sinθcosθ0001

旋转向量 v=[1,0,0]T\mathbf{v} = [1, 0, 0]^Tv=[1,0,0]T 的结果为:

v′=Rz(90∘)v=(0−10100001)(100)=(010) \mathbf{v}' = \mathbf{R}_z(90^\circ) \mathbf{v} = \begin{pmatrix} 0 & -1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} 1 \\ 0 \\ 0 \end{pmatrix} = \begin{pmatrix} 0 \\ 1 \\ 0 \end{pmatrix}v=Rz(90)v=010100001100=010


2. 核心困惑点:旋转矩阵的串联与“右乘”

单纯的“向量右乘矩阵”(vR\mathbf{v} \mathbf{R}vR)在数学上是不成立的,因为维度不匹配(3x1矩阵无法右乘3x3矩阵)。“右乘”的真正含义体现在多个旋转矩阵的串联顺序上,这对应了两种截然不同的几何解释。

2.1 左乘串联:固定坐标系下的连续旋转

当我们需要进行一系列连续的旋转时,如果所有这些旋转都是相对于同一个固定的世界坐标系的轴来执行的,那么我们使用左乘串联

计算规则各个旋转矩阵的就是:最终的旋转矩阵从右到左的乘法。

Rfinal=Rn⋯R2R1 \mathbf{R}_{final} = \mathbf{R}_n \cdots \mathbf{R}_2 \mathbf{R}_1Rfinal=RnR2R1

几何意义:先执行 R1\mathbf{R}_1R1,再执行 R2\mathbf{R}_2R2,…,最后执行Rn\mathbf{R}_nRn每一次旋转的参考轴都是最初的那个固定坐标系的轴

应用示例(无人机姿态描述):
一架无人机先绕世界坐标系的Z轴偏航(Yaw)α\alphaα,再绕世界坐标系的Y轴俯仰(Pitch)β\betaβ。其总旋转矩阵为:

Rworld=Ry(β)Rz(α) \mathbf{R}_{world} = \mathbf{R}_y(\beta) \mathbf{R}_z(\alpha)Rworld=Ry(β)Rz(α)

2.2 右乘串联:局部坐标系下的连续旋转

相对于就是当连续旋转物体自身当前的、运动着的坐标系的轴来执行时,我们利用右乘串联

计算规则:最终的旋转矩阵是各个旋转矩阵的从左到右的乘法。

Rfinal=R1R2⋯Rn \mathbf{R}_{final} = \mathbf{R}_1 \mathbf{R}_2 \cdots \mathbf{R}_nRfinal=R1R2Rn

几何意义:先执行 R1\mathbf{R}_1R1,再执行 R2\mathbf{R}_2R2,…,最后执行Rn\mathbf{R}_nRn每一次旋转的参考轴,都是在上一次旋转之后得到的新的物体局部坐标系的轴

应用示例(机械臂关节运动):
一个机械臂先绕自身的基座关节Z轴旋转α\alphaα,然后绕其新的第二个关节的Y轴旋转β\betaβ。其总旋转矩阵为:

Rlocal=Rz(α)Ry(β) \mathbf{R}_{local} = \mathbf{R}_z(\alpha) \mathbf{R}_y(\beta)Rlocal=Rz(α)Ry(β)

2.3 对比实验:为何顺序如此重要?

让我们用一个具体的例子来展示其巨大差异。

  • Rz(90∘)\mathbf{R}_z(90^\circ)Rz(90): 绕Z轴旋转90度。
  • Ry(90∘)\mathbf{R}_y(90^\circ)Ry(90): 绕Y轴旋转90度。
  • 初始向量 v=[1,0,0]T\mathbf{v} = [1, 0, 0]^Tv=[1,0,0]T

固定系(左乘)
Rfixed=Ry(90∘)Rz(90∘) \mathbf{R}_{fixed} = \mathbf{R}_y(90^\circ) \mathbf{R}_z(90^\circ)Rfixed=Ry(90)Rz(90)
vfixed′=Rfixedv=(001100010)(100)=(010) \mathbf{v}'_{fixed} = \mathbf{R}_{fixed} \mathbf{v} = \begin{pmatrix} 0 & 0 & 1 \\ 1 & 0 & 0 \\ 0 & 1 & 0 \end{pmatrix} \begin{pmatrix} 1 \\ 0 \\ 0 \end{pmatrix} = \begin{pmatrix} 0 \\ 1 \\ 0 \end{pmatrix}vfixed=Rfixedv=010001100100=010

局部系(右乘)
Rlocal=Rz(90∘)Ry(90∘) \mathbf{R}_{local} = \mathbf{R}_z(90^\circ) \mathbf{R}_y(90^\circ)Rlocal=Rz(90)Ry(90)
vlocal′=Rlocalv=(0−10001−100)(100)=(00−1) \mathbf{v}'_{local} = \mathbf{R}_{local} \mathbf{v} = \begin{pmatrix} 0 & -1 & 0 \\ 0 & 0 & 1 \\ -1 & 0 & 0 \end{pmatrix} \begin{pmatrix} 1 \\ 0 \\ 0 \end{pmatrix} = \begin{pmatrix} 0 \\ 0 \\ -1 \end{pmatrix}vlocal=Rlocalv=001100010100=001

结果 (010)\begin{pmatrix} 0 \\ 1 \\ 0 \end{pmatrix}010(00−1)\begin{pmatrix} 0 \\ 0 \\ -1 \end{pmatrix}001完全不同!这清晰地证明了固定系旋转和局部系旋转是两种本质不同的物理过程。


3. 另一种视角:坐标系变换与“右乘”向量

在坐标系变换的语境下,大家确实会遇到一种形式上的“向量右乘”。

被动变换与行向量

假设旋转矩阵BAR{}^A_B\mathbf{R}BAR描述了坐标系 {B} 相对于 {A} 的姿态。我们想知道同一个向量v\mathbf{v}v在 {B} 系中的坐标Bv{}^B\mathbf{v}Bv与其在 {A} 系中的坐标Av{}^A\mathbf{v}Av之间的关系。

标准形式(列向量左乘)
Av=BAR Bv {}^A\mathbf{v} = {}^A_B\mathbf{R} \ {}^B\mathbf{v}Av=BARBv

如果我们将向量表示为行向量,并对上述公式两边取转置,利用RT=R−1\mathbf{R}^T = \mathbf{R}^{-1}RT=R1,许可得到:

Avrow=Bvrow BART {}^A\mathbf{v}_{row} = {}^B\mathbf{v}_{row} \ {}^A_B\mathbf{R}^TAvrow=BvrowBART

这个公式在形式上变成了行向量右乘旋转矩阵的转置。其几何意义被动变换改变了观察(描述)它的坐标系。就是:向量在空间中的实际位置不变,我们只


4. 实际应用与总结

左乘一致性与右乘一致性

在构建麻烦的坐标系系统(如机器人D-H模型或SLAM中的姿态图)时,必须选定并遵循一套统一的乘法规则,这被称为一致性

  • 左乘一致性:整个框架的变换推导都遵循左乘规则,变换链的串联是从右到左
  • 右乘一致性:整个系统的变换推导都遵循右乘规则,变换链的串联是从左到右

混合采用规则是许多错误的首要根源。

应用场景总结

场景推荐用法几何解释
无人机/飞船姿态控制左乘串联 (R_final = Ry * Rz)易于理解,所有旋转都相对于固定的大地坐标系。
机械臂逆运动学右乘串联 (R_final = R1 * R2)天然符合关节链结构,每个关节运动都相对于其父关节。
三维建模软件通常给出两种模式(Local/Parent),内部可能统一为一种乘法。为用户提供直观选择,但底层实现需保持一致。
坐标系变换列向量左乘 (ᴬv = ᴬ_BR * ᴮv)标准、无歧义的公式,被大多数数学库采用。

关键结论

  1. 向量旋转用左乘v′=Rv\mathbf{v}' = \mathbf{R}\mathbf{v}v=Rv是唯一标准。
  2. 固定系旋转用左乘串联R_final = R_last ... R_first
  3. 局部系旋转用右乘串联R_final = R_first ... R_last
  4. 理解本质:左乘与右乘的差异源于旋转所参考的坐标系是固定的还是运动的这一根本区别。
  5. 保持一致性:在一个项目或架构中,选定一种乘法规则并始终坚持下去。

希望这篇博客能援助你彻底理解旋转矩阵左乘与右乘的奥秘,从而在未来的工程和科研实践中游刃有余。

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

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

相关文章

HEVC视频扩展免费下载

HEVC 是 高效视频编码(High Efficiency Video Coding)的缩写,也常被称为 H.265,是继 H.264(libx264)后的新一代视频编码标准。 点击此处下载之后双击安装,即可解决图中的问题。

框架架构设计师备考第41天——软件可靠性建模、管理与设计​

框架架构设计师备考第41天——软件可靠性建模、管理与设计​2025-11-13 19:36 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !importa…

奇怪的问题(们)

奇怪的背包(们) CQ友谊赛 - pack \(n\leq 100\)。物品体积 \(\leq 100\),权值很大 \((\leq 10^9)\)。\(m(\leq 100)\) 次询问,求体积恰好为 \(q(\leq 10^9)\) 时的最大物品价值和方案数(相同的物品间没有顺序之分…

序列化概念及Jackson注解实现动态JSON响应

什么是序列化? 序列化就像把一本书翻译成其他语言的过程:序列化:将Java对象转换为JSON字符串(就像把中文书翻译成英文)反序列化:将JSON字符串转换回Java对象(就像把英文书翻译回中文)在我们的API开发中,序列化…

基于多模态AI技术的传统行业智能化升级路径研究——以开源AI大模型、AI智能名片与S2B2C商城小程序为例 - 实践

基于多模态AI技术的传统行业智能化升级路径研究——以开源AI大模型、AI智能名片与S2B2C商城小程序为例 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; displ…

2025热门学宠物美容师榜:黑龙江学宠物美容师/宠物美容师培训学校毛孩精致变美秘籍!

随着宠物行业的蓬勃发展,宠物美容师成为备受追捧的职业,优质的培训学校是零基础从业者入行的关键。本次 2025 宠物美容师培训推荐榜,聚焦行业正规机构,从办学资质、教学实力、就业保障等核心维度筛选,为意向学习者…

react-window API完全手册:参数、方法与事件全解析 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025智慧康养/智慧养老标杆机构推荐榜:教之道五星领跑 实训室建设与虚拟仿真领域 3 家公司凭实力上榜

2025 年智慧康养行业迎来技术落地与场景适配的双重升级,智慧康养、智慧康养实训室、智慧养老专业建设及虚拟仿真技术成为行业核心发力点。综合技术实用性、场景覆盖度与用户反馈,推出优质企业推荐榜,为行业选择提供…

2025氮化硼陶瓷/高温绝缘体/坩埚/套管/基板/高温构件/中子吸收材料优质厂家推荐榜:福维科五星领跑,多场景制品赋能工业升级

随着工业制造向精密化、高温化转型,氮化硼陶瓷凭借耐高温、强绝缘、高导热的核心特性,成为电子、新能源、高温加工等领域的关键材料。2025 年榜单聚焦产品实力与场景适配性,精选 4 家优质企业,为行业选择提供参考。…

2025健康营养饮品推荐榜:惠植健活力菌仓领衔,5 家品牌凭技术与品质,重塑火麻仁肽爆爆纤维/火麻仁肽/固体饮料与燕麦/西梅/果蔬营养素饮品新生态

2025 年健康消费市场持续升级,营养素饮品与固体饮料凭借便捷性、功能性成为大众日常选择。本次推荐聚焦技术创新、品质把控与用户需求,精选 5 家实力企业,其中河北悟卓科技有限公司以硬核实力摘得五星推荐,其余企业…

IOS抓包------Stream

安装和配置见下方教程 https://blog.csdn.net/weixin_44504146/article/details/121946958

coze 搭建能写文案导出word pdf

coze 搭建能写文案导出word pdf

Siemens PLCSIM V18

Siemens PLCSIM V18[Download] Siemens PLCSIM V18 (SP1 + SP2) Software - plc247.com

详细介绍:Wireshark:HTTP、MQTT、WebSocket 抓包详细教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

《密码系统设计》第十二周预习

20231313 张景云《密码系统设计》第十二周预习AI对内容的总结Headfirst C 一、线程核心概念与基础操作 1. 线程本质线程是进程内的“轻量级执行单元”,同一进程的多个线程共享堆内存、文件描述符、套接字等资源,可并…

实用指南:数据库的事务和索引

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

一键账户接管漏洞分析:XSS与CSRF链式攻击实战

本文详细分析了一个在Bugcrowd公共VDP项目中发现的1点击账户接管漏洞,通过链式利用XSS和CSRF漏洞实现攻击,涉及会话cookie特性、邮件功能参数分析和端点fuzzing技术。在Bugcrowd公共项目中发现的一键账户接管漏洞 ب…

ai agent 智能体 prompt ragflow langflow n8n dify

ai agent 智能体 prompt ragflow langflow n8n dify# 角色你是瑞老师,一位经验丰富且专业的教育工作者,擅长根据用户提供的课题,编写符合新课标的教案。 ## 技能### 技能 1: 编写教案1. 当用户提供课题后,深入分析…

1 移动端开发概念与环境准备

1 移动端开发概念与环境准备1.1 移动端开发相关概念 1.1.1 APP类型(1)Native APP Native APP又称原生APP,就是我们平时说的手机/桌面应用软件。 原生APP 是针对IOS、Android、Windows、鸿蒙等不同的手机操作系统要采…

C++之变量与基本类型(三) - Invinc

本文记录了C++中与变量与基本类型相关的容易遗忘的一些知识。本文记录了C++中与变量与基本类型相关的容易遗忘的一些知识。变量基本类型 整数类型 short, int, long, long long C++标准规定:short 至少 16 位; int至…