code: def is_circle(points, scale, verbose=False):
      
  
      # make sure input is a numpy array
      points = np.asanyarray(points)
      scale = float(scale)
  
      # can only be a circle if the first and last point are the
      # same (AKA is a closed path)
      if np.linalg.norm(points[0] - points[-1]) > tol.merge:
          return None
  
      box = points.ptp(axis=0)
      # the bounding box size of the points
      # check aspect ratio as an early exit if the path is not a circle
      aspect = np.divide(*box)
      if np.abs(aspect - 1.0) > tol.aspect_frac:
          return None
  
      # fit a circle with tolerance checks
      CR = fit_circle_check(points, scale=scale)
      if CR is None:
          return None
  
      # return the circle as three control points
      control = arc.to_threepoint(**CR)
      return control
docs: Given a set of points, quickly determine if they represent
      a circle or not.
  
      Parameters
      -------------
      points: (n,2) float, points in space
      scale:  float, scale of overall drawing
      verbose: bool, print all fit messages or not
  
      Returns
      -------------
      control: (3,2) float, points in space, OR
                None, if not a circle