Skip to content

EulerAngleOrder Enum

The EulerAngleOrder enumeration specifies the rotation sequence for Euler angle representations. There are 12 possible sequences: 6 symmetric sequences where the first and third rotations are about the same axis, and 6 asymmetric sequences where all rotations are about different axes.

EulerAngleOrder

EulerAngleOrder()

Enumeration of Euler angle rotation sequences.

Specifies the order of rotations for Euler angle representations. Each sequence represents three consecutive rotations about specified axes. There are 12 possible sequences: 6 symmetric (XYX, XZX, YXY, YZY, ZXZ, ZYZ) and 6 asymmetric (XYZ, XZY, YXZ, YZX, ZXY, ZYX).

The sequence determines how Euler angles are applied: the first rotation is about the first axis, the second about the second axis, and the third about the third axis. For example, XYZ means rotate about X, then Y, then Z.

Attributes:

Name Type Description
XYX Any

X-Y-X sequence (symmetric). Numerical value: 121

XYZ Any

X-Y-Z sequence (Roll-Pitch-Yaw in aerospace). Numerical value: 123

XZX Any

X-Z-X sequence (symmetric). Numerical value: 131

XZY Any

X-Z-Y sequence. Numerical value: 132

YXY Any

Y-X-Y sequence (symmetric). Numerical value: 212

YXZ Any

Y-X-Z sequence. Numerical value: 213

YZX Any

Y-Z-X sequence. Numerical value: 231

YZY Any

Y-Z-Y sequence (symmetric). Numerical value: 232

ZXY Any

Z-X-Y sequence. Numerical value: 312

ZXZ Any

Z-X-Z sequence (symmetric). Numerical value: 313

ZYX Any

Z-Y-X sequence (Yaw-Pitch-Roll in aerospace). Numerical value: 321

ZYZ Any

Z-Y-Z sequence (classical Euler angles in physics). Numerical value: 323

Example
import brahe as bh
import numpy as np

# Create Euler angles using XYZ sequence (Roll-Pitch-Yaw)
euler_rpy = bh.EulerAngle(bh.EulerAngleOrder.XYZ, 10.0, 20.0, 30.0, bh.AngleFormat.DEGREES)
print(f"Order: {euler_rpy.order}")  # EulerAngleOrder.XYZ

# Create Euler angles using ZYZ sequence (classical)
euler_zyz = bh.EulerAngle(bh.EulerAngleOrder.ZYZ, 45.0, 60.0, 90.0, bh.AngleFormat.DEGREES)

# Convert quaternion to Euler angles with specific sequence
q = bh.Quaternion(1.0, 0.0, 0.0, 0.0)
euler = bh.EulerAngle.from_quaternion(q, bh.EulerAngleOrder.ZYX)

Initialize instance.

XYX class-attribute

XYX: Any = EulerAngleOrder.XYX

Enumeration of Euler angle rotation sequences.

Specifies the order of rotations for Euler angle representations. Each sequence represents three consecutive rotations about specified axes. There are 12 possible sequences: 6 symmetric (XYX, XZX, YXY, YZY, ZXZ, ZYZ) and 6 asymmetric (XYZ, XZY, YXZ, YZX, ZXY, ZYX).

The sequence determines how Euler angles are applied: the first rotation is about the first axis, the second about the second axis, and the third about the third axis. For example, XYZ means rotate about X, then Y, then Z.

Attributes:

Name Type Description
XYX

X-Y-X sequence (symmetric). Numerical value: 121

XYZ

X-Y-Z sequence (Roll-Pitch-Yaw in aerospace). Numerical value: 123

XZX

X-Z-X sequence (symmetric). Numerical value: 131

XZY

X-Z-Y sequence. Numerical value: 132

YXY

Y-X-Y sequence (symmetric). Numerical value: 212

YXZ

Y-X-Z sequence. Numerical value: 213

YZX

Y-Z-X sequence. Numerical value: 231

YZY

Y-Z-Y sequence (symmetric). Numerical value: 232

