scipy.spatial.transform.Rotation.from_mrp¶
- Rotation.from_mrp()¶
根据修改的罗德里格斯参数(MRP)进行初始化。
MRP是与旋转轴同向的三维矢量,其大小等于
tan(theta / 4)
,在哪里theta
是旋转角度(以弧度为单位) [1].MRP在360度有一个奇点,可以通过确保旋转角度不超过180度,即当旋转超过180度时改变旋转方向来避免。
- 参数
- mrp类阵列,形状(N,3)或(3,)
单个矢量或一堆矢量,其中 mrp[i] 给出了第i组MRP。
- 退货
- 旋转 :
Rotation
实例循环实例 对象,该对象包含由输入MRP表示的旋转。
- 旋转 :
注意事项
1.6.0 新版功能.
参考文献
- 1
医学博士舒斯特“态度表征的调查”,“宇航科学杂志”,第41卷,第4期,1993年,第475-476页。
示例
>>> from scipy.spatial.transform import Rotation as R
初始化单个旋转:
>>> r = R.from_mrp([0, 0, 1]) >>> r.as_euler('xyz', degrees=True) array([0. , 0. , 180. ]) >>> r.as_euler('xyz').shape (3,)
初始化一个对象中的多个旋转:
>>> r = R.from_mrp([ ... [0, 0, 1], ... [1, 0, 0]]) >>> r.as_euler('xyz', degrees=True) array([[0. , 0. , 180. ], [180.0 , 0. , 0. ]]) >>> r.as_euler('xyz').shape (2, 3)
也可以具有单次旋转的堆栈:
>>> r = R.from_mrp([[0, 0, np.pi/2]]) >>> r.as_euler('xyz').shape (1, 3)