code: def compute_venn2_regions(centers, radii):
      '''
      Returns a triple of VennRegion objects, describing the three regions of the diagram, corresponding to sets
      (Ab, aB, AB)
  
      >>> centers, radii = solve_venn2_circles((1, 1, 0.5))
      >>> regions = compute_venn2_regions(centers, radii)
      '''
      A = VennCircleRegion(centers[0], radii[0])
      B = VennCircleRegion(centers[1], radii[1])
      Ab, AB = A.subtract_and_intersect_circle(B.center, B.radius)
      aB, _ = B.subtract_and_intersect_circle(A.center, A.radius)
      return (Ab, aB, ABf compute_venn2_regions(centers, radii):
      '''
      Returns a triple of VennRegion objects, describing the three regions of the diagram, corresponding to sets
      (Ab, aB, AB)
  
      >>> centers, radii = solve_venn2_circles((1, 1, 0.5))
      >>> regions = compute_venn2_regions(centers, radii)
      '''
      A = VennCircleRegion(centers[0], radii[0])
      B = VennCircleRegion(centers[1], radii[1])
      Ab, AB = A.subtract_and_intersect_circle(B.center, B.radius)
      aB, _ = B.subtract_and_intersect_circle(A.center, A.radius)
      return (Ab, aB, AB)
docs: Returns a triple of VennRegion objects, describing the three regions of the diagram, corresponding to sets
      (Ab, aB, AB)
  
      >>> centers, radii = solve_venn2_circles((1, 1, 0.5))
      >>> regions = compute_venn2_regions(centers, radii)