code: def make_circle_two_points(points, p, q):
      circ = make_diameter(p, q)
      left = None
      right = None
      px, py = p
      qx, qy = q
  
      # For each point not in the two-point circle
      for r in points:
          if is_in_circle(circ, r):
              continue
  
          # Form a circumcircle and classify it on left or right side
          cross = _cross_product(px, py, qx, qy, r[0], r[1])
          c = make_circumcircle(p, q, r)
          if c is None:
              continue
          elif cross > 0.0 and (
              left is None
              or _cross_product(px, py, qx, qy, c[0], c[1])
              > _cross_product(px, py, qx, qy, left[0], left[1])
          ):
              left = c
          elif cross < 0.0 and (
              right is None
              or _cross_product(px, py, qx, qy, c[0], c[1])
              < _cross_product(px, py, qx, qy, right[0], right[1])
          ):
              right = c
      # Select which circle to return
      if left is None and right is None:
          return circ
      elif left is None:
          return right
      elif right is None:
          return left
      else:
          return left if (left[2] <= right[2]) else right
  
imports: import math
label_desc: Use image node_id 6 for calling a global function with example usage: make_circle_two_points(points, p, q) and returns: circ, right, left, unknown