import numpy as np def rotate_poly(poly, angle, flip_h): """ Rotate poly :param poly: :return: """ px, py = poly[:, 0], poly[:, 1] angle_rad = angle * np.pi / 180 qx = np.cos(angle_rad) * px - np.sin(angle_rad) * py qy = np.sin(angle_rad) * px + np.cos(angle_rad) * py if flip_h: qx = -qx rotated_poly = np.zeros_like(poly) rotated_poly[:, 0] = qx rotated_poly[:, 1] = qy # print("p", poly) # print("r", rotated_poly) return rotated_poly