ZXY

Z-X-Y sequence. Numerical value: 312

ZXZ

Z-X-Z sequence (symmetric). Numerical value: 313

ZYX

Z-Y-X sequence (Yaw-Pitch-Roll in aerospace). Numerical value: 321

ZYZ

Z-Y-Z sequence (classical Euler angles in physics). Numerical value: 323

Example
import brahe as bh
import numpy as np

# Create Euler angles using XYZ sequence (Roll-Pitch-Yaw)
euler_rpy = bh.EulerAngle(bh.EulerAngleOrder.XYZ, 10.0, 20.0, 30.0, bh.AngleFormat.DEGREES)
print(f"Order: {euler_rpy.order}")  # EulerAngleOrder.XYZ

# Create Euler angles using ZYZ sequence (classical)
euler_zyz = bh.EulerAngle(bh.EulerAngleOrder.ZYZ, 45.0, 60.0, 90.0, bh.AngleFormat.DEGREES)

# Convert quaternion to Euler angles with specific sequence
q = bh.Quaternion(1.0, 0.0, 0.0, 0.0)
euler = bh.EulerAngle.from_quaternion(q, bh.EulerAngleOrder.ZYX)

XYZ class-attribute

XYZ: Any = EulerAngleOrder.XYZ

Enumeration of Euler angle rotation sequences.

Specifies the order of rotations for Euler angle representations. Each sequence represents three consecutive rotations about specified axes. There are 12 possible sequences: 6 symmetric (XYX, XZX, YXY, YZY, ZXZ, ZYZ) and 6 asymmetric (XYZ, XZY, YXZ, YZX, ZXY, ZYX).

The sequence determines how Euler angles are applied: the first rotation is about the first axis, the second about the second axis, and the third about the third axis. For example, XYZ means rotate about X, then Y, then Z.

Attributes:

Name Type Description
XYX

X-Y-X sequence (symmetric). Numerical value: 121

XYZ

X-Y-Z sequence (Roll-Pitch-Yaw in aerospace). Numerical value: 123

XZX

X-Z-X sequence (symmetric). Numerical value: 131

XZY

X-Z-Y sequence. Numerical value: 132

YXY

Y-X-Y sequence (symmetric). Numerical value: 212

YXZ

Y-X-Z sequence. Numerical value: 213

YZX

Y-Z-X sequence. Numerical value: 231

YZY

Y-Z-Y sequence (symmetric). Numerical value: 232

ZXY

Z-X-Y sequence. Numerical value: 312

ZXZ

Z-X-Z sequence (symmetric). Numerical value: 313

ZYX

Z-Y-X sequence (Yaw-Pitch-Roll in aerospace). Numerical value: 321

ZYZ

Z-Y-Z sequence (classical Euler angles in physics). Numerical value: 323

Example
import brahe as bh
import numpy as np

# Create Euler angles using XYZ sequence (Roll-Pitch-Yaw)
euler_rpy = bh.EulerAngle(bh.EulerAngleOrder.XYZ, 10.0, 20.0, 30.0, bh.AngleFormat.DEGREES)
print(f"Order: {euler_rpy.order}")  # EulerAngleOrder.XYZ

# Create Euler angles using ZYZ sequence (classical)
euler_zyz = bh.EulerAngle(bh.EulerAngleOrder.ZYZ, 45.0, 60.0, 90.0, bh.AngleFormat.DEGREES)

# Convert quaternion to Euler angles with specific sequence
q = bh.Quaternion(1.0, 0.0, 0.0, 0.0)
euler = bh.EulerAngle.from_quaternion(q, bh.EulerAngleOrder.ZYX)

XZX class-attribute

XZX: Any = EulerAngleOrder.XZX

Enumeration of Euler angle rotation sequences.

Specifies the order of rotations for Euler angle representations. Each sequence represents three consecutive rotations about specified axes. There are 12 possible sequences: 6 symmetric (XYX, XZX, YXY, YZY, ZXZ, ZYZ) and 6 asymmetric (XYZ, XZY, YXZ, YZX, ZXY, ZYX).

