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


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


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

用法:

Rotation.as_mrp(self)#

表示為修改後的羅 Delhi 格斯參數 (MRP)。

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

MRP 具有 360 度的奇異性,可以通過確保旋轉角度不超過 180 度來避免這種情況,即在超過 180 度時切換旋轉方向。此函數將始終返回與小於或等於 180 度的旋轉相對應的 MRP。

返回

mrps ndarray,形狀 (3,) 或 (N, 3)

形狀取決於用於初始化的輸入的形狀。

注意

參考

[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_rotvec([0, 0, np.pi])
>>> r.as_mrp()
array([0.        , 0.        , 1.         ])
>>> r.as_mrp().shape
(3,)

表示具有單次旋轉的堆棧:

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

表示多次旋轉:

>>> r = R.from_rotvec([[np.pi/2, 0, 0], [0, 0, np.pi/2]])
>>> r.as_mrp()
array([[0.41421356, 0.        , 0.        ],
       [0.        , 0.        , 0.41421356]])
>>> r.as_mrp().shape
(2, 3)

相關用法


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