Marcando el área de intersección entre dos círculos en Canvas

Estoy tratando de marcar el área de superposición entre dos círculos (como en un Diagrama de Venn). Pensé que la forma de hacerlo es dibujar dos arcos utilizando los dos puntos de intersección y luego rellenar el camino utilizandofill(). Conozco las coordenadas de los puntos de intersección, pero ¿cómo uso eso como una entrada para elarc() ¿función?

ctx.beginPath();
ctx.arc(circle1.x,circle1.y,circle1.r, ? , ? ,true);
ctx.fill();
ctx.closePath();

Respuestas a la pregunta(1)

Su respuesta a la pregunta