jax.scipy.spatial.transform.Rotation

jax.scipy.spatial.transform.Rotation#

class jax.scipy.spatial.transform.Rotation(quat)[源代码][源代码]#

三维旋转。

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])

表示为四元数。

as_rotvec([degrees])

表示为旋转向量。

concatenate(rotations)

连接一系列 Rotation 对象。

count(value, /)

返回值出现的次数。

from_euler(seq, angles[, degrees])

从欧拉角初始化。

from_matrix(matrix)

从旋转矩阵初始化。

from_mrp(mrp)

从修正罗德里格斯参数 (MRPs) 初始化。

from_quat(quat)

从四元数初始化。

from_rotvec(rotvec[, degrees])

从旋转向量初始化。

identity([num, dtype])

获取身份旋转(s)。

index(value[, start, stop])

返回值的第一个索引。

inv()

反转此旋转。

magnitude()

获取旋转的大小。

mean([weights])

获取旋转的平均值。

random(random_key[, num])

生成均匀分布的旋转。

属性

quat

字段编号 0 的别名

single

此实例是否表示单次旋转。