The sequence determines how Euler angles are applied: the first rotation is about the first axis, the second about the second axis, and the third about the third axis. For example, XYZ means rotate about X, then Y, then Z.

Attributes:

Name Type Description
XYX

X-Y-X sequence (symmetric). Numerical value: 121

XYZ

X-Y-Z sequence (Roll-Pitch-Yaw in aerospace). Numerical value: 123

XZX

X-Z-X sequence (symmetric). Numerical value: 131

XZY

X-Z-Y sequence. Numerical value: 132

YXY

Y-X-Y sequence (symmetric). Numerical value: 212

YXZ

Y-X-Z sequence. Numerical value: 213

YZX

Y-Z-X sequence. Numerical value: 231

YZY

Y-Z-Y sequence (symmetric). Numerical value: 232

ZXY

Z-X-Y sequence. Numerical value: 312

ZXZ

Z-X-Z sequence (symmetric). Numerical value: 313

ZYX

Z-Y-X sequence (Yaw-Pitch-Roll in aerospace). Numerical value: 321

ZYZ

Z-Y-Z sequence (classical Euler angles in physics). Numerical value: 323

Example
import brahe as bh
import numpy as np

# Create Euler angles using XYZ sequence (Roll-Pitch-Yaw)
euler_rpy = bh.EulerAngle(bh.EulerAngleOrder.XYZ, 10.0, 20.0, 30.0, bh.AngleFormat.DEGREES)
print(f"Order: {euler_rpy.order}")  # EulerAngleOrder.XYZ

# Create Euler angles using ZYZ sequence (classical)
euler_zyz = bh.EulerAngle(bh.EulerAngleOrder.ZYZ, 45.0, 60.0, 90.0, bh.AngleFormat.DEGREES)

# Convert quaternion to Euler angles with specific sequence
q = bh.Quaternion(1.0, 0.0, 0.0, 0.0)
euler = bh.EulerAngle.from_quaternion(q, bh.EulerAngleOrder.ZYX)

XZY class-attribute

XZY: Any = EulerAngleOrder.XZY

Enumeration of Euler angle rotation sequences.

Specifies the order of rotations for Euler angle representations. Each sequence represents three consecutive rotations about specified axes. There are 12 possible sequences: 6 symmetric (XYX, XZX, YXY, YZY, ZXZ, ZYZ) and 6 asymmetric (XYZ, XZY, YXZ, YZX, ZXY, ZYX).

The sequence determines how Euler angles are applied: the first rotation is about the first axis, the second about the second axis, and the third about the third axis. For example, XYZ means rotate about X, then Y, then Z.

Attributes:

Name Type Description
XYX

X-Y-X sequence (symmetric). Numerical value: 121

XYZ

X-Y-Z sequence (Roll-Pitch-Yaw in aerospace). Numerical value: 123

XZX

X-Z-X sequence (symmetric). Numerical value: 131

XZY

X-Z-Y sequence. Numerical value: 132

YXY

Y-X-Y sequence (symmetric). Numerical value: 212

YXZ

Y-X-Z sequence. Numerical value: 213

YZX

Y-Z-X sequence. Numerical value: 231

YZY

Y-Z-Y sequence (symmetric). Numerical value: 232

ZXY

Z-X-Y sequence. Numerical value: 312

ZXZ

Z-X-Z sequence (symmetric). Numerical value: 313

ZYX

Z-Y-X sequence (Yaw-Pitch-Roll in aerospace). Numerical value: 321

ZYZ

Z-Y-Z sequence (classical Euler angles in physics). Numerical value: 323

Example
import brahe as bh
import numpy as np

# Create Euler angles using XYZ sequence (Roll-Pitch-Yaw)
euler_rpy = bh.EulerAngle(bh.EulerAngleOrder.XYZ, 10.0, 20.0, 30.0, bh.AngleFormat.DEGREES)
print(f"Order: {euler_rpy.order}")  # EulerAngleOrder.XYZ

