反转3d旋转序列

时间:2014-04-09 13:54:02

标签: rotation rotational-matrices euler-angles

我有一个构造为的转换矩阵 H = Rz * Ry * Rx。因此,旋转以xyz顺序执行。

现在,给定围绕x,y和z轴的旋转角度,有没有办法找到旋转角度来执行逆操作,这样

v = Rz * Ry * Rx * v0

v0 = Rz'* Ry'* Rx'* v

只是为了完成。最后,我从变换矩阵中提取了欧拉角,如下所述:

从旋转矩阵计算欧拉角 - Gregory G. Slabaugh

1 个答案:

答案 0 :(得分:1)

如果你的矩阵是纯粹的旋转(即没有翻译),那么反转就只是转置:

  

R -1 = R T

如果您的转化包含如下翻译:

A = 
| R  T |  
| 0  1 |

然后使用如上所述的旋转矩阵的转置和翻译部分,使用:

  

T -1 = -R T T

然后

  

-1 =
  | R -1 T -1 |
  | 0 1 |

另请注意,您必须按相反的顺序进行反向旋转:

  

v 0 = R x -1 * R y -1 * R z -1 * v