绕任意轴旋转的矩阵推导
2015-12-03 16:07
441 查看
绕任意轴旋转的矩阵推导
左手坐标系下,一点绕任意轴旋转θ角的右乘矩阵:![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/16/8f59e74e5fce42538ae94cf7d99eae13.jpg)
其中C为cosθ,S为sinθ,A为单位化的旋转轴
以下推导均为左手坐标
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/16/8230e443ac38b2ed5c727a1c78d72d3f.jpg)
首先我们将P看成从原点出发的自由向量,将其分解为平行于轴A与垂直于轴A的分量A1,A2的形式:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/16/96824a047a431e55999becfcc112b5a3.jpg)
(公式1)
如图2:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/16/d53572c5eddcd65cc9b805b20c955356.jpg)
图2
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/16/4dd6e06b38f83e82efacb618e8bbb1c5.jpg)
(公式2)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/6204e0504cab9a1dd341349310fafc0b.jpg)
(公式3)
由于平行分量A1在旋转过程中保持不变,问题就在于垂直分量A2。先将A2旋转θ度后(A3)再加上A1就可以得到最终的旋转结果。如图3:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/16/89c2a6e806b00143b13202fd0b5112ae.jpg)
图3蓝色的点为P点旋转θ度后的位值
旋转后的位置点P'为:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/16/19396ce033746716320fcd4d2accd17c.jpg)
(公式4)
因为A2到A3的旋转是在垂直于A轴平面内进行的,所以可以将A3分解为A2与A2逆时针方向旋转90度的向量A4上的两个分量的形式。如图4:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/16/a8fa30e968e68b1fd6fa3c17eb1f7e08.jpg)
图4
下面我们来求A4
A2可以看成φ的对边,如图5:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/16/4dd567ce8392fb0e35fdd3a48bba61e0.jpg)
图5
A2的长度为:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/16/e0c6ba3a892bd20c177155a87dbace8b.jpg)
(公式5)
我们想要的向量A4正好为:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/16/205fdd7d3859fc6e0dfe7e29fa574341.jpg)
(公式6)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/16/8ec07fa70b311947eee08df9d90c0797.jpg)
(公式7)
因为A为单位向量所以(公式7)与(公式5)相等,这样长度相等并且同时垂直于A1,A2,所以就是我们要求的A4。
接下为求A3,我们用一个垂直于A的平面图来看一下,这样更直接,如图6:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/16/5931fb475fa2d9ac11264a0dd1e9ebf1.jpg)
图6
A2'与A4'分别为A3在A2与A4上的分量。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/16/b96e0b3ba5ab3995a21201e6a2ff5898.jpg)
(公式8)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/16/0f25934274dee98029a44d3f79fc11e4.jpg)
(公式9)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/16/12ab8c4eb1a2504f02de20c39249dee3.jpg)
(公式10)
因为:A2,A3,A4的长度都相等所以上面的两式化简为:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/16/f69d1e4aa01cf9df98568a27f201dcf8.jpg)
(公式11)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/16/399a61ac979c899f4d97e0c23203901e.jpg)
(公式12)
将以上公式代入到(公式4)中计算最终结果:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/16/326baf63bfaec023694d65b2cabe2f5b.jpg)
整理后得:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/16/c1f1c3c7243bd3d6054e154ef5122a77.jpg)
(公式13)
设:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/16/35b562ba533012bc94ff18f7e306822b.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/16/a662d234ee43bfc4290e43400885c0d5.jpg)
写成矩阵的形式为:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/16/a550cf13d01c1e35dd3923b2ff0bead8.jpg)
(公式14)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/16/ea7b2181220917bc7c80b96ffed6a3f6.jpg)
(公式15)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/16/23bf764763491ade88e327d0c0af1cbf.jpg)
(公式16)
代入(公式13)得:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/16/c055911fb2e784f555ac1612a8192644.jpg)
最终齐次的旋转矩阵为:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/16/a7d2b0c201ba52290b8d9f1c3f626253.jpg)
(公式17)
相关文章推荐
- 权限,角色,人员之间的关系
- Android快捷添加上拉加载、下拉刷新
- 使用Redis作为LRU缓存
- 如何选择网站管理系统
- 无法为 php_mysqli 指定 mysqli.default_socket 参数
- Java NIO使用分析
- iOS开发之旅--消息分发详解
- DrawerLayout侧滑菜单
- SQL2005SP4补丁安装时错误: -2146233087 MSDTC 无法读取配置信息。。。错误代码1603的解决办法
- jQuery学习-基本使用
- Persistent Data Structures(可持久化的数据结构)和源码
- Android:屏幕相关工具类
- Android 应用 自启动方法
- 聚合函数
- Maven多模块 vs 继承
- CONFIG_OF
- android中invalidate()的自动清屏含义以及屏幕刷新
- 我的Android进阶之旅------>Android Service学习之AIDL, Parcelable和远程服务
- Java删除文件夹和文件
- 优秀技术博客专家