def to_zyz(self):
mat = self.to_matrix()<EOL>euler = np.zeros(<NUM_LIT:3>, dtype=float)<EOL>if mat[<NUM_LIT:2>, <NUM_LIT:2>] < <NUM_LIT:1>:<EOL><INDENT>if mat[<NUM_LIT:2>, <NUM_LIT:2>] > -<NUM_LIT:1>:<EOL><INDENT>euler[<NUM_LIT:0>] = math.atan2(mat[<NUM_LIT:1>, <NUM_LIT:2>], mat[<NUM_LIT:0>, <NUM_LIT:2>])<EOL>euler[<NUM_LIT:1>] = math.acos(mat[<NUM_LIT:2>, <NUM_LIT:2>])<EOL>euler[<NUM_LIT:2>] = math.atan2(mat[<NUM_LIT:2>, <NUM_LIT:1>], -mat[<NUM_LIT:2>, <NUM_LIT:0>])<EOL><DEDENT>else:<EOL><INDENT>euler[<NUM_LIT:0>] = -math.atan2(mat[<NUM_LIT:1>, <NUM_LIT:0>], mat[<NUM_LIT:1>, <NUM_LIT:1>])<EOL>euler[<NUM_LIT:1>] = np.pi<EOL><DEDENT><DEDENT>else:<EOL><INDENT>euler[<NUM_LIT:0>] = math.atan2(mat[<NUM_LIT:1>, <NUM_LIT:0>], mat[<NUM_LIT:1>, <NUM_LIT:1>])<EOL><DEDENT>return euler<EOL>
Converts a unit-length quaternion to a sequence
        of ZYZ Euler angles.

        Returns:
            ndarray: Array of Euler angles.