code: def rotate(self, center, points, theta, center_shift=(0, 0)):
      # rotate points.
      (center_x, center_y) = center
      center_y = -center_y
      x, y = points[:, ::2], points[:, 1::2]
      y = -y
  
      theta = theta / 180 * math.pi
      cos = math.cos(theta)
      sin = math.sin(theta)
  
      x = x - center_x
      y = y - center_y
  
      _x = center_x + x * cos - y * sin + center_shift[0]
      _y = -(center_y + x * sin + y * cos) + center_shift[1]
  
      points[:, ::2], points[:, 1::2] = _x, _y
      return points
  
imports: import numpy
  from PIL import Image, ImageDraw
  import cv2
  from shapely.geometry import Polygon
  import math
  from ppocr.utils.poly_nms import poly_intersection
label_desc: Use image node_id 2 for calling the RandomRotatePolyInstances obj's underlying member method code with example usage: obj.rotate(center, points, theta, center_shift) and returns: points