scipy.spatial.transform.Rotation.

as_rotvec#

Вращение.as_rotvec(self, градусы=False)#

Представить как векторы вращения.

Вектор вращения — это трёхмерный вектор, сонаправленный оси вращения, чья норма задаёт угол вращения [1].

Параметры:
градусылогический, необязательный

Возвращаемые величины в градусах, если этот флаг True, иначе они в радианах. По умолчанию False.

Добавлено в версии 1.7.0.

Возвращает:
rotvecndarray, форма (3,) или (N, 3)

Форма зависит от формы входных данных, использованных для инициализации.

Ссылки

Примеры

>>> from scipy.spatial.transform import Rotation as R
>>> import numpy as np

Представить одно вращение:

>>> r = R.from_euler('z', 90, degrees=True)
>>> r.as_rotvec()
array([0.        , 0.        , 1.57079633])
>>> r.as_rotvec().shape
(3,)

Представить вращение в градусах:

>>> r = R.from_euler('YX', (-90, -90), degrees=True)
>>> s = r.as_rotvec(degrees=True)
>>> s
array([-69.2820323, -69.2820323, -69.2820323])
>>> np.linalg.norm(s)
120.00000000000001

Представьте стек с одним вращением:

>>> r = R.from_quat([[0, 0, 1, 1]])
>>> r.as_rotvec()
array([[0.        , 0.        , 1.57079633]])
>>> r.as_rotvec().shape
(1, 3)

dlatrd

>>> r = R.from_quat([[0, 0, 1, 1], [1, 1, 0, 1]])
>>> r.as_rotvec()
array([[0.        , 0.        , 1.57079633],
       [1.35102172, 1.35102172, 0.        ]])
>>> r.as_rotvec().shape
(2, 3)