旋转矩阵推导

一、前言: 
周而复始的搜索、循环往复的记忆,但终究还是不深刻,不能像老师一样交给一个新人,所谓提纲挈领,名师指导还是相当有必要的,因为所有的坎,名师都遇到过,而且总结了自己的一套方法论。这样才能够言简意赅,才能够让一个什么都不懂(有点夸张),略等一些技术背景的人,很容易的就能够理解并且掌握。闲言少叙,下面来看下矩阵变换中的旋转矩阵的推导是怎么推导出来的。本文并不涉及为什么使用四维矩阵表示三维向量的旋转,这些知识将在后面的文章中一一涉及,有兴趣的或者锱铢必较(这里作褒义会意)的读者请关注博主接下来的学习历程。 
二、推导过程 
2.1二维向量的旋转 
这里写图片描述

2.2三维向量的旋转 
二维扩展到三维,其实还是蛮简单的,我们不妨将上面的图,再修改下,就可以得到如下图: 
这里写图片描述 
正如你看到的,添加了一个+z,就变成了三维空间了。上面将OP顺时针绕着z轴旋转了θ角度。这里我们要注意两点: 
(1)我们站在xy平面,朝着z轴的正方向看,我们挥舞着手臂,从OP转动θ角度到达了OP’,这里是顺时针沿着z轴旋转了θ角度。 
(2)搞清楚坐标系是左手坐标系还是右手坐标系,为什么要搞清楚这个呢?因为为了接下来的同理推导,哈哈为了省事。

2.3如何确定是左手坐标系,还是右手坐标系。 
这个问题,我的习惯是用手指模拟。伸出一只手,大拇指是x轴正方向、食指是y轴正方向、中指是z轴正方向。哪只手这样做之后能和坐标轴重合,那只手就是左/右坐标系。如下图所示,可以确定此坐标系为左手坐标系: 
这里写图片描述

2.4绕z轴旋转θ角度的矩阵表示 
这里写图片描述 
好事之徒,这里就会问,哎?这里z’经过矩阵变换之后,z轴结果没有变化,对呀为啥没有变化呢?你觉得会有变化吗?可以这么理解。 
这里写图片描述 
我们绕着z轴旋转,其实即使向量的在圆锥体上的移动,但是投射到z上的坐标是固定长度的,也可看出,绕某个轴旋转,其实这个点或者是向量的某轴坐标不变。例如,绕x轴旋转,则x轴的坐标不变;绕y轴旋转,y轴坐标不变;绕z轴旋转则z轴不变。

2.5绕x轴、y轴旋转θ角度的矩阵表示 
我们此时要做的就是转换坐标轴的位置,使其和我们上面的绕z轴推导进行硬套公式即可。如下所示,我们首先,记住首先,就是讲x轴方针原来z轴的位置。 
这里写图片描述 
此时到底是(一)还是(二)呢?回顾我们之前写的一句话,就是该坐标系是左手坐标系还是右手坐标系。经过验证(一)是左手坐标系;(二)是右手坐标系。又因为我们之前的坐标系是左手坐标系,所以这里选择(一)。 
ok此时,我们有了坐标系,我们只要把对应的变量替换上去即可。如下图所示: 
这里写图片描述
推导如下: 
这里写图片描述

猜你喜欢

转载自blog.csdn.net/linuxheik/article/details/82318555