code: def _generate_shadow_coordinates(
      num_shadows, rectangular_roi, shadow_dimension
  ):
      vertices_list = []
      x1 = rectangular_roi[0]
      y1 = rectangular_roi[1]
      x2 = rectangular_roi[2]
      y2 = rectangular_roi[3]
  
      for index in range(num_shadows):
          vertex = []
  
          for dimensions in range(
              shadow_dimension
          ):  ## Dimensionality of the shadow polygon
              vertex.append(
                  (random.randint(x1, x2), random.randint(y1, y2))
              )
  
          vertices = np.array(
              [vertex], dtype=np.int32
          )  ## single shadow vertices
          vertices_list.append(vertices)
      return vertices_list
  
imports: import cv2
  import random
  import math
  import numpy
  from ..coreten import Tensor, to_tensor
  from ..annotations import Tuple, Union
  from ..color import to_hls, to_rgb, to_bgr, to_hsv, to_gray, to_lab
label_desc: Use image node_id 25 for calling a global function with example usage: _generate_shadow_coordinates(num_shadows, rectangular_roi, shadow_dimension) and returns: vertices_list