scipy.spatial.transform.Rotation.

approx_equal#

Rotation.approx_equal(self, Rotation other, atol=None, degrees=False)#

确定另一个旋转是否与当前旋转大致相等。

相等性通过计算旋转之间的最小角度来衡量,并检查它是否小于 atol

参数:
otherRotation 实例

包含要与此旋转进行比较的旋转的对象。

atol浮点数,可选

绝对角度容差,低于此容差则认为旋转相等。如果未给出,则默认设置为 1e-8 弧度。

degrees布尔值,可选

如果为 True 且给出了 atol,则 atol 以度为单位。如果为 False(默认值),则 atol 以弧度为单位。

返回值:
approx_equalndarray 或布尔值

旋转是否大致相等,如果对象包含单个旋转则为布尔值,如果对象包含多个旋转则为 ndarray。

示例

>>> from scipy.spatial.transform import Rotation as R
>>> import numpy as np
>>> p = R.from_quat([0, 0, 0, 1])
>>> q = R.from_quat(np.eye(4))
>>> p.approx_equal(q)
array([False, False, False, True])

单个旋转的近似相等

>>> p.approx_equal(q[0])
False