scipy.spatial.transform.Rotation.from_rotvec

Rotation.from_rotvec()

从旋转向量初始化。

旋转矢量是与旋转轴同向的三维矢量,其范数给出旋转角度。 [1].

参数
rotvec类阵列,形状(N,3)或(3,)

单个矢量或一堆矢量,其中 rot_vec[i] 给出第i个旋转矢量。

degrees布尔值,可选

如果为True,则假定给定的大小以度为单位。默认值为False。

1.7.0 新版功能.

退货
旋转Rotation 实例循环实例

对象,该对象包含由输入旋转向量表示的旋转。

参考文献

1

https://en.wikipedia.org/wiki/Axis%E2%80%93angle_representation#Rotation_vector

示例

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

初始化单个旋转:

>>> r = R.from_rotvec(np.pi/2 * np.array([0, 0, 1]))
>>> r.as_rotvec()
array([0.        , 0.        , 1.57079633])
>>> r.as_rotvec().shape
(3,)

以度为单位初始化旋转,并以度为单位进行查看:

>>> r = R.from_rotvec(45 * np.array([0, 1, 0]), degrees=True)
>>> r.as_rotvec(degrees=True)
array([ 0., 45.,  0.])

初始化一个对象中的多个旋转:

>>> r = R.from_rotvec([
... [0, 0, np.pi/2],
... [np.pi/2, 0, 0]])
>>> r.as_rotvec()
array([[0.        , 0.        , 1.57079633],
       [1.57079633, 0.        , 0.        ]])
>>> r.as_rotvec().shape
(2, 3)

也可以具有单个旋转的堆栈:

>>> r = R.from_rotvec([[0, 0, np.pi/2]])
>>> r.as_rotvec().shape
(1, 3)