當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。