from_mrp#
- метод класса Вращение.from_mrp(cls, mrp)#
Инициализация из модифицированных параметров Родригеса (MRPs).
MRPs — это трехмерный вектор, сонаправленный с осью вращения, величина которого равна
tan(theta / 4), гдеthetaэто угол поворота (в радианах) [1].MRP имеют особенность при 360 градусах, которую можно избежать, обеспечив, чтобы угол поворота не превышал 180 градусов, т.е. переключая направление вращения, когда оно превышает 180 градусов.
- Параметры:
- mrparray_like, форма (N, 3) или (3,)
Один вектор или набор векторов, где mrp[i] дает i-й набор MRP.
- Возвращает:
- вращение
Rotationэкземпляр Объект, содержащий вращения, представленные входными MRPs.
- вращение
Примечания
Добавлено в версии 1.6.0.
Ссылки
[1]Шустер, М. Д. «Обзор представлений ориентации», Журнал астронавтических наук, том 41, №4, 1993, стр. 475-476
Примеры
>>> from scipy.spatial.transform import Rotation as R >>> import numpy as np
Инициализация одиночного вращения:
>>> 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)