# Create Euler angles using ZYZ sequence (classical)
euler_zyz = bh.EulerAngle(bh.EulerAngleOrder.ZYZ, 45.0, 60.0, 90.0, bh.AngleFormat.DEGREES)

# Convert quaternion to Euler angles with specific sequence
q = bh.Quaternion(1.0, 0.0, 0.0, 0.0)
euler = bh.EulerAngle.from_quaternion(q, bh.EulerAngleOrder.ZYX)

YXY class-attribute

YXY: Any = EulerAngleOrder.YXY

Enumeration of Euler angle rotation sequences.

Specifies the order of rotations for Euler angle representations. Each sequence represents three consecutive rotations about specified axes. There are 12 possible sequences: 6 symmetric (XYX, XZX, YXY, YZY, ZXZ, ZYZ) and 6 asymmetric (XYZ, XZY, YXZ, YZX, ZXY, ZYX).

The sequence determines how Euler angles are applied: the first rotation is about the first axis, the second about the second axis, and the third about the third axis. For example, XYZ means rotate about X, then Y, then Z.

Attributes:

Name Type Description
XYX

X-Y-X sequence (symmetric). Numerical value: 121

XYZ

X-Y-Z sequence (Roll-Pitch-Yaw in aerospace). Numerical value: 123

XZX

X-Z-X sequence (symmetric). Numerical value: 131

XZY

X-Z-Y sequence. Numerical value: 132

YXY

Y-X-Y sequence (symmetric). Numerical value: 212

YXZ

Y-X-Z sequence. Numerical value: 213

YZX

Y-Z-X sequence. Numerical value: 231

YZY

Y-Z-Y sequence (symmetric). Numerical value: 232

ZXY

Z-X-Y sequence. Numerical value: 312

ZXZ

Z-X-Z sequence (symmetric). Numerical value: 313

ZYX

Z-Y-X sequence (Yaw-Pitch-Roll in aerospace). Numerical value: 321

ZYZ

Z-Y-Z sequence (classical Euler angles in physics). Numerical value: 323

Example
import brahe as bh
import numpy as np

# Create Euler angles using XYZ sequence (Roll-Pitch-Yaw)
euler_rpy = bh.EulerAngle(bh.EulerAngleOrder.XYZ, 10.0, 20.0, 30.0, bh.AngleFormat.DEGREES)
print(f"Order: {euler_rpy.order}")  # EulerAngleOrder.XYZ

# Create Euler angles using ZYZ sequence (classical)
euler_zyz = bh.EulerAngle(bh.EulerAngleOrder.ZYZ, 45.0, 60.0, 90.0, bh.AngleFormat.DEGREES)

# Convert quaternion to Euler angles with specific sequence
q = bh.Quaternion(1.0, 0.0, 0.0, 0.0)
euler = bh.EulerAngle.from_quaternion(q, bh.EulerAngleOrder.ZYX)

YXZ class-attribute

YXZ: Any = EulerAngleOrder.YXZ

Enumeration of Euler angle rotation sequences.

Specifies the order of rotations for Euler angle representations. Each sequence represents three consecutive rotations about specified axes. There are 12 possible sequences: 6 symmetric (XYX, XZX, YXY, YZY, ZXZ, ZYZ) and 6 asymmetric (XYZ, XZY, YXZ, YZX, ZXY, ZYX).

The sequence determines how Euler angles are applied: the first rotation is about the first axis, the second about the second axis, and the third about the third axis. For example, XYZ means rotate about X, then Y, then Z.

Attributes:

Name Type Description
XYX

X-Y-X sequence (symmetric). Numerical value: 121

XYZ

X-Y-Z sequence (Roll-Pitch-Yaw in aerospace). Numerical value: 123

XZX

X-Z-X sequence (symmetric). Numerical value: 131

XZY

X-Z-Y sequence. Numerical value: 132

YXY

Y-X-Y sequence (symmetric). Numerical value: 212

YXZ

