from_rotvec#
- static Rotation.from_rotvec(rotvec, degrees=False)[source]#
Initialize from rotation vectors.
A rotation vector is a 3 dimensional vector which is co-directional to the axis of rotation and whose norm gives the angle of rotation [1].
- Parameters:
- rotvecarray_like, shape (N, 3) or (3,)
A single vector or a stack of vectors, where rot_vec[i] gives the ith rotation vector.
- degreesbool, optional
If True, then the given magnitudes are assumed to be in degrees. Default is False.
Added in version 1.7.0.
- Returns:
- rotation
Rotation
instance Object containing the rotations represented by input rotation vectors.
- rotation
Notes
Array API Standard Support
from_rotvec
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.
References
Examples
>>> from scipy.spatial.transform import Rotation as R >>> import numpy as np
Initialize a single rotation:
>>> r = R.from_rotvec(np.pi/2 * np.array([0, 0, 1])) >>> r.as_rotvec() array([0. , 0. , 1.57079633]) >>> r.as_rotvec().shape (3,)
Initialize a rotation in degrees, and view it in degrees:
>>> r = R.from_rotvec(45 * np.array([0, 1, 0]), degrees=True) >>> r.as_rotvec(degrees=True) array([ 0., 45., 0.])
Initialize multiple rotations in one object:
>>> r = R.from_rotvec([ ... [0, 0, np.pi/2], ... [np.pi/2, 0, 0]]) >>> r.as_rotvec() array([[0. , 0. , 1.57079633], [1.57079633, 0. , 0. ]]) >>> r.as_rotvec().shape (2, 3)
It is also possible to have a stack of a single rotation:
>>> r = R.from_rotvec([[0, 0, np.pi/2]]) >>> r.as_rotvec().shape (1, 3)