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