本文簡要介紹 python 語言中 scipy.spatial.transform.Rotation.from_quat
的用法。
用法:
classmethod Rotation.from_quat(cls, quat)#
從四元數初始化。
可以使用 unit-norm 四元數 [1] 來表示 3D 旋轉。
高級用戶可能對四元數表示的 3D 空間“double cover”感興趣 [2]。從版本 1.11.0 開始,與四元數
q
相對應的Rotation
r
上的以下操作子集(且僅此子集)保證保留雙覆蓋屬性:r = Rotation.from_quat(q)
、r.as_quat(canonical=False)
、r.inv()
,以及使用*
運算符進行組合,例如r*r
。- quat: 數組,形狀 (N, 4) 或 (4,)
每行都是一個(可能是非單位範數)四元數,表示主動旋轉,采用 scalar-last (x, y, z, w) 格式。每個四元數將被標準化為單位範數。
- rotation:
Rotation
實例 包含由輸入四元數表示的旋轉的對象。
- rotation:
參數 ::
返回 ::
參考:
[2]Hanson, Andrew J.“四元數可視化”。摩根考夫曼出版公司,舊金山,加利福尼亞州。 2006年。
例子:
>>> from scipy.spatial.transform import Rotation as R
初始化單個旋轉:
>>> r = R.from_quat([1, 0, 0, 0]) >>> r.as_quat() array([1., 0., 0., 0.]) >>> r.as_quat().shape (4,)
在單個對象中初始化多個旋轉:
>>> r = R.from_quat([ ... [1, 0, 0, 0], ... [0, 0, 0, 1] ... ]) >>> r.as_quat() array([[1., 0., 0., 0.], [0., 0., 0., 1.]]) >>> r.as_quat().shape (2, 4)
也可以有一個單一旋轉的堆棧:
>>> r = R.from_quat([[0, 0, 0, 1]]) >>> r.as_quat() array([[0., 0., 0., 1.]]) >>> r.as_quat().shape (1, 4)
四元數在初始化之前被標準化。
>>> r = R.from_quat([0, 0, 1, 1]) >>> r.as_quat() array([0. , 0. , 0.70710678, 0.70710678])
相關用法
- Python SciPy Rotation.from_matrix用法及代碼示例
- Python SciPy Rotation.from_mrp用法及代碼示例
- Python SciPy Rotation.from_rotvec用法及代碼示例
- Python SciPy Rotation.from_euler用法及代碼示例
- Python SciPy Rotation.__pow__用法及代碼示例
- Python SciPy Rotation.magnitude用法及代碼示例
- Python SciPy Rotation.as_matrix用法及代碼示例
- Python SciPy Rotation.as_euler用法及代碼示例
- Python SciPy Rotation.approx_equal用法及代碼示例
- Python SciPy Rotation.as_mrp用法及代碼示例
- Python SciPy Rotation.__getitem__用法及代碼示例
- Python SciPy Rotation.as_quat用法及代碼示例
- Python SciPy Rotation.__mul__用法及代碼示例
- Python SciPy Rotation.as_rotvec用法及代碼示例
- Python SciPy Rotation.apply用法及代碼示例
- Python SciPy Rotation.align_vectors用法及代碼示例
- Python SciPy Rotation.inv用法及代碼示例
- Python SciPy Rotation.random用法及代碼示例
- Python SciPy Rotation.mean用法及代碼示例
- Python SciPy RealData.set_meta用法及代碼示例
- Python SciPy RectBivariateSpline.__call__用法及代碼示例
- Python SciPy RectSphereBivariateSpline.ev用法及代碼示例
- Python SciPy RegularGridInterpolator.__call__用法及代碼示例
- Python SciPy RectSphereBivariateSpline.__call__用法及代碼示例
- Python SciPy RectBivariateSpline.ev用法及代碼示例
注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.spatial.transform.Rotation.from_quat。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。