图像处理——几种简单的旋转变换的超详细推导过程(点在同一坐标系的变换)(一)
图像处理——几种简单的旋转变换的超详细推导过程(同一坐标系)(一)
- 本文主要推导了二维和三维坐标系中的绕点和绕轴的旋转变换,推导过程比较详细,希望可以给大家提供一些帮助。
- 一、绕原点的旋转(二维)
- 二、绕任意点的旋转(二维)
- 三、绕坐标轴的旋转(三维)
- 3.1 绕x轴的旋转
- 3.2 绕y轴的旋转
- 3.3 绕z轴的旋转
- 四、绕任意轴的旋转(三维)
- 4.1 平移
- 4.2 旋转到坐标平面
- 4.3 旋转到与坐标轴重合
- 4.4 绕坐标轴的旋转
- 4.5 反向旋转和平移
- 4.6 结果整理
- 4.6.1 旋转轴经过原点的结果整理
- 4.6.2 旋转轴不经过原点的结果整理
- 五、绕自身坐标轴的旋转和绕固定坐标轴旋转
- 六、参考文章
- 七、word和ppt文件下载
本文主要推导了二维和三维坐标系中的绕点和绕轴的旋转变换,推导过程比较详细,希望可以给大家提供一些帮助。
一、绕原点的旋转(二维)
将橘色直线上的点绕坐标原点旋转到蓝色直线上,应该怎么运算?
设点到原点的距离为r,初始位置和x轴的夹角为Φ,逆时针旋转θ度
可以将点旋转前后的x、y坐标分别写出来(当然,我们也只能干这些事&-&),见式(1.1)和式(1.2),然后进行联立消去Φ,即可。
二、绕任意点的旋转(二维)
思路:绕任意点的旋转可以转化为绕原点的旋转
步骤: 1.旋转中心平移到原点2.进行绕原点旋转操作3.将旋转中心平移回原位置(1的逆操作)
因为平移需要进行加法运算,与旋转、缩放等乘法运算形式不一致,所以此时需要引入齐次坐标(齐次坐标的作用),来简化运算,统一形式表达。
三、绕坐标轴的旋转(三维)
请读者务必注意!!!
本文所涉及的三维平面坐标系均表示右手系。
旋转方向,以绕z轴旋转为例,旋转正方向是指:按照右手握的方向从x轴到y轴旋转,从z轴上方看是逆时针。
思路:三维坐标系中绕坐标轴的旋转可以转化为二维坐标系中绕原点的旋转
步骤: 1.选中旋转坐标轴(例如:y轴)2.固定y值,转化为二维坐标系xoz3.求解二维坐标系下绕原点的旋转4.求解的结果转化为三维坐标
3.1 绕x轴的旋转
3.2 绕y轴的旋转
注意!!!这里的三维坐标系和二维坐标系之间的转换
因为如果你从y轴方向看过去,你看到的是zox坐标系而不是xoz坐标系,所以如果套用二维坐标系下的绕原点旋转公式是需要注意坐标顺序的。有❤的小伙伴可以琢磨一下
3.3 绕z轴的旋转
四、绕任意轴的旋转(三维)
请各位读者注意!这个思路很重要!
思路:三维坐标系中绕任意轴的旋转可以转化为三维坐标系中分别绕两个坐标轴的旋转。
步骤: 1.通过平移使得旋转轴经过原点2.将旋转轴通过两次绕坐标轴的旋转,使其与某一坐标轴重合3.绕该坐标轴旋转指定角度4.将旋转轴通过两次绕坐标轴的旋转和平移,转回原位置。即步骤2和1的逆过程
4.1 平移
4.2 旋转到坐标平面
4.3 旋转到与坐标轴重合
4.4 绕坐标轴的旋转
4.5 反向旋转和平移
4.6 结果整理
4.6.1 旋转轴经过原点的结果整理
大部分的旋转轴是经过原点的,所以我们将两个平移矩阵去掉,进行下面的结果整理。
4.6.2 旋转轴不经过原点的结果整理
五、绕自身坐标轴的旋转和绕固定坐标轴旋转
一般情况下:围绕固定轴进行的三次旋转产生的最终方向与围绕自身移动框架的轴以相反顺序进行的三次旋转相同。
即:旋转角度不变,旋转轴选择的顺序相反。表现在计算中就是,旋转矩阵左乘的顺序相反。
六、参考文章
- 旋转变换(一)旋转矩阵
- 为什么要引入齐次坐标,齐次坐标的意义(二)
- 绕任意轴旋转
- 四元数与欧拉角(RPY角)的相互转换
七、word和ppt文件下载
内含已经编辑好的公式和绘制的坐标系
旋转公式草稿.docx
旋转变换推导过程中的坐标绘制.pptx
图像处理——几种简单的旋转变换的超详细推导过程(点在同一坐标系的变换)(一)相关推荐
- BFS广度优先遍历寻找最短路径(超详细实现过程)
广度优先遍历寻找最短路径 最近一直想搞A*算法,发现有部分没理解清楚.于是找到了广度优先遍历寻路算法学习了下,想看看可不可以对写A*有什么帮助.广度优先遍历寻路算法本身并不难,概括来说就是像雷达一样, ...
- 一文让你彻底搞懂最小二乘法(超详细推导)
要解决的问题 在工程应用中,我们经常会用一组观测数据去估计模型的参数,模型是我们根据先验知识定下的.比如我们有一组观测数据(xi,yi)(x_i,y_i)(xi,yi)(一维),通过一些数据分析我 ...
- 傅里叶级数和傅里叶变换超详细推导(DR_CAN)
傅里叶级数和傅里叶变换超详细推导(DR_CAN) Part I 三角函数的正交性 Part Ⅱ周期为2π\piπ的 f(x)的傅里叶展开 Part Ⅲ 周期为"2L"的函数展开为傅 ...
- SAS 9.4 的超详细安装过程(保姆级教程)(含安装包+常见问题解决)
目录:SAS 9.4 的超详细安装过程 一.安装前的准备 1.1 环境准备 1.2 安装包分享(解压密码见最后) 二.安装过程 2.1 下载解压完成 2.2 点击setup.exe安装 2.3 以管理 ...
- Hadoop集群安装和搭建(全面超详细的过程)
Hadoop集群安装和搭建(全面超详细的过程) 文章目录 Hadoop集群安装和搭建(全面超详细的过程) 前言 一.虚拟机的安装 二.Linux系统安装 1.环境准备 2.虚拟机安装 三.Centos ...
- xgboost实例_XGBoost超详细推导,终于有人讲明白了!
- XGB中树结点分裂的依据是什么? - 如何计算树节点的权值? - 为防止过拟合,XGB做了哪些改进? 相信看到这篇文章的各位对XGBoost都不陌生,的确,XGBoost不仅是各大数据科学比赛的必 ...
- 隐马尔科夫模型(HMM)算法的理解与超详细推导
今天看了徐亦达教授的HMM讲解,感觉有所收获,并将隐马尔科夫模型算法的推导整理了一下,帮助大家一起理解这个算法.首先我们通过一个股票的案例来引入这个算法,我们来看看这个股票行情和涨跌观测值的一个状态图 ...
- 卡尔曼滤波(kalman filter)超详细推导
1. 概率论相关知识 这一节主要回忆概率论的一些相关基础知识,包括全概率公式.贝叶斯公式.协方差矩阵.多维高斯分布等等,对这些熟悉的可以直接跳到第2节看贝叶斯滤波 1.1 条件概率 P(x,y)=P( ...
- 简单明了 - Git 使用超详细教程
见:http://www.admin10000.com/document/5374.html 一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的区别? S ...
最新文章
- 编程之美2.16 最长递增子序列
- C语言函数strstr()分析及实现
- oracle12c安装卡住_windows上安装oracle 12c到69%时卡住不动解决方案
- mac系统python写文件_Mac中py文件转为.command文件,双击运行
- 直播 | 小爱通用理解团队负责人雷宗:小爱同学中控意图理解
- 单片机c语言控制显示器,单片机实现LCD液晶显示器控制原理..docx
- 成功必读本:培养人脉的106个技巧
- 领域应用 | ​英文抗生素药物医学知识图谱 IASO1.0 版发布 线上试用正式启动
- JavaScript进阶学习(二)—— 基于原型链继承的js工具库的实现方法
- 面试准备之SQL 3——数据管理
- Tomcat------如何配置域名和80端口
- 如何让textarea不可拖拽变化大小
- 实施数据驱动的供应链管理能力问题
- oracle数据库文档生成Screw
- Vue中Swiper以及vue-awesome-swiper的安装和问题
- 10分钟学会发送邮件到指定邮箱
- 1年时间,年薪增加10万,前端小兵的我是如何做到的?
- html中sub标签作用,html中sub标签是什么?关于html sub标签的定义和使
- 论文笔记 EMNLP 2018|Jointly Multiple Events Extraction via Attention-based Graph Information Aggregation
- UWP笔记-消息弹窗自动淡出
热门文章
- 自己的网站颁发证书流程
- 证券机构出售的Level 2行情接口要多少钱?
- css网页favicon_favicon ico网页图标制作 IconWorkshop软件下载
- 自媒体文章素材网站有哪几种?根据这5个渠道提高你的文章创作速度
- tomcat java 热部署,tomcat热部署
- obs多推流地址_OBS直播多平台同时推流解决方法,简单粗暴
- hp-unix 11i v3 中文牛X资料
- 几步制作高清ICO图标
- borda法matlab,卫生应急风险矩阵法与Borda序值法评估
- 程序员的数学(一本为程序员朋友们写的数学书)(china-pub首发)