scipy.spatial.transform.Rotation.

as_rotvec#

Rotation.as_rotvec(self, degrees=False)#

表示成旋轉向量。

旋轉向量是一個三維向量,其方向與旋轉軸同向,且其範數(norm)表示旋轉角度 [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)