def rotate_point(point: tuple, rotation: int, axis: int) -> tuple:
    """Rotate the point around the given axis, from the origin.

    Args:
        point (tuple): Coordinate tuple in the form (x,y,z)
        rotation (int): rotation ID. Indicating counter-clockwise rotation.
                        0 = no rotation, 1 = 90, 2 = 180, 3 = 270
        axis (int): axis ID. 0 = x, 1 = y, 2 = z
    """
    x, y, z = point
    if rotation == 0:
        pass
    elif rotation == 1:  # 90
        if axis == 0:  # x
            y, z = -z, y  # Rotation according to RH rule
        elif axis == 1:  # y
            x, z = z, -x
        elif axis == 2:  # z
            x, y = -y, x
    elif rotation == 2:  # 180
        if axis == 0:
            y, z = -y, -z
        elif axis == 1:
            x, z = -x, -z
        elif axis == 2:
            x, y = -x, -y
    elif rotation == 3:  # 270
        if axis == 0:
            y, z = z, -y
        elif axis == 1:
            x, z = -z, x
        elif axis == 2:
            x, y = y, -x
    return (x, y, z)