GLM_GTX_euler_angles
Experimental extensions

## Functions

template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | derivedEulerAngleX (T const &angleX, T const &angularVelocityX)
| Creates a 3D 4 * 4 homogeneous derived matrix from the rotation matrix about X-axis. More...
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | derivedEulerAngleY (T const &angleY, T const &angularVelocityY)
| Creates a 3D 4 * 4 homogeneous derived matrix from the rotation matrix about Y-axis. More...
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | derivedEulerAngleZ (T const &angleZ, T const &angularVelocityZ)
| Creates a 3D 4 * 4 homogeneous derived matrix from the rotation matrix about Z-axis. More...
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleX (T const &angleX)
| Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle X. More...
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleXY (T const &angleX, T const &angleY)
| Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y). More...
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleXYX (T const &t1, T const &t2, T const &t3)
| Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y * X). More...
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleXYZ (T const &t1, T const &t2, T const &t3)
| Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y * Z). More...
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleXZ (T const &angleX, T const &angleZ)
| Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z). More...
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleXZX (T const &t1, T const &t2, T const &t3)
| Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z * X). More...
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleXZY (T const &t1, T const &t2, T const &t3)
| Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z * Y). More...
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleY (T const &angleY)
| Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Y. More...
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleYX (T const &angleY, T const &angleX)
| Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X). More...
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleYXY (T const &t1, T const &t2, T const &t3)
| Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Y). More...
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleYXZ (T const &yaw, T const &pitch, T const &roll)
| Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z). More...
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleYZ (T const &angleY, T const &angleZ)
| Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z). More...
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleYZX (T const &t1, T const &t2, T const &t3)
| Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z * X). More...
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleYZY (T const &t1, T const &t2, T const &t3)
| Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z * Y). More...
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleZ (T const &angleZ)
| Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Z. More...
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleZX (T const &angle, T const &angleX)
| Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X). More...
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleZXY (T const &t1, T const &t2, T const &t3)
| Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X * Y). More...
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleZXZ (T const &t1, T const &t2, T const &t3)
| Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X * Z). More...
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleZY (T const &angleZ, T const &angleY)
| Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y). More...
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleZYX (T const &t1, T const &t2, T const &t3)
| Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y * X). More...
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleZYZ (T const &t1, T const &t2, T const &t3)
| Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y * Z). More...
template<typename T >
GLM_FUNC_DECL void | extractEulerAngleXYX (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
| Extracts the (X * Y * X) Euler angles from the rotation matrix M. More...
template<typename T >
GLM_FUNC_DECL void | extractEulerAngleXYZ (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
| Extracts the (X * Y * Z) Euler angles from the rotation matrix M. More...
template<typename T >
GLM_FUNC_DECL void | extractEulerAngleXZX (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
| Extracts the (X * Z * X) Euler angles from the rotation matrix M. More...
template<typename T >
GLM_FUNC_DECL void | extractEulerAngleXZY (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
| Extracts the (X * Z * Y) Euler angles from the rotation matrix M. More...
template<typename T >
GLM_FUNC_DECL void | extractEulerAngleYXY (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
| Extracts the (Y * X * Y) Euler angles from the rotation matrix M. More...
template<typename T >
GLM_FUNC_DECL void | extractEulerAngleYXZ (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
| Extracts the (Y * X * Z) Euler angles from the rotation matrix M. More...
template<typename T >
GLM_FUNC_DECL void | extractEulerAngleYZX (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
| Extracts the (Y * Z * X) Euler angles from the rotation matrix M. More...
template<typename T >
GLM_FUNC_DECL void | extractEulerAngleYZY (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
| Extracts the (Y * Z * Y) Euler angles from the rotation matrix M. More...
template<typename T >
GLM_FUNC_DECL void | extractEulerAngleZXY (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
| Extracts the (Z * X * Y) Euler angles from the rotation matrix M. More...
template<typename T >
GLM_FUNC_DECL void | extractEulerAngleZXZ (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
| Extracts the (Z * X * Z) Euler angles from the rotation matrix M. More...
template<typename T >
GLM_FUNC_DECL void | extractEulerAngleZYX (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
| Extracts the (Z * Y * X) Euler angles from the rotation matrix M. More...
template<typename T >
GLM_FUNC_DECL void | extractEulerAngleZYZ (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
| Extracts the (Z * Y * Z) Euler angles from the rotation matrix M. More...
template<typename T >
GLM_FUNC_DECL mat< 2, 2, T, defaultp > | orientate2 (T const &angle)
| Creates a 2D 2 * 2 rotation matrix from an euler angle. More...
template<typename T >
GLM_FUNC_DECL mat< 3, 3, T, defaultp > | orientate3 (T const &angle)
| Creates a 2D 4 * 4 homogeneous rotation matrix from an euler angle. More...
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > | orientate3 (vec< 3, T, Q > const &angles)
| Creates a 3D 3 * 3 rotation matrix from euler angles (Y * X * Z). More...
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > | orientate4 (vec< 3, T, Q > const &angles)
| Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z). More...
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | yawPitchRoll (T const &yaw, T const &pitch, T const &roll)
| Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z). More...

## Detailed Description

Include <glm/gtx/euler_angles.hpp> to use the features of this extension.

Build matrices from Euler angles.

Extraction of Euler angles from rotation matrix. Based on the original paper 2014 Mike Day - Extracting Euler Angles from a Rotation Matrix.

## Function Documentation

## derivedEulerAngleX()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::derivedEulerAngleX | ( | T const & | angleX,
|  | T const & | angularVelocityX
| ) |  |

Creates a 3D 4 * 4 homogeneous derived matrix from the rotation matrix about X-axis.

See also
  GLM_GTX_euler_angles

## derivedEulerAngleY()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::derivedEulerAngleY | ( | T const & | angleY,
|  | T const & | angularVelocityY
| ) |  |

Creates a 3D 4 * 4 homogeneous derived matrix from the rotation matrix about Y-axis.

See also
  GLM_GTX_euler_angles

## derivedEulerAngleZ()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::derivedEulerAngleZ | ( | T const & | angleZ,
|  | T const & | angularVelocityZ
| ) |  |

Creates a 3D 4 * 4 homogeneous derived matrix from the rotation matrix about Z-axis.

See also
  GLM_GTX_euler_angles

## eulerAngleX()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleX | ( | T const & | angleX | ) |

Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle X.

See also
  GLM_GTX_euler_angles

## eulerAngleXY()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleXY | ( | T const & | angleX,
|  | T const & | angleY
| ) |  |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y).

See also
  GLM_GTX_euler_angles

## eulerAngleXYX()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleXYX | ( | T const & | t1,
|  | T const & | t2,
|  | T const & | t3
| ) |  |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y * X).

See also
  GLM_GTX_euler_angles

## eulerAngleXYZ()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleXYZ | ( | T const & | t1,
|  | T const & | t2,
|  | T const & | t3
| ) |  |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y * Z).

See also
  GLM_GTX_euler_angles

## eulerAngleXZ()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleXZ | ( | T const & | angleX,
|  | T const & | angleZ
| ) |  |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z).