Y-X-Z sequence. Numerical value: 213

YZX

Y-Z-X sequence. Numerical value: 231

YZY

Y-Z-Y sequence (symmetric). Numerical value: 232

ZXY

Z-X-Y sequence. Numerical value: 312

ZXZ

Z-X-Z sequence (symmetric). Numerical value: 313

ZYX

Z-Y-X sequence (Yaw-Pitch-Roll in aerospace). Numerical value: 321

ZYZ

Z-Y-Z sequence (classical Euler angles in physics). Numerical value: 323

Example
import brahe as bh
import numpy as np

# Create Euler angles using XYZ sequence (Roll-Pitch-Yaw)
euler_rpy = bh.EulerAngle(bh.EulerAngleOrder.XYZ, 10.0, 20.0, 30.0, bh.AngleFormat.DEGREES)
print(f"Order: {euler_rpy.order}")  # EulerAngleOrder.XYZ

# Create Euler angles using ZYZ sequence (classical)
euler_zyz = bh.EulerAngle(bh.EulerAngleOrder.ZYZ, 45.0, 60.0, 90.0, bh.AngleFormat.DEGREES)

# Convert quaternion to Euler angles with specific sequence
q = bh.Quaternion(1.0, 0.0, 0.0, 0.0)
euler = bh.EulerAngle.from_quaternion(q, bh.EulerAngleOrder.ZYX)

YZX class-attribute

YZX: Any = EulerAngleOrder.YZX

Enumeration of Euler angle rotation sequences.

Specifies the order of rotations for Euler angle representations. Each sequence represents three consecutive rotations about specified axes. There are 12 possible sequences: 6 symmetric (XYX, XZX, YXY, YZY, ZXZ, ZYZ) and 6 asymmetric (XYZ, XZY, YXZ, YZX, ZXY, ZYX).

The sequence determines how Euler angles are applied: the first rotation is about the first axis, the second about the second axis, and the third about the third axis. For example, XYZ means rotate about X, then Y, then Z.

Attributes:

Name Type Description
XYX

X-Y-X sequence (symmetric). Numerical value: 121

XYZ

X-Y-Z sequence (Roll-Pitch-Yaw in aerospace). Numerical value: 123

XZX

X-Z-X sequence (symmetric). Numerical value: 131

XZY

X-Z-Y sequence. Numerical value: 132

YXY

Y-X-Y sequence (symmetric). Numerical value: 212

YXZ

Y-X-Z sequence. Numerical value: 213

YZX

Y-Z-X sequence. Numerical value: 231

YZY

Y-Z-Y sequence (symmetric). Numerical value: 232

ZXY

Z-X-Y sequence. Numerical value: 312

ZXZ

Z-X-Z sequence (symmetric). Numerical value: 313

ZYX

Z-Y-X sequence (Yaw-Pitch-Roll in aerospace). Numerical value: 321

ZYZ

Z-Y-Z sequence (classical Euler angles in physics). Numerical value: 323

Example
import brahe as bh
import numpy as np

# Create Euler angles using XYZ sequence (Roll-Pitch-Yaw)
euler_rpy = bh.EulerAngle(bh.EulerAngleOrder.XYZ, 10.0, 20.0, 30.0, bh.AngleFormat.DEGREES)
print(f"Order: {euler_rpy.order}")  # EulerAngleOrder.XYZ

# Create Euler angles using ZYZ sequence (classical)
euler_zyz = bh.EulerAngle(bh.EulerAngleOrder.ZYZ, 45.0, 60.0, 90.0, bh.AngleFormat.DEGREES)

# Convert quaternion to Euler angles with specific sequence
q = bh.Quaternion(1.0, 0.0, 0.0, 0.0)
euler = bh.EulerAngle.from_quaternion(q, bh.EulerAngleOrder.ZYX)

YZY class-attribute

YZY: Any = EulerAngleOrder.YZY

Enumeration of Euler angle rotation sequences.

