Sympy旋转矩阵的方向

时间:2017-04-15 20:19:07

标签: python sympy

我想知道为什么同情的旋转矩阵不符合右手规则:

import sympy as sym
print(sym.rot_axis3(sym.Symbol('q')))

产生输出:

[[ cos(q), sin(q), 0],
 [-sin(q), cos(q), 0],
 [0,       0,      1]]

与右手旋转相比:

[[cos(q), -sin(q), 0],
 [sin(q), cos(q), 0],
 [0,      0,      1]]

以相反方向旋转矢量。在我意识到这个问题之前,我花了几个小时的时间在我的方程中寻找错误。

rot_axis2rot_axis1也是如此。

1 个答案:

答案 0 :(得分:2)

在R ^ 3中,当朝向原点时,以逆时针方向坐标系旋转x轴,y轴和z轴给出矩阵。

enter image description here

(Goldstein 1980,pp.146-147 and 608; Arfken 1985,pp.199-200)

另外,如果你查看了同情documentation

def rot_axis3(theta):
    """Returns a rotation matrix for a rotation of theta (in radians) about
    the 3-axis.
    [...]
    """
    ct = cos(theta)
    st = sin(theta)
    lil = ((ct, st, 0),
           (-st, ct, 0),
           (0, 0, 1))
    return Matrix(lil)