绕任意轴旋转的矩阵推导
2016-04-19 17:12
162 查看
绕任意轴旋转的矩阵推导
左手坐标系下,一点绕任意轴旋转θ角的右乘矩阵:其中C为cosθ,S为sinθ,A为单位化的旋转轴
以下推导均为左手坐标
首先我们将P看成从原点出发的自由向量,将其分解为平行于轴A与垂直于轴A的分量A1,A2的形式:
(公式1)
如图2:
图2
(公式2)
(公式3)
由于平行分量A1在旋转过程中保持不变,问题就在于垂直分量A2。先将A2旋转θ度后(A3)再加上A1就可以得到最终的旋转结果。如图3:
图3蓝色的点为P点旋转θ度后的位值
旋转后的位置点P'为:
(公式4)
因为A2到A3的旋转是在垂直于A轴平面内进行的,所以可以将A3分解为A2与A2逆时针方向旋转90度的向量A4上的两个分量的形式。如图4:
图4
下面我们来求A4
A2可以看成φ的对边,如图5:
图5
A2的长度为:
(公式5)
我们想要的向量A4正好为:
(公式6)
(公式7)
因为A为单位向量所以(公式7)与(公式5)相等,这样长度相等并且同时垂直于A1,A2,所以就是我们要求的A4。
接下为求A3,我们用一个垂直于A的平面图来看一下,这样更直接,如图6:
图6
A2'与A4'分别为A3在A2与A4上的分量。
(公式8)
(公式9)
(公式10)
因为:A2,A3,A4的长度都相等所以上面的两式化简为:
(公式11)
(公式12)
将以上公式代入到(公式4)中计算最终结果:
整理后得:
(公式13)
设:
写成矩阵的形式为:
(公式14)
(公式15)
(公式16)
代入(公式13)得:
最终齐次的旋转矩阵为:
(公
相关文章推荐
- poj 1258 Agri-Net
- java基本数据类型传递与引用传递区别详解
- shadow$_monitor_和shadow$_klass_
- UITabBarController
- KMP算法——从入门到懵逼到了解
- 布局填充器(LayoutInflater)
- Java 线程第三版 第四章 Thread Notification 读书笔记
- 1-6 01:与指定数字相同的数的个数
- Canvas中保存画布状态及还原
- 影响vector效率的关键
- 凹凸按钮样式
- QWT的安装与配置
- Struts2 Could not find action or result:错误
- windows下安装多个mysql
- JavaMail技术 用java代码发送邮件
- Linux修改文件属性和权限
- 异步加载图片-SDWebImage
- 第八周项目一-数组做数据成员(3)
- 首发|创业3年半,做8款App全部扑街;转做公众号5个月,零成本吸粉12万还拿了百万天使轮
- easyui,datagrid获得总行数,无视分页