惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The GitHub Blog
The GitHub Blog
I
InfoQ
U
Unit 42
WordPress大学
WordPress大学
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Apple Machine Learning Research
Apple Machine Learning Research
J
Java Code Geeks
月光博客
月光博客
D
Docker
Stack Overflow Blog
Stack Overflow Blog
D
DataBreaches.Net
阮一峰的网络日志
阮一峰的网络日志
Blog — PlanetScale
Blog — PlanetScale
V
Visual Studio Blog
博客园 - 聂微东
A
About on SuperTechFans
腾讯CDC
Jina AI
Jina AI
Microsoft Azure Blog
Microsoft Azure Blog
GbyAI
GbyAI
博客园 - 【当耐特】
罗磊的独立博客
博客园 - 三生石上(FineUI控件)
M
MIT News - Artificial intelligence

又见苍岚

COLMAP PatchMatch Stereo 算法详解 事件驱动的状态机框架:从理论到工程实践 Git 在国内网络环境下无法 Push 的排查与修复 —— 配置 Clash 代理 分段五次多项式插值原理详解 路径插值方法深度对比研究 Claude Code 使用指南 OpenClaw 记忆管理与技能创建指南 CBS(Conflict-Based Search)算法详解 A* 算法及其变种详解 OpenClaw 配置多 Agents Windows Powershell 无法加载文件,因为在此系统上禁止运行脚本问题的解决方案 MaxClaw 安装流程 大模型 AI 名词介绍 AList 网盘聚合工具简介 Protobuf 简介与测试 Claude Code 简介以及 GLM 4.7 模型接入 Github 歌词下载工具 163MusicLyrics Python __getattr__ 懒加载 Python TypedDict 机器人仿真平台 Gazebo 安装记录 机器人仿真平台 Gazebo 简介 多机器人路径规划问题(Multi-Agent Path Finding, MAPF)简介 Python exifread 读取修改过的 jpeg 信息错误问题修复 3D 坐标系变换的理解 3D 旋转矩阵基本概念 MongoDB Compass 介绍 Python 环境管理工具 uv Flutter 开发指南 Snipaste 安装下载与黑屏问题解决方案 全局路径规划算法记录
旋转矩阵
Yiwei Zhang · 2023-04-04 · via 又见苍岚

矩阵乘法可以理解为空间的映射,本文记录旋转矩阵的作用。

矩阵乘法

矩阵乘法可以理解为向量之间的投影,左侧矩阵的行向量与右侧矩阵的列向量投影作为结果。

当左侧矩阵为 $N$ 维空间上的一组基时,这种乘法又可以看做是在求解原始空间中的向量 $[b_1,b_4,b_7]$ 在空间中新的基下的表示 $[c_1,c_4,c_7]$ 。

如果基的模长为1,那么求解原始空间中向量在新空间表示的长度时,其实就是原始向量在各个单位向量基上的投影长度,这也是基一般都是单位长度的原因。

旋转矩阵

旋转矩阵是特殊的单位基,用角度和三角函数表示基的大小,例如 $[\cos \theta,\sin\theta]$

这样基天然就是单位长度,而且带有可解释的含义,经过这样的基映射后,相当于原始空间的某个轴旋转了某个角度 $\theta$

旋转示例

原始二维笛卡尔坐标系空间中的一点 $A(x,y)$,现将 $X$ 轴和 $Y$ 轴分别逆时针旋转 $\theta _ x$ , $\theta _ y$ 角度,之后原始的 $A$ 点在新空间有新的表示 $A’(x’,y’)$。

新的 $X$ 轴在原始坐标系下的单位向量为 $[\cos \theta_x,\sin \theta_x]$,新的 $Y$ 轴在原始坐标系下的单位向量为 $[-\sin \theta_y,\cos \theta_y]$

那么 $A$ 在新坐标系下的坐标为 $OA$ 向量分别到两个单位向量的投影长度:

$$ \begin{array}{l} x'=x\cos \theta_x+y\sin\theta_x\\ y'=-x\sin \theta_y+y\cos\theta_y\\ \end{array} $$

这也就完成了 $A$ 的坐标系转换,用矩阵表示就是:

$$ RA= \left[\begin{array}{cc}\cos \theta_x & \sin \theta_x \\ -\sin \theta_y & \cos \theta_y\end{array}\right] \left[\begin{array}{cc}x \\ y \end{array}\right] = \left[\begin{array}{cc}x' \\ y' \end{array}\right] $$

其中 $R =\left[\begin{array}{cc}\cos \theta_x & \sin \theta_x \\ -\sin \theta_y & \cos \theta_y\end{array}\right] $ 也就是旋转矩阵,这里表示的是 $X,Y$ 轴不一定垂直的特殊旋转,一般常用的旋转矩阵为 $\theta_x = \theta_y$,这里的是更一般的应用场景。

参考资料

文章链接:
https://www.zywvvd.com/notes/study/linear-algebra/rotate-matrix/rotate-matrix/