scipy.spatial.transform.Rotation.
approx_equal#
- Rotation.approx_equal(other, atol=None, degrees=False)[source]#
Determine if another rotation is approximately equal to this one.
Equality is measured by calculating the smallest angle between the rotations, and checking to see if it is smaller than atol.
- Parameters:
- other
Rotationinstance Object containing the rotations to measure against this one.
- atolfloat, optional
The absolute angular tolerance, below which the rotations are considered equal. If not given, then set to 1e-8 radians by default.
- degreesbool, optional
If True and atol is given, then atol is measured in degrees. If False (default), then atol is measured in radians.
- other
- Returns:
- approx_equalArray or
numpy.bool Whether the rotations are approximately equal,
numpy.boolif object contains a single numpy rotation and Array if object contains multiple rotations or is from another library.
- approx_equalArray or
Examples
>>> 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])
Approximate equality for a single rotation:
>>> p.approx_equal(q[0]) np.False_