scipy.spatial.transform.Rotation.as_matrix¶
- Rotation.as_matrix()¶
表示为旋转矩阵。
3D旋转可以使用旋转矩阵来表示,旋转矩阵是行列式等于+1的3x3实正交矩阵 [1].
- 退货
- matrixndarray,形状(3,3)或(N,3,3)
形状取决于用于初始化的输入的形状。
注意事项
此函数以前称为AS_DCM。
1.4.0 新版功能.
参考文献
示例
>>> from scipy.spatial.transform import Rotation as R
表示单次旋转:
>>> 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)