Specifies the order of rotations for Euler angle representations. Each sequence represents three consecutive rotations about specified axes. There are 12 possible sequences: 6 symmetric (XYX, XZX, YXY, YZY, ZXZ, ZYZ) and 6 asymmetric (XYZ, XZY, YXZ, YZX, ZXY, ZYX).

The sequence determines how Euler angles are applied: the first rotation is about the first axis, the second about the second axis, and the third about the third axis. For example, XYZ means rotate about X, then Y, then Z.

Attributes:

Name Type Description
XYX

X-Y-X sequence (symmetric). Numerical value: 121

XYZ

X-Y-Z sequence (Roll-Pitch-Yaw in aerospace). Numerical value: 123

XZX

X-Z-X sequence (symmetric). Numerical value: 131

XZY

X-Z-Y sequence. Numerical value: 132

YXY

Y-X-Y sequence (symmetric). Numerical value: 212

YXZ

Y-X-Z sequence. Numerical value: 213

YZX

Y-Z-X sequence. Numerical value: 231

YZY

Y-Z-Y sequence (symmetric). Numerical value: 232

ZXY

Z-X-Y sequence. Numerical value: 312

ZXZ

Z-X-Z sequence (symmetric). Numerical value: 313

ZYX

Z-Y-X sequence (Yaw-Pitch-Roll in aerospace). Numerical value: 321

ZYZ

Z-Y-Z sequence (classical Euler angles in physics). Numerical value: 323

Example
import brahe as bh
import numpy as np

# Create Euler angles using XYZ sequence (Roll-Pitch-Yaw)
euler_rpy = bh.EulerAngle(bh.EulerAngleOrder.XYZ, 10.0, 20.0, 30.0, bh.AngleFormat.DEGREES)
print(f"Order: {euler_rpy.order}")  # EulerAngleOrder.XYZ

# Create Euler angles using ZYZ sequence (classical)
euler_zyz = bh.EulerAngle(bh.EulerAngleOrder.ZYZ, 45.0, 60.0, 90.0, bh.AngleFormat.DEGREES)

# Convert quaternion to Euler angles with specific sequence
q = bh.Quaternion(1.0, 0.0, 0.0, 0.0)
euler = bh.EulerAngle.from_quaternion(q, bh.EulerAngleOrder.ZYX)

ZXY class-attribute

ZXY: Any = EulerAngleOrder.ZXY

Enumeration of Euler angle rotation sequences.

Specifies the order of rotations for Euler angle representations. Each sequence represents three consecutive rotations about specified axes. There are 12 possible sequences: 6 symmetric (XYX, XZX, YXY, YZY, ZXZ, ZYZ) and 6 asymmetric (XYZ, XZY, YXZ, YZX, ZXY, ZYX).

The sequence determines how Euler angles are applied: the first rotation is about the first axis, the second about the second axis, and the third about the third axis. For example, XYZ means rotate about X, then Y, then Z.

Attributes:

Name Type Description
XYX

X-Y-X sequence (symmetric). Numerical value: 121

XYZ

X-Y-Z sequence (Roll-Pitch-Yaw in aerospace). Numerical value: 123

XZX

X-Z-X sequence (symmetric). Numerical value: 131

XZY

X-Z-Y sequence. Numerical value: 132

YXY

Y-X-Y sequence (symmetric). Numerical value: 212

YXZ

Y-X-Z sequence. Numerical value: 213

YZX

Y-Z-X sequence. Numerical value: 231

YZY

Y-Z-Y sequence (symmetric). Numerical value: 232

ZXY

Z-X-Y sequence. Numerical value: 312

ZXZ

Z-X-Z sequence (symmetric). Numerical value: 313

ZYX

Z-Y-X sequence (Yaw-Pitch-Roll in aerospace). Numerical value: 321

ZYZ

Z-Y-Z sequence (classical Euler angles in physics). Numerical value: 323

Example
import brahe as bh
import numpy as np