See also
  GLM_GTX_euler_angles

## eulerAngleXZX()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleXZX | ( | T const & | t1,
|  | T const & | t2,
|  | T const & | t3
| ) |  |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z * X).

See also
  GLM_GTX_euler_angles

## eulerAngleXZY()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleXZY | ( | T const & | t1,
|  | T const & | t2,
|  | T const & | t3
| ) |  |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z * Y).

See also
  GLM_GTX_euler_angles

## eulerAngleY()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleY | ( | T const & | angleY | ) |

Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Y.

See also
  GLM_GTX_euler_angles

## eulerAngleYX()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleYX | ( | T const & | angleY,
|  | T const & | angleX
| ) |  |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X).

See also
  GLM_GTX_euler_angles

## eulerAngleYXY()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleYXY | ( | T const & | t1,
|  | T const & | t2,
|  | T const & | t3
| ) |  |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Y).

See also
  GLM_GTX_euler_angles

## eulerAngleYXZ()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleYXZ | ( | T const & | yaw,
|  | T const & | pitch,
|  | T const & | roll
| ) |  |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).

See also
  GLM_GTX_euler_angles

## eulerAngleYZ()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleYZ | ( | T const & | angleY,
|  | T const & | angleZ
| ) |  |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z).

See also
  GLM_GTX_euler_angles

## eulerAngleYZX()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleYZX | ( | T const & | t1,
|  | T const & | t2,
|  | T const & | t3
| ) |  |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z * X).

See also
  GLM_GTX_euler_angles

## eulerAngleYZY()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleYZY | ( | T const & | t1,
|  | T const & | t2,
|  | T const & | t3
| ) |  |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z * Y).

See also
  GLM_GTX_euler_angles

## eulerAngleZ()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleZ | ( | T const & | angleZ | ) |

Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Z.

See also
  GLM_GTX_euler_angles

## eulerAngleZX()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleZX | ( | T const & | angle,
|  | T const & | angleX
| ) |  |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X).

See also
  GLM_GTX_euler_angles

## eulerAngleZXY()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleZXY | ( | T const & | t1,
|  | T const & | t2,
|  | T const & | t3
| ) |  |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X * Y).

See also
  GLM_GTX_euler_angles

## eulerAngleZXZ()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleZXZ | ( | T const & | t1,
|  | T const & | t2,
|  | T const & | t3
| ) |  |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X * Z).

See also
  GLM_GTX_euler_angles

## eulerAngleZY()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleZY | ( | T const & | angleZ,
|  | T const & | angleY
| ) |  |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y).

See also
  GLM_GTX_euler_angles

## eulerAngleZYX()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleZYX | ( | T const & | t1,
|  | T const & | t2,
|  | T const & | t3
| ) |  |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y * X).

See also
  GLM_GTX_euler_angles

## eulerAngleZYZ()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleZYZ | ( | T const & | t1,
|  | T const & | t2,
|  | T const & | t3
| ) |  |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y * Z).

See also
  GLM_GTX_euler_angles

## extractEulerAngleXYX()

GLM_FUNC_DECL void glm::extractEulerAngleXYX | ( | mat< 4, 4, T, defaultp > const & | M,
|  | T & | t1,
|  | T & | t2,
|  | T & | t3
| ) |  |

Extracts the (X * Y * X) Euler angles from the rotation matrix M.

See also
  GLM_GTX_euler_angles

## extractEulerAngleXYZ()

GLM_FUNC_DECL void glm::extractEulerAngleXYZ | ( | mat< 4, 4, T, defaultp > const & | M,
|  | T & | t1,
|  | T & | t2,
|  | T & | t3
| ) |  |

Extracts the (X * Y * Z) Euler angles from the rotation matrix M.

See also
  GLM_GTX_euler_angles

## extractEulerAngleXZX()

GLM_FUNC_DECL void glm::extractEulerAngleXZX | ( | mat< 4, 4, T, defaultp > const & | M,
|  | T & | t1,
|  | T & | t2,
|  | T & | t3
| ) |  |

Extracts the (X * Z * X) Euler angles from the rotation matrix M.

See also
  GLM_GTX_euler_angles

## extractEulerAngleXZY()

GLM_FUNC_DECL void glm::extractEulerAngleXZY | ( | mat< 4, 4, T, defaultp > const & | M,
|  | T & | t1,
|  | T & | t2,
|  | T & | t3
| ) |  |

Extracts the (X * Z * Y) Euler angles from the rotation matrix M.

See also
  GLM_GTX_euler_angles

## extractEulerAngleYXY()

GLM_FUNC_DECL void glm::extractEulerAngleYXY | ( | mat< 4, 4, T, defaultp > const & | M,
|  | T & | t1,
|  | T & | t2,
|  | T & | t3
| ) |  |

Extracts the (Y * X * Y) Euler angles from the rotation matrix M.

See also
  GLM_GTX_euler_angles

## extractEulerAngleYXZ()

GLM_FUNC_DECL void glm::extractEulerAngleYXZ | ( | mat< 4, 4, T, defaultp > const & | M,
|  | T & | t1,
|  | T & | t2,
|  | T & | t3
| ) |  |

Extracts the (Y * X * Z) Euler angles from the rotation matrix M.

See also
  GLM_GTX_euler_angles

## extractEulerAngleYZX()

GLM_FUNC_DECL void glm::extractEulerAngleYZX | ( | mat< 4, 4, T, defaultp > const & | M,
|  | T & | t1,
|  | T & | t2,
|  | T & | t3
| ) |  |

Extracts the (Y * Z * X) Euler angles from the rotation matrix M.

See also
  GLM_GTX_euler_angles

## extractEulerAngleYZY()

GLM_FUNC_DECL void glm::extractEulerAngleYZY | ( | mat< 4, 4, T, defaultp > const & | M,
|  | T & | t1,
|  | T & | t2,
|  | T & | t3
| ) |  |

Extracts the (Y * Z * Y) Euler angles from the rotation matrix M.

See also
  GLM_GTX_euler_angles

## extractEulerAngleZXY()

GLM_FUNC_DECL void glm::extractEulerAngleZXY | ( | mat< 4, 4, T, defaultp > const & | M,
|  | T & | t1,
|  | T & | t2,
|  | T & | t3
| ) |  |

Extracts the (Z * X * Y) Euler angles from the rotation matrix M.

See also
  GLM_GTX_euler_angles

## extractEulerAngleZXZ()

GLM_FUNC_DECL void glm::extractEulerAngleZXZ | ( | mat< 4, 4, T, defaultp > const & | M,
|  | T & | t1,
|  | T & | t2,
|  | T & | t3
| ) |  |

Extracts the (Z * X * Z) Euler angles from the rotation matrix M.

See also
  GLM_GTX_euler_angles

## extractEulerAngleZYX()

GLM_FUNC_DECL void glm::extractEulerAngleZYX | ( | mat< 4, 4, T, defaultp > const & | M,
|  | T & | t1,
|  | T & | t2,
|  | T & | t3
| ) |  |

Extracts the (Z * Y * X) Euler angles from the rotation matrix M.

See also
  GLM_GTX_euler_angles

## extractEulerAngleZYZ()

GLM_FUNC_DECL void glm::extractEulerAngleZYZ | ( | mat< 4, 4, T, defaultp > const & | M,
|  | T & | t1,
|  | T & | t2,
|  | T & | t3
| ) |  |

Extracts the (Z * Y * Z) Euler angles from the rotation matrix M.

See also
  GLM_GTX_euler_angles

## orientate2()

GLM_FUNC_DECL mat<2, 2, T, defaultp> glm::orientate2 | ( | T const & | angle | ) |

Creates a 2D 2 * 2 rotation matrix from an euler angle.

See also
  GLM_GTX_euler_angles

## orientate3() [1/2]

GLM_FUNC_DECL mat<3, 3, T, defaultp> glm::orientate3 | ( | T const & | angle | ) |

Creates a 2D 4 * 4 homogeneous rotation matrix from an euler angle.

See also
  GLM_GTX_euler_angles

## orientate3() [2/2]

GLM_FUNC_DECL mat<3, 3, T, Q> glm::orientate3 | ( | vec< 3, T, Q > const & | angles | ) |

Creates a 3D 3 * 3 rotation matrix from euler angles (Y * X * Z).

See also
  GLM_GTX_euler_angles

## orientate4()

GLM_FUNC_DECL mat<4, 4, T, Q> glm::orientate4 | ( | vec< 3, T, Q > const & | angles | ) |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).

See also
  GLM_GTX_euler_angles

## yawPitchRoll()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::yawPitchRoll | ( | T const & | yaw,
|  | T const & | pitch,
|  | T const & | roll
| ) |  |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).

See also
  GLM_GTX_euler_angles