本文簡要介紹 python 語言中 scipy.spatial.transform.Rotation.as_quat
的用法。
用法:
Rotation.as_quat(self, canonical=False)#
表示為四元數。
3 維中的主動旋轉可以使用單位範數四元數來表示 [1]。從四元數到旋轉的映射是two-to-one,即四元數
q
和-q
,其中-q
隻是反轉每個分量的符號,表示相同的空間旋轉。返回值的格式為scalar-last(x,y,z,w)。- canonical: bool, 默認 False
是否將旋轉空間的冗餘雙覆蓋映射到唯一的“canonical”單覆蓋。如果為 True,則從 {q, -q} 中選擇四元數,使得 w 項為正。如果 w 項為 0,則選擇四元數,使得 x、y 和 z 項的第一個非零項為正。
- quat:
numpy.ndarray
,形狀 (4,) 或 (N, 4) 形狀取決於用於初始化的輸入的形狀。
- quat:
參數 ::
返回 ::
參考:
例子:
>>> from scipy.spatial.transform import Rotation as R >>> import numpy as np
表示單次旋轉:
>>> r = R.from_matrix([[0, -1, 0], ... [1, 0, 0], ... [0, 0, 1]]) >>> r.as_quat() array([0. , 0. , 0.70710678, 0.70710678]) >>> r.as_quat().shape (4,)
表示具有單次旋轉的堆棧:
>>> r = R.from_quat([[0, 0, 0, 1]]) >>> r.as_quat().shape (1, 4)
表示單個對象中的多個旋轉:
>>> r = R.from_rotvec([[np.pi, 0, 0], [0, 0, np.pi/2]]) >>> r.as_quat().shape (2, 4)
四元數可以從旋轉空間的冗餘雙重覆蓋映射到具有正 w 項的規範表示。
>>> r = R.from_quat([0, 0, 0, -1]) >>> r.as_quat() array([0. , 0. , 0. , -1.]) >>> r.as_quat(canonical=True) array([0. , 0. , 0. , 1.])
相關用法
- Python SciPy Rotation.as_matrix用法及代碼示例
- Python SciPy Rotation.as_euler用法及代碼示例
- Python SciPy Rotation.as_mrp用法及代碼示例
- Python SciPy Rotation.as_rotvec用法及代碼示例
- Python SciPy Rotation.approx_equal用法及代碼示例
- Python SciPy Rotation.apply用法及代碼示例
- Python SciPy Rotation.align_vectors用法及代碼示例
- Python SciPy Rotation.from_matrix用法及代碼示例
- Python SciPy Rotation.__pow__用法及代碼示例
- Python SciPy Rotation.magnitude用法及代碼示例
- Python SciPy Rotation.from_quat用法及代碼示例
- Python SciPy Rotation.from_mrp用法及代碼示例
- Python SciPy Rotation.__getitem__用法及代碼示例
- Python SciPy Rotation.from_rotvec用法及代碼示例
- Python SciPy Rotation.__mul__用法及代碼示例
- Python SciPy Rotation.inv用法及代碼示例
- Python SciPy Rotation.random用法及代碼示例
- Python SciPy Rotation.from_euler用法及代碼示例
- 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.as_quat。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。