code: def polygon_clip(subjectPolygon, clipPolygon):
      """Clip a polygon with another polygon.
  
      Ref: https://rosettacode.org/wiki/Sutherland-Hodgman_polygon_clipping#Python
  
      Args:
        subjectPolygon: a list of (x,y) 2d points, any polygon.
        clipPolygon: a list of (x,y) 2d points, has to be *convex*
      Note:
        **points have to be counter-clockwise ordered**
  
      Return:
        a list of (x,y) vertex point for the intersection polygon.
      """
  
      def inside(p):
          return (cp2[0] - cp1[0]) * (p[1] - cp1[1]) > (
              cp2[1] - cp1[1]
          ) * (p[0] - cp1[0])
  
      def computeIntersection():
          dc = [cp1[0] - cp2[0], cp1[1] - cp2[1]]
          dp = [s[0] - e[0], s[1] - e[1]]
          n1 = cp1[0] * cp2[1] - cp1[1] * cp2[0]
          n2 = s[0] * e[1] - s[1] * e[0]
          n3 = 1.0 / (dc[0] * dp[1] - dc[1] * dp[0])
          return [
              (n1 * dp[0] - n2 * dc[0]) * n3,
              (n1 * dp[1] - n2 * dc[1]) * n3,
          ]
  
      outputList = subjectPolygon
      cp1 = clipPolygon[-1]
  
      for clipVertex in clipPolygon:
          cp2 = clipVertex
          inputList = outputList
          outputList = []
          s = inputList[-1]
  
          for subjectVertex in inputList:
              e = subjectVertex
              if inside(e):
                  if not inside(s):
                      outputList.append(computeIntersection())
                  outputList.append(e)
              elif inside(s):
                  outputList.append(computeIntersection())
              s = e
          cp1 = cp2
          if len(outputList) == 0:
              return None
      return outputList
  
file_path: torch-points3d/torch_points3d/utils/box_utils.py
imports: import torch
  import numpy
  from scipy.spatial import ConvexHull
  from .geometry import euler_angles_to_rotation_matrix
label_desc: Use image node_id 6 for calling a global function with example usage: polygon_clip(subjectPolygon, clipPolygon) and returns: outputList, unknown, list, None