旋转变换矩阵求逆
2017-11-22 10:15
337 查看
旋转变换矩阵求逆
背景
坐标系之间相互转换涉及到变换矩阵的求逆,求逆是一个野蛮的过程,世界坐标系到观察坐标系之间的坐标转换,实际上就是坐标系的平移加旋转,而旋转与平移变换都要以简单
得到其逆变换,从而绕过了对矩阵求逆的过程。下面求旋转变换的逆变换。
绕各坐标轴旋转的矩阵的逆等于其的转置
以绕z旋转为例x′=ρcos(α+θ)=ρ(cosα⋅cosθ−sinα⋅sinθ)=x⋅cosθ−y⋅sinθ
y′=ρsin(α+θ)=ρ(cosα⋅sinθ+sinα⋅cosθ)=x⋅sinθ+y⋅cosθ
z′=z
⎡⎣⎢x′y′z′⎤⎦⎥=⎡⎣⎢cosθsinθ0−sinθcosθ0001⎤⎦⎥⎡⎣⎢xyz⎤⎦⎥=Rz(θ)⎡⎣⎢xyz⎤⎦⎥
相应的还原矩阵:
Rz(−θ)=⎡⎣⎢cos(−θ)sin(−θ)0−sin(−θ)cos(−θ)0001⎤⎦⎥=⎡⎣⎢cosθ−sinθ0sinθcosθ0001⎤⎦⎥=Rz(θ)T
类似地,如果绕x, y轴旋转,有类似变换矩阵:
⎡⎣⎢x′y′z′⎤⎦⎥=⎡⎣⎢1000cosθsinθ0−sinθcosθ⎤⎦⎥⎡⎣⎢xyz⎤⎦⎥
Rx(−θ)=Rx(θ)T
⎡⎣⎢x′y′z′⎤⎦⎥=⎡⎣⎢cosθ0sinθ010−sinθ0cosθ⎤⎦⎥⎡⎣⎢xyz⎤⎦⎥
Ry(−θ)=Ry(θ)T
要还原某个旋转:
R(θ)=Rx(θ)⋅Ry(θ)⋅Rz(θ)
应该反先后顺序,反角度旋转:
R(−θ)=Rz(−θ)⋅Ry(−θ)⋅Rx(−θ)
使用转置替换之后:
R(−θ)=Rz(θ)T⋅Ry(θ)T⋅Rx(θ)T
=(Ry(θ)⋅Rz(θ))T⋅Rx(θ)T
=(Rx(θ)⋅Ry(θ)⋅Rz(θ))T
=R(θ)T
R(−θ)=R(θ)T
相关文章推荐
- 矩阵 模板(矩阵加减,矩阵乘法,矩阵求逆)
- Java实现的求逆矩阵算法示例
- 矩阵求逆的快速算法(转)
- 矩阵求逆的快速算法
- 矩阵求逆算法及程序实现(C++)
- C++写矩阵求逆
- c++实现任意矩阵求逆
- Java之求逆矩阵
- c# 矩阵求逆(转载)
- 矩阵求逆的快速算法
- C语言 n*n矩阵求值及求逆矩阵
- 3D数学之矩阵的各种求逆
- matlab矩阵求逆:inv pinv \ / 斜线运算符的选择
- 矩阵求逆的快速算法
- 矩阵求逆常见算法
- 矩阵求逆
- bzoj 3168: [Heoi2013]钙铁锌硒维生素 矩阵求逆+构造最小字典序完备匹配
- 高维矩阵求逆的方法,inv、pinv、/
- Excel函数使用——求逆矩阵和矩阵的值(Minverse和MDeterm)
- 矩阵求逆inv()