@staticmethod
def _axis_rot_matrices(pose, rotation):
    (x, y, z) = pose
    (alpha, beta, gamma) = rotation
    Rz_2d = np.array([[cos(alpha), (- sin(alpha))], [sin(alpha), cos(alpha)]])
    Ry_2d = np.array([[cos(beta), sin(beta)], [(- sin(beta)), cos(beta)]])
    Rx_2d = np.array([[cos(gamma), (- sin(gamma))], [sin(gamma), cos(gamma)]])
    I = np.eye(3)
    Rz = I.copy()
    Rz[:2, :2] = Rz_2d
    Ry = I.copy()
    Ry[([[0], [2]], [0, 2])] = Ry_2d
    Rx = I.copy()
    Rx[1:3, 1:3] = Rx_2d
    return (Rz, Ry, Rx)
@staticmethod
def _axis_rot_matrices(pose, rotation):
    (x, y, z) = pose
    (alpha, beta, gamma) = rotation
    Rz_2d = np.array([[cos(alpha), (- sin(alpha))], [sin(alpha), cos(alpha)]])
    Ry_2d = np.array([[cos(beta), sin(beta)], [(- sin(beta)), cos(beta)]])
    Rx_2d = np.array([[cos(gamma), (- sin(gamma))], [sin(gamma), cos(gamma)]])
    I = np.eye(3)
    Rz = I.copy()
    Rz[:2, :2] = Rz_2d
    Ry = I.copy()
    Ry[([[0], [2]], [0, 2])] = Ry_2d
    Rx = I.copy()
    Rx[1:3, 1:3] = Rx_2d
    return (Rz, Ry, Rx)