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