图像处理——几种简单的旋转变换的超详细推导过程(同一坐标系)(一)
本文主要推导了二维和三维坐标系中的绕点和绕轴的旋转变换,推导过程比较详细,希望可以给大家提供一些帮助。
一、绕原点的旋转(二维)
将橘色直线上的点绕坐标原点旋转到蓝色直线上,应该怎么运算?
设点到原点的距离为r,初始位置和x轴的夹角为Φ,逆时针旋转θ度
可以将点旋转前后的x、y坐标分别写出来(当然,我们也只能干这些事&-&),见式(1.1)和式(1.2),然后进行联立消去Φ,即可。
二、绕任意点的旋转(二维)
思路:绕任意点的旋转可以转化为绕原点的旋转
步骤:
1.旋转中心平移到原点
2.进行绕原点旋转操作
3.将旋转中心平移回原位置(1的逆操作)
因为平移需要进行加法运算,与旋转、缩放等乘法运算形式不一致,所以此时需要引入齐次坐标(齐次坐标的作用),来简化运算,统一形式表达。
三、绕坐标轴的旋转(三维)
请读者务必注意!!!
本文所涉及的三维平面坐标系均表示右手系。
旋转方向,以绕z轴旋转为例,旋转正方向是指:按照右手握的方向从x轴到y轴旋转,从z轴上方看是逆时针。
思路:三维坐标系中绕坐标轴的旋转可以转化为二维坐标系中绕原点的旋转
步骤:
1.选中旋转坐标轴(例如:y轴)
2.固定y值,转化为二维坐标系xoz
3.求解二维坐标系下绕原点的旋转
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 旋转轴不经过原点的结果整理
五、绕自身坐标轴的旋转和绕固定坐标轴旋转
一般情况下:围绕固定轴进行的三次旋转产生的最终方向与围绕自身移动框架的轴以相反顺序进行的三次旋转相同。
即:旋转角度不变,旋转轴选择的顺序相反。表现在计算中就是,旋转矩阵左乘的顺序相反。
六、参考文章
七、word和ppt文件下载
内含已经编辑好的公式和绘制的坐标系
旋转公式草稿.docx
旋转变换推导过程中的坐标绘制.pptx