scipy.spatial.transform.Rotation.as_mrp¶
- Rotation.as_mrp()¶
表示为修正的罗德里格斯参数(MRP)。
MRP是与旋转轴同向的三维矢量,其大小等于
tan(theta / 4)
,在哪里theta
是旋转角度(以弧度为单位) [1].MRP在360度有一个奇点,可以通过确保旋转角度不超过180度,即当旋转超过180度时改变旋转方向来避免。此函数将始终返回对应于小于或等于180度旋转的MRP。
- 退货
- mrpsndarray,形状(3,)或(N,3)
形状取决于用于初始化的输入的形状。
注意事项
1.6.0 新版功能.
参考文献
- 1
医学博士舒斯特“态度表征的调查”,“宇航科学杂志”,第41卷,第4期,1993年,第475-476页。
示例
>>> from scipy.spatial.transform import Rotation as R
表示单次旋转:
>>> r = R.from_rotvec([0, 0, np.pi]) >>> r.as_mrp() array([0. , 0. , 1. ]) >>> r.as_mrp().shape (3,)
表示单次旋转的堆栈:
>>> r = R.from_euler('xyz', [[180, 0, 0]], degrees=True) >>> r.as_mrp() array([[1. , 0. , 0. ]]) >>> r.as_mrp().shape (1, 3)
表示多个旋转:
>>> r = R.from_rotvec([[np.pi/2, 0, 0], [0, 0, np.pi/2]]) >>> r.as_mrp() array([[0.41421356, 0. , 0. ], [0. , 0. , 0.41421356]]) >>> r.as_mrp().shape (2, 3)