jax.scipy.spatial.transform.Rotation#

class jax.scipy.spatial.transform.Rotation(quat)[原始碼]#

3 維空間中的旋轉。

scipy.spatial.transform.Rotation 的 JAX 實作。

範例

建構一個描述繞 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])

表示為尤拉角 (Euler angles)。

as_matrix()

表示為旋轉矩陣。

as_mrp()

表示為修正羅德里格參數 (Modified Rodrigues Parameters, MRPs)。

as_quat([canonical, scalar_first])

表示為四元數。

as_rotvec([degrees])

表示為旋轉向量。

concatenate(rotations)

串聯一系列 Rotation 物件。

count(value, /)

傳回 value 出現的次數。

from_euler(seq, angles[, degrees])

從尤拉角 (Euler angles) 初始化。

from_matrix(matrix)

從旋轉矩陣初始化。

from_mrp(mrp)

從修正羅德里格參數 (Modified Rodrigues Parameters, MRPs) 初始化。

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

此實例是否代表單一旋轉。