jax.scipy.spatial.transform.Rotation

jax.scipy.spatial.transform.Rotation#

class jax.scipy.spatial.transform.Rotation(quat)[source]#

3 维旋转。

JAX 实现 scipy.spatial.transform.Rotation.

示例

构造一个描述围绕 z 轴旋转 90 度的对象

>>> from jax.scipy.spatial.transform import Rotation
>>> r = Rotation.from_euler('z', 90, degrees=True)

转换为旋转矢量

>>> r.as_rotvec()
Array([0.       , 0.       , 1.5707964], dtype=float32)

转换为旋转矩阵

>>> r.as_matrix()
Array([[ 0.        , -0.99999994,  0.        ],
       [ 0.99999994,  0.        ,  0.        ],
       [ 0.        ,  0.        ,  0.99999994]], dtype=float32)

与另一个旋转组合

>>> r2 = Rotation.from_euler('x', 90, degrees=True)
>>> r3 = r * r2
>>> r3.as_matrix()
Array([[0., 0., 1.],
       [1., 0., 0.],
       [0., 1., 0.]], dtype=float32)

请参阅 scipy Rotation 文档以获取有关操作 Rotation 对象的更多示例。

参数::

quat (jax.Array)

__init__()#

方法

__init__()

apply(vectors[, inverse])

将此旋转应用于一个或多个矢量。

as_euler(seq[, degrees])

表示为欧拉角。

as_matrix()

表示为旋转矩阵。

as_mrp()

表示为修正罗德里格斯参数 (MRPs)。

as_quat([canonical, scalar_first])

表示为四元数。

as_rotvec([degrees])

表示为旋转向量。

concatenate(rotations)

连接一系列 Rotation 对象。

count(value, /)

返回 value 的出现次数。

from_euler(seq, angles[, degrees])

从欧拉角初始化。

from_matrix(matrix)

从旋转矩阵初始化。

from_mrp(mrp)

从修改后的 Rodrigues 参数 (MRP) 初始化。

from_quat(quat)

从四元数初始化。

from_rotvec(rotvec[, degrees])

从旋转向量初始化。

identity([num, dtype])

获取恒等旋转。

index(value[, start, stop])

返回 value 的第一个索引。

inv()

反转此旋转。

magnitude()

获取旋转的大小。

mean([weights])

获取旋转的平均值。

random(random_key[, num])

生成均匀分布的旋转。

属性

quat

字段编号 0 的别名

single

此实例是否代表单个旋转。