本文简要介绍 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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。