scipy.spatial.transform.Rotation.
as_rotvec#
- Rotation.as_rotvec(self, degrees=False)#
表示为旋转向量。
旋转向量是一个三维向量,它与旋转轴同向,其范数表示旋转角度 [1]。
- 参数:
- degrees布尔值,可选
如果此标志为 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)
在单个对象中表示多个旋转
>>> 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)