当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python SciPy Rotation.as_rotvec用法及代码示例


本文简要介绍 python 语言中 scipy.spatial.transform.Rotation.as_rotvec 的用法。

用法:

Rotation.as_rotvec(self, degrees=False)#

表示为旋转向量。

旋转向量是一个 3 维向量,它是相对于旋转轴的 co-directional,其范数给出了旋转角度 [1]。

参数

degrees 布尔值,可选

如果此标志为 True,则返回的幅度以度为单位,否则以弧度为单位。默认为假。

返回

rotvec ndarray,形状 (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)

相关用法


注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.spatial.transform.Rotation.as_rotvec。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。