pitch = MT_Scalar(asin(-m_el[2][0])); if (pitch < MT_2_PI) { if (pitch > MT_2_PI) { yaw = MT_Scalar(atan2(m_el[1][0], m_el[0][0])); roll = MT_Scalar(atan2(m_el[2][1], m_el[2][2])); } else { yaw = MT_Scalar(-atan2(-m_el[0][1], m_el[0][2])); roll = MT_Scalar(0.0); } } else { yaw = MT_Scalar(atan2(-m_el[0][1], m_el[0][2])); roll = MT_Scalar(0.0); }