旋转矩阵推导
来源:互联网 发布:非p2p下载软件 编辑:程序博客网 时间:2024/05/22 13:16
在左手坐标系中,设P(x, y, z)是旋转之前的点,Q(x`, y`, z)为绕z轴顺时针旋转o度后的点,M为旋转矩阵。则有:
(x`, y`, z`) = (x, y, z) * M
如下图,从z轴正向看旋转:
角POX = a, 角QOX = b,则有b = a + o
已知P的极坐标方程为:
x = r * cos(a)
y = r * sin(a)
Q的极坐标方程为:
x` = r * cos(b)
y` = r * sin(b)
因为cos(b) = cos(a + o) = cos(a)*cos(o) - sin(a)*sin(o),
sin(b) = sin(a + o) = sin(a)*cos(o) + cos(a)*sin(o)。
所以,
x` = r * cos(a)*cos(o) - r * sin(a)*sin(o) = x * cos(o) - y * sin(o)
y` = r * sin(a)*cos(o) + r * cos(a)*sin(o) = x * sin(o) + y * cos(o)
此时可以得出
| cos(o) sin(o) 0 |
M = | -sin(o) cos(o) 0 |
| 0 0 1 |
使得
Q(x`, y`, z`) = P(x, y, z) * M。
同理,可以推出其他轴的旋转矩阵。
求旋转矩阵的逆矩阵M`,使得P = Q * M`
将Q点向相反的方向旋转o度,即可得出逆矩阵。
o` = -o
将o`带入M中,可以得到M的逆矩阵
| cos(-o) sin(-o) 0 |
M` = |- sin(-o) cos(-o) 0 |
| 0 0 1 |
已知,
cos(-o) = cos(o)
sin(-o) = -sin(o)
所以,最终的逆矩阵为,
| cos(o) -sin(o) 0 |
M` = | sin(o) cos(o) 0 |
| 0 0 1 |
- 旋转矩阵推导
- 三维旋转矩阵推导
- 旋转矩阵公式推导
- 旋转矩阵推导
- 复数旋转的矩阵推导
- 三维旋转矩阵的推导
- 坐标系旋转矩阵推导过程
- 任意轴旋转的矩阵推导
- 绕任意轴旋转的矩阵推导
- 绕任意轴旋转的矩阵推导
- 关于三维空间中旋转矩阵的推导
- 绕任意轴旋转的矩阵推导
- 绕任意轴旋转的矩阵推导
- 绕任意轴旋转的矩阵推导
- PCA旋转变换矩阵的推导过程
- 四旋翼飞行器旋转矩阵公式推导!
- 绕任意轴旋转的变换矩阵的推导
- 四元数和旋转矩阵的相互推导过程
- 设计模式之观察者模式
- java.util.Date和java.sql.Date的区别及应用
- 推荐给初级Java程序员的3本进阶书
- Windows Server2008、IIS7启用CA认证及证书制作完整过程
- .Net---Sql数据库操作通用类库
- 旋转矩阵推导
- hdu 1495Legal or Not(搜索+模拟)
- C语言结构体实例一
- VC中按相对路径打开文件
- Linux中设置服务自启动的三种方式
- uva 348 - Optimal Array Multiplication Sequence
- C++ opencv数学方法判断点是否在三角形内
- 第九周任务一
- sql server2000数据类型