scipy.spatial.transform.Rotation.
as_matrix#
- Вращение.as_matrix(self)#
Представить как матрицу вращения.
3D-вращения могут быть представлены с использованием матриц вращения, которые представляют собой 3 x 3 вещественные ортогональные матрицы с определителем, равным +1 [1].
- Возвращает:
- матрицаndarray, форма (3, 3) или (N, 3, 3)
Форма зависит от формы входных данных, использованных для инициализации.
Примечания
Эта функция ранее называлась as_dcm.
Добавлено в версии 1.4.0.
Ссылки
Примеры
>>> from scipy.spatial.transform import Rotation as R >>> import numpy as np
Представить одно вращение:
>>> r = R.from_rotvec([0, 0, np.pi/2]) >>> r.as_matrix() array([[ 2.22044605e-16, -1.00000000e+00, 0.00000000e+00], [ 1.00000000e+00, 2.22044605e-16, 0.00000000e+00], [ 0.00000000e+00, 0.00000000e+00, 1.00000000e+00]]) >>> r.as_matrix().shape (3, 3)
Представьте стек с одним вращением:
>>> r = R.from_quat([[1, 1, 0, 0]]) >>> r.as_matrix() array([[[ 0., 1., 0.], [ 1., 0., 0.], [ 0., 0., -1.]]]) >>> r.as_matrix().shape (1, 3, 3)
Представление множественных вращений:
>>> r = R.from_rotvec([[np.pi/2, 0, 0], [0, 0, np.pi/2]]) >>> r.as_matrix() array([[[ 1.00000000e+00, 0.00000000e+00, 0.00000000e+00], [ 0.00000000e+00, 2.22044605e-16, -1.00000000e+00], [ 0.00000000e+00, 1.00000000e+00, 2.22044605e-16]], [[ 2.22044605e-16, -1.00000000e+00, 0.00000000e+00], [ 1.00000000e+00, 2.22044605e-16, 0.00000000e+00], [ 0.00000000e+00, 0.00000000e+00, 1.00000000e+00]]]) >>> r.as_matrix().shape (2, 3, 3)