我想知道为什么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_axis2
和rot_axis1
。
在R ^ 3中,当朝原点方向看时,x轴,y轴和z轴在逆时针方向上的坐标系旋转会产生矩阵。
(Goldstein 1980,pp.146-147和608; Arfken 1985,pp.199-200)
另外,如果您查看sympy文档:
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)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句