當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python SciPy Rotation.from_mrp用法及代碼示例


本文簡要介紹 python 語言中 scipy.spatial.transform.Rotation.from_mrp 的用法。

用法:

classmethod  Rotation.from_mrp(cls, mrp)#

從修改後的羅 Delhi 格斯參數 (MRP) 進行初始化。

MRP 是到旋轉軸的 3 維向量 co-directional,其大小等於 tan(theta / 4) ,其中 theta 是旋轉角度(以弧度為單位)[1]。

MRP 具有 360 度的單一性,可以通過確保旋轉角度不超過 180 度來避免這種情況,即在超過 180 度時切換旋轉方向。

參數

mrp 數組,形狀 (N, 3) 或 (3,)

單個向量或向量堆棧,其中 mrp[i] 給出第 i 個 MRP 集。

返回

rotation Rotation 實例

包含由輸入 MRP 表示的旋轉的對象。

注意

參考

[1]

Shuster, M. D.“態度表征調查”,《航天科學雜誌》,卷。 41, No.4, 1993, pp. 475-476

例子

>>> from scipy.spatial.transform import Rotation as R
>>> import numpy as np

初始化單個旋轉:

>>> r = R.from_mrp([0, 0, 1])
>>> r.as_euler('xyz', degrees=True)
array([0.        , 0.        , 180.      ])
>>> r.as_euler('xyz').shape
(3,)

在一個對象中初始化多個旋轉:

>>> r = R.from_mrp([
... [0, 0, 1],
... [1, 0, 0]])
>>> r.as_euler('xyz', degrees=True)
array([[0.        , 0.        , 180.      ],
       [180.0     , 0.        , 0.        ]])
>>> r.as_euler('xyz').shape
(2, 3)

也可以有一個單一旋轉的堆棧:

>>> r = R.from_mrp([[0, 0, np.pi/2]])
>>> r.as_euler('xyz').shape
(1, 3)

相關用法


注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.spatial.transform.Rotation.from_mrp。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。