You can draw the intersection of two shapes using canvass globalCompositeOperation

GlobalCompositeOperation allows you to control which parts of old and new drawings are shown on the canvas.
Here you can see examples of each layout mode: http://www.html5canvastutorials.com/advanced/html5-canvas-global-composite-operations-tutorial/
We use 2 of these layout modes to highlight the intersection of your two circles:
source-top
Given that the left circle is already drawn, source-atop will draw only the intersecting part of the right circle.
ctx.globalCompositeOperation="source-atop"; ctx.arc(circle2.x,circle2.y,circle2.r, 0, 2*Math.PI, false);
destination over
Given that the left circle is already drawn, destination-over will draw the right circle under the existing left circle.
ctx.globalCompositeOperation="destination-over"; ctx.arc(circle2.x,circle2.y,circle2.r, 0, 2*Math.PI, false);
There is a lot of it, so that you can comment on the entire code of the drawing, and then uncomment it once to find out what effect each operation has.
Heres code and script: http://jsfiddle.net/m1erickson/JGSJ5/
<!doctype html> <html> <head> <link rel="stylesheet" type="text/css" media="all" href="css/reset.css" /> <script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script> <style> body{ background-color: ivory; } canvas{border:1px solid red;} </style> <script> $(function(){ var canvas=document.getElementById("canvas"); var ctx=canvas.getContext("2d"); ctx.fillStyle="yellow"; ctx.strokeStyle="black"; ctx.lineWidth=3; var circle1={x:100,y:100,r:50}; var circle2={x:140,y:100,r:50}; </script> </head> <body> <canvas id="canvas" width=300 height=300></canvas> </body> </html>
markE
source share