# Create Euler angles using XYZ sequence (Roll-Pitch-Yaw)
euler_rpy = bh.EulerAngle(bh.EulerAngleOrder.XYZ, 10.0, 20.0, 30.0, bh.AngleFormat.DEGREES)
print(f"Order: {euler_rpy.order}")  # EulerAngleOrder.XYZ

# Create Euler angles using ZYZ sequence (classical)
euler_zyz = bh.EulerAngle(bh.EulerAngleOrder.ZYZ, 45.0, 60.0, 90.0, bh.AngleFormat.DEGREES)

# Convert quaternion to Euler angles with specific sequence
q = bh.Quaternion(1.0, 0.0, 0.0, 0.0)
euler = bh.EulerAngle.from_quaternion(q, bh.EulerAngleOrder.ZYX)

ZXZ class-attribute

ZXZ: Any = EulerAngleOrder.ZXZ

Enumeration of Euler angle rotation sequences.

Specifies the order of rotations for Euler angle representations. Each sequence represents three consecutive rotations about specified axes. There are 12 possible sequences: 6 symmetric (XYX, XZX, YXY, YZY, ZXZ, ZYZ) and 6 asymmetric (XYZ, XZY, YXZ, YZX, ZXY, ZYX).

The sequence determines how Euler angles are applied: the first rotation is about the first axis, the second about the second axis, and the third about the third axis. For example, XYZ means rotate about X, then Y, then Z.

Attributes:

Name Type Description
XYX

X-Y-X sequence (symmetric). Numerical value: 121

XYZ

X-Y-Z sequence (Roll-Pitch-Yaw in aerospace). Numerical value: 123

XZX

X-Z-X sequence (symmetric). Numerical value: 131

XZY

X-Z-Y sequence. Numerical value: 132

YXY

Y-X-Y sequence (symmetric). Numerical value: 212

YXZ

Y-X-Z sequence. Numerical value: 213

YZX

Y-Z-X sequence. Numerical value: 231

YZY

Y-Z-Y sequence (symmetric). Numerical value: 232

ZXY

Z-X-Y sequence. Numerical value: 312

ZXZ

Z-X-Z sequence (symmetric). Numerical value: 313

ZYX

Z-Y-X sequence (Yaw-Pitch-Roll in aerospace). Numerical value: 321

ZYZ

Z-Y-Z sequence (classical Euler angles in physics). Numerical value: 323

Example
import brahe as bh
import numpy as np

# Create Euler angles using XYZ sequence (Roll-Pitch-Yaw)
euler_rpy = bh.EulerAngle(bh.EulerAngleOrder.XYZ, 10.0, 20.0, 30.0, bh.AngleFormat.DEGREES)
print(f"Order: {euler_rpy.order}")  # EulerAngleOrder.XYZ

# Create Euler angles using ZYZ sequence (classical)
euler_zyz = bh.EulerAngle(bh.EulerAngleOrder.ZYZ, 45.0, 60.0, 90.0, bh.AngleFormat.DEGREES)

# Convert quaternion to Euler angles with specific sequence
q = bh.Quaternion(1.0, 0.0, 0.0, 0.0)
euler = bh.EulerAngle.from_quaternion(q, bh.EulerAngleOrder.ZYX)

ZYX class-attribute

ZYX: Any = EulerAngleOrder.ZYX

Enumeration of Euler angle rotation sequences.

Specifies the order of rotations for Euler angle representations. Each sequence represents three consecutive rotations about specified axes. There are 12 possible sequences: 6 symmetric (XYX, XZX, YXY, YZY, ZXZ, ZYZ) and 6 asymmetric (XYZ, XZY, YXZ, YZX, ZXY, ZYX).

The sequence determines how Euler angles are applied: the first rotation is about the first axis, the second about the second axis, and the third about the third axis. For example, XYZ means rotate about X, then Y, then Z.

Attributes:

Name Type Description
XYX

X-Y-X sequence (symmetric). Numerical value: 121

XYZ

X-Y-Z sequence (Roll-Pitch-Yaw in aerospace). Numerical value: 123

XZX

X-Z-X sequence (symmetric). Numerical value: 131

