【问题标题】:Inverting 3d rotation sequence反转 3d 旋转序列
【发布时间】:2014-05-22 18:54:48
【问题描述】:

我有一个构造为 H = Rz * Ry * Rx。所以旋转是按 xyz 顺序执行的。

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

v = Rz * Ry * Rx * v0

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

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

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

【问题讨论】:

    标签: rotation rotational-matrices euler-angles


    【解决方案1】:

    如果您的矩阵纯粹是旋转(即没有平移),则逆矩阵就是转置:

    R-1 = RT

    如果您的转换包括这样的翻译:

    A = 
    | R  T |  
    | 0  1 |
    

    然后像上面一样使用旋转矩阵的转置,对于平移部分,使用:

    T-1 = -RTT

    然后

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

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

    v0 = Rx-1 * Ry-1 * Rz-1 * v

    【讨论】:

    • 可能是,我的问题不清楚。我有用于构建初始变换矩阵的旋转角度。然而,我需要的是找到另一组旋转角度,它们将创建以相同顺序进行旋转的逆变换矩阵。基本上 Rz * Ry * Rx = (Rz' * Ry' * Rx')^-1
    • 如果我理解你,那么你只需要我的答案的第一行 R = (Rz * Ry * Rx)。
    • 好吧,这显然不能说服你。请发布您的旋转矩阵示例、生成它们的代码以及您希望实现的目标。
    猜你喜欢
    • 2011-06-13
    • 1970-01-01
    • 2014-01-26
    • 1970-01-01
    • 2023-03-10
    • 2012-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多