bundles / scipy 2.0.0.dev0+git20260907.41eeb59 / scipy / spatial / transform / _rotation / Rotation / from_euler
staticmethod
scipy.spatial.transform._rotation:Rotation.from_euler
source: build-install/usr/lib/python3.14/site-packages/scipy/spatial/transform/_rotation.py:728
Signature
def from_euler(seq: str, angles: ArrayLike, degrees: bool = False) → RotationSummary
Initialize from Euler angles.
Extended Summary
Rotations in 3-D can be represented by a sequence of 3 rotations around a sequence of axes. In theory, any three axes spanning the 3-D Euclidean space are enough. In practice, the axes of rotation are chosen to be the basis vectors.
The three rotations can either be in a global frame of reference (extrinsic) or in a body centred frame of reference (intrinsic), which is attached to, and moves with, the object under rotation [1].
Parameters
seq: strSpecifies sequence of axes for rotations. Up to 3 characters belonging to the set {'X', 'Y', 'Z'} for intrinsic rotations, or {'x', 'y', 'z'} for extrinsic rotations. Extrinsic and intrinsic rotations cannot be mixed in one function call.
angles: float or array_like, shape (..., [1 or 2 or 3])Euler angles specified in radians (
degreesis False) or degrees (degreesis True). Each character inseqdefines one axis around whichanglesturns. The resulting rotation has the shape np.atleast_1d(angles).shape[:-1]. Dimensionless angles are thus only valid for single characterseq.degrees: bool, optionalIf True, then the given angles are assumed to be in degrees. Default is False.
Returns
rotation: `Rotation` instanceObject containing the rotation represented by the sequence of rotations around given axes with given angles.
Examples
from scipy.spatial.transform import Rotation as R
✓r = R.from_euler('x', 90, degrees=True) r.as_quat().shape✓
(4,)Initialize a single rotation with a given axis sequence:
r = R.from_euler('zyx', [90, 45, 30], degrees=True) r.as_quat().shape✓
(4,)Initialize a stack with a single rotation around a single axis:
r = R.from_euler('x', [[90]], degrees=True) r.as_quat().shape✓
(1, 4)Initialize a stack with a single rotation with an axis sequence:
r = R.from_euler('zyx', [[90, 45, 30]], degrees=True) r.as_quat().shape✓
(1, 4)Initialize multiple elementary rotations in one object:
r = R.from_euler('x', [[90], [45], [30]], degrees=True) r.as_quat().shape✓
(3, 4)Initialize multiple rotations in one object:
r = R.from_euler('zyx', [[90, 45, 30], [35, 45, 90]], degrees=True) r.as_quat().shape✓
(2, 4)
Aliases
scipy.spatial.transform.Rotation.from_euler