XZY

X-Z-Y sequence. Numerical value: 132

YXY

Y-X-Y sequence (symmetric). Numerical value: 212

YXZ

Y-X-Z sequence. Numerical value: 213

YZX

Y-Z-X sequence. Numerical value: 231

YZY

Y-Z-Y sequence (symmetric). Numerical value: 232

ZXY

Z-X-Y sequence. Numerical value: 312

ZXZ

Z-X-Z sequence (symmetric). Numerical value: 313

ZYX

Z-Y-X sequence (Yaw-Pitch-Roll in aerospace). Numerical value: 321

ZYZ

Z-Y-Z sequence (classical Euler angles in physics). Numerical value: 323

Example
import brahe as bh
import numpy as np

# Create Euler angles using XYZ sequence (Roll-Pitch-Yaw)
euler_rpy = bh.EulerAngle(bh.EulerAngleOrder.XYZ, 10.0, 20.0, 30.0, bh.AngleFormat.DEGREES)
print(f"Order: {euler_rpy.order}")  # EulerAngleOrder.XYZ

# Create Euler angles using ZYZ sequence (classical)
euler_zyz = bh.EulerAngle(bh.EulerAngleOrder.ZYZ, 45.0, 60.0, 90.0, bh.AngleFormat.DEGREES)

# Convert quaternion to Euler angles with specific sequence
q = bh.Quaternion(1.0, 0.0, 0.0, 0.0)
euler = bh.EulerAngle.from_quaternion(q, bh.EulerAngleOrder.ZYX)

ZYZ class-attribute

ZYZ: Any = EulerAngleOrder.ZYZ

Enumeration of Euler angle rotation sequences.

Specifies the order of rotations for Euler angle representations. Each sequence represents three consecutive rotations about specified axes. There are 12 possible sequences: 6 symmetric (XYX, XZX, YXY, YZY, ZXZ, ZYZ) and 6 asymmetric (XYZ, XZY, YXZ, YZX, ZXY, ZYX).

The sequence determines how Euler angles are applied: the first rotation is about the first axis, the second about the second axis, and the third about the third axis. For example, XYZ means rotate about X, then Y, then Z.

Attributes:

Name Type Description
XYX

X-Y-X sequence (symmetric). Numerical value: 121

XYZ

X-Y-Z sequence (Roll-Pitch-Yaw in aerospace). Numerical value: 123

XZX

X-Z-X sequence (symmetric). Numerical value: 131

XZY

X-Z-Y sequence. Numerical value: 132

YXY

Y-X-Y sequence (symmetric). Numerical value: 212

YXZ

Y-X-Z sequence. Numerical value: 213

YZX

Y-Z-X sequence. Numerical value: 231

YZY

Y-Z-Y sequence (symmetric). Numerical value: 232

ZXY

Z-X-Y sequence. Numerical value: 312

ZXZ

Z-X-Z sequence (symmetric). Numerical value: 313

ZYX

Z-Y-X sequence (Yaw-Pitch-Roll in aerospace). Numerical value: 321

ZYZ

Z-Y-Z sequence (classical Euler angles in physics). Numerical value: 323

Example
import brahe as bh
import numpy as np

# Create Euler angles using XYZ sequence (Roll-Pitch-Yaw)
euler_rpy = bh.EulerAngle(bh.EulerAngleOrder.XYZ, 10.0, 20.0, 30.0, bh.AngleFormat.DEGREES)
print(f"Order: {euler_rpy.order}")  # EulerAngleOrder.XYZ

# Create Euler angles using ZYZ sequence (classical)
euler_zyz = bh.EulerAngle(bh.EulerAngleOrder.ZYZ, 45.0, 60.0, 90.0, bh.AngleFormat.DEGREES)

# Convert quaternion to Euler angles with specific sequence
q = bh.Quaternion(1.0, 0.0, 0.0, 0.0)
euler = bh.EulerAngle.from_quaternion(q, bh.EulerAngleOrder.ZYX)