Converts rotation matrices to Euler angles.

The rotation matrices are assumed to have been constructed by rotation around the


, then


, and finally the




There is an infinite number of solutions to this problem. There are

Gimbal locks when abs(rotation_matrix(2,0)) == 1, which are not handled.


In the following, A1 to An are optional batch dimensions.

rotation_matrix A tensor of shape [A1, ..., An, 3, 3], where the last two dimensions represent a rotation matrix.
name A name for this op that defaults to "euler_from_rotation_matrix".

A tensor of shape [A1, ..., An, 3], where the last dimension represents the three Euler angles.

ValueError If the shape of rotation_matrix is not supported.