(转)旋转矩阵推导
2016-03-14 11:11
309 查看
转自:http://www.cnblogs.com/luweimy/p/4121789.html
假定点A(x,y)想经过旋转变换到达B(x',y'),已知旋转角度
要计算点B则分别计算他的x'和y'分量
得出结果:
根据矩阵乘法计算规则,可以推出
左侧矩阵第一行各个元素分别乘以右侧矩阵第一列,然后相加,是结果矩阵的第一行第一列的元素
左侧矩阵第二行各个元素分别乘以右侧矩阵第一列,然后相加,是结果矩阵的第二行第一列的元素
只要给出旋转角度,就能计算出矩阵,然后就可以用这个矩阵分别左乘每一个点,就能计算出这个点旋转后的点坐标 这样我们就可以通过矩阵变换坐标了
如果是三维的话还得加个Z轴,多一个分量,矩阵也变成了3x3的,但是大概原理差不多,这里只做简单地原理分析,如果想计算三维点的坐标变换自己手动吧!!
预备知识
矩阵乘法
介绍略,去网上查吧两角和(差)公式
推导
旋转变换一般是按照某个圆心点,以一定半径 r 旋转一定的角度α,为了简单起见我们给出下面的情景
假定点A(x,y)想经过旋转变换到达B(x',y'),已知旋转角度
α和点A坐标,计算出点B
要计算点B则分别计算他的x'和y'分量
得出结果:
根据矩阵乘法计算规则,可以推出
左侧矩阵第一行各个元素分别乘以右侧矩阵第一列,然后相加,是结果矩阵的第一行第一列的元素
左侧矩阵第二行各个元素分别乘以右侧矩阵第一列,然后相加,是结果矩阵的第二行第一列的元素
只要给出旋转角度,就能计算出矩阵,然后就可以用这个矩阵分别左乘每一个点,就能计算出这个点旋转后的点坐标 这样我们就可以通过矩阵变换坐标了
如果是三维的话还得加个Z轴,多一个分量,矩阵也变成了3x3的,但是大概原理差不多,这里只做简单地原理分析,如果想计算三维点的坐标变换自己手动吧!!
相关文章推荐
- ios发布笔录
- 高性能后台服务器架构设计
- PS教程!教你打造超酷炫的德罗斯特效应
- discuz 出现了Uncaught TypeError: Cannot read property 'appendChild' of null
- while 和 until 循环
- echaers map整理
- Libevent源码分析(二)--- 时间管理
- K2 BPM打造企业新门户,步入移动办公时代
- Android画折线图、柱状图、饼图(使用achartengine.jar)
- struts2导出excel
- mysql slave从库负载均衡方案选择
- 「学习笔记」3.14代码学习
- Spring+MyBatis双数据库配置
- 2016华为机试题:循环报数
- 织梦dedecms自定义字段在首页列表页文章页的调用
- iOS_SN_CocoaPods使用详细说明( 转)
- NSMutableAttributedString简单使用
- Linux下设置MySQL编码
- 关于request.setAttribute多页传值,多页取值
- Genymotion无法启动虚拟设备的解决办法