坐标系旋转矩阵推导过程
一、先来个平面旋转的分析:
两角和(差)公式
推导
旋转变换一般是按照某个圆心点,以一定半径 r 旋转一定的角度α
,为了简单起见我们给出下面的情景
假定点A(x,y)想经过旋转变换到达B(x',y'),已知旋转角度α
和点A坐标,计算出点B
要计算点B则分别计算他的x'和y'分量
根据矩阵乘法计算规则,可以推出
只要给出旋转角度,计算出矩阵,然后使用这个矩阵分别左乘每一个点,就能计算出这个点旋转后的点坐标 这样我们就可以通过矩阵变换坐标了
二、延伸到三维坐标:
坐标的旋转变换在很多地方都会用到,比如机器视觉中的摄像机标定、图像处理中的图像旋转、游戏编程等。
任何维的旋转可以表述为向量与合适尺寸的方阵的乘积。最终一个旋转等价于在另一个不同坐标系下对点位置的重新表述。坐标系旋转角度θ则等同于将目标点围绕坐标原点反方向旋转同样的角度θ。
若以坐标系的三个坐标轴X、Y、Z分别作为旋转轴,则点实际上只在垂直坐标轴的平面上作二维旋转。
假设三维坐标系中的某一向量,其在直角坐标系中的图如图1所示。其中点P在XY平面、XZ平面、YZ平面的投影分别为点M、点P、点N。
图1 直角坐标系XYZ
1、绕Z轴旋转θ角
绕Z轴旋转,相当于在XY平面的投影OM绕原点旋转,如下图所示,OM旋转θ角到OM'。
图2 向量绕Z轴旋转示意图
设旋转前的坐标为,旋转后的坐标为,则点M的坐标为,点M'的坐标为。由此可得:
对于和进行三角展开可得:
且有;可得绕Z轴旋转角的旋转矩阵为:
2、绕X轴旋旋转θ角
绕X轴旋转,相当于在YZ平面的投影ON绕原点旋转,如下图所示,ON旋转θ角到ON'。
图3 向量绕X轴旋转示意图
设旋转前的坐标为,旋转后的坐标为,则点N的坐标为,点N'的坐标为。由此可得:
对于和进行三角展开可得:
且有;可得绕X轴旋转角的旋转矩阵为:
3、绕Y轴旋旋转θ角
绕Y轴旋转,相当于在XZ平面的投影OQ绕原点旋转,如下图所示,OQ旋转θ角到OQ'。
图4 向量绕Y轴旋转示意图
设旋转前的坐标为,旋转后的坐标为,则点Q的坐标为,点Q'的坐标为。由此可得:
对于和进行三角展开可得:
且有;可得绕Y轴旋转角的旋转矩阵为:
4、绕X、Y、Z轴旋转的旋转矩阵分别为:
坐标系旋转矩阵推导过程相关推荐
- 三维坐标旋转矩阵推导过程(包看懂)
推导前提: 坐标使用右手坐标系,角度逆时针旋转为正. 绕X轴旋转角度为 俯仰角 即Pitch 绕Y轴旋转角度为 偏航角 即Yaw(Head) 绕Z轴旋转角度为 翻滚角 即Roll 一.平面二维坐标点的 ...
- 三维坐标系旋转矩阵推导
注意坐标系旋转不同于坐标点旋转 坐标系旋转角度θ则等同于将目标点围绕坐标原点反方向旋转同样的角度θ 1.三维坐标系推导过程 假设三维坐标系是一个右手坐标系.如下图 可以通过右手定则确定是右手坐标系. ...
- 20201205 旋转矩阵导数的推导过程
本文不讲旋转矩阵导数的证明,直接讲其中一种推导过程. 对象:姿态旋转矩阵 坐标系定义: 本体坐标系 FB\mathcal F_{B}FB, 参考坐标系 FR\mathcal F_{R}FR 欧拉旋 ...
- 点绕坐标系旋转旋转矩阵推导、理解
点绕坐标系旋转旋转矩阵推导.理解 开会过程中,翻笔记本时突然发现了之前推导的点绕坐标系旋转的旋转矩阵求解过程.在直觉上,一个点绕3个坐标轴旋转的旋转矩阵在形式上看起来是一致的,观感上比较优雅.整齐,但 ...
- 推到 旋转矩阵公式_3D旋转矩阵的推导过程
3D旋转矩阵的推导过程 包含平移的线性变换称作仿射变换,3D中的仿射变换不能用 3 x 3 矩阵表达,必须使用4 x 4矩阵. 一般来说,变换物体相当于以相反的量变换描述这个物体的坐标系.当有多个变换 ...
- 图像处理——几种简单的旋转变换的超详细推导过程(点在同一坐标系的变换)(一)
图像处理--几种简单的旋转变换的超详细推导过程(同一坐标系)(一) 本文主要推导了二维和三维坐标系中的绕点和绕轴的旋转变换,推导过程比较详细,希望可以给大家提供一些帮助. 一.绕原点的旋转(二维) 二 ...
- 手眼标定_全面细致的推导过程
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自 | 新机器视觉 本文解决的问题: 机械手搭载双目相机,手 ...
- 欧拉角的概念理解和欧拉角旋转矩阵推导
欧拉角用来计算空间中刚体的旋转位置,目的是改变刚体的朝向. 具体来说,空间中有一个点p和一根轴k,点p绕轴k旋转θ角度到p',求p'的坐标.这就是欧拉角要解决的问题. 只不过,欧拉角将1个点绕1根轴旋 ...
- 3维旋转矩阵推导与助记
旋转矩阵的应用范围比较广,是姿态变换,坐标变换等的基础.本篇先介绍旋转矩阵的推导过程与助记方法. 旋转矩阵的旋转其实包含两种意思,一是在同一个坐标系下,向量的旋转:二是坐标系的旋转,使得同一向量在不同 ...
最新文章
- DB数据源之SpringBoot+MyBatis踏坑过程(三)手工+半自动注解配置数据源与加载Mapper.xml扫描...
- linux 简介各发行版
- Ubuntu 12.04搭建MTK 6577 安卓开发环境
- Matlab绘制包含双Y轴的图
- ucla 计算机专业 本科申请,美国计算机专业申请
- 数据重现之11.5.2:RAID5同步与异步的判断
- 解读年度数据库PostgreSQL:如何处理并发控制(一)
- 从零基础入门Tensorflow2.0 ----七、36. 文本生成之---2. 构建模型
- Error response from daemon: OCI runtime exec failed: exec failed: container_linux.go:345:
- 3dmax:3dmax三维VR渲染设置之高级灯光渲染(经典案例—矩形光源打造灯箱效果)图文教程
- 36种漂亮的CSS3网页按钮Button样式 - 改进版
- 用C语言实现小写金额转大写
- 常见python爬虫模板_常见的Python爬虫框架有几个?
- 中国老百姓一生要交多少税?
- 【转载】C/C++ 笔试面试(1)—— sizeof
- 使用Python将一个excel的某些内容导入到新的excel中
- 验证码登录开发----手机验证码登录
- 视频异常行为检测网络
- 3月第1周业务风控关注 工信部曝光695款违规App近九成涉捆绑推广
- leetcode526 优美的排列
热门文章
- 吉林大学 超星慕课 高级语言程序设计 实验06 结构体(2022级)
- 网络尖兵让共享ADSL失去了自由【转】
- TPAC 2019 小会之 WebCodecs 提案
- netty延迟任务处理 —— HashedWheelTimer
- 25、驾考题库API接口,免费好用
- python 手写数字识别 封装GUI,手写板获取鼠标写字轨迹信息
- linux系统安装时无线键盘吗,[操作系统]用无线键盘鼠标装多系统或者装红旗LINUX4.0的朋友们进...
- Android中身份证正反面、营业执照横竖版的拍摄和裁剪
- 【oracle】配置恢复管理器Configuring Recovery Manager
- python中数字逐个递增_Python中递增和递减运算符的行为