scipy.spatial.transform.Rotation.
magnitude#
- Rotation.magnitude()[source]#
Get the magnitude(s) of the rotation(s).
- Returns:
- magnitudendarray or float
Angle(s) in radians, float if object contains a single rotation and ndarray if object contains multiple rotations. The magnitude will always be in the range [0, pi].
Notes
Array API Standard Support
magnitude
has experimental support for Python Array API Standard compatible backends in addition to NumPy. Please consider testing these features by setting an environment variableSCIPY_ARRAY_API=1
and providing CuPy, PyTorch, JAX, or Dask arrays as array arguments. The following combinations of backend and device (or other capability) are supported.Library
CPU
GPU
NumPy
✅
n/a
CuPy
n/a
✅
PyTorch
✅
✅
JAX
✅
✅
Dask
⛔
n/a
See Support for the array API standard for more information.
Examples
>>> from scipy.spatial.transform import Rotation as R >>> import numpy as np >>> r = R.from_quat(np.eye(4)) >>> r.as_quat() array([[ 1., 0., 0., 0.], [ 0., 1., 0., 0.], [ 0., 0., 1., 0.], [ 0., 0., 0., 1.]]) >>> r.magnitude() array([3.14159265, 3.14159265, 3.14159265, 0. ])
Magnitude of a single rotation:
>>> r[0].magnitude() 3.141592653589793