我想知道为什么同情的旋转矩阵不符合右手规则:
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_axis2
和rot_axis1
也是如此。
答案 0 :(得分:2)
在R ^ 3中,当朝向原点时,以逆时针方向坐标系旋转x轴,y轴和z轴给出矩阵。
(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)