code: function checkCircles( bodyA, bodyB ){
  
          var scratch = Physics.scratchpad()
              ,d = scratch.vector()
              ,tmp = scratch.vector()
              ,overlap
              ,collision = false
              ;
  
          d.clone( bodyB.state.pos )
              .vadd( bodyB.getGlobalOffset( tmp ) )
              .vsub( bodyA.state.pos )
              .vsub( bodyA.getGlobalOffset( tmp ) ) // save offset for later
              ;
          overlap = d.norm() - (bodyA.geometry.radius + bodyB.geometry.radius);
  
          // hmm... they overlap exactly... choose a direction
          if ( d.equals( Physics.vector.zero ) ){
  
              d.set( 1, 0 );
          }
  
          if ( overlap <= 0 ){
  
              collision = {
                  bodyA: bodyA,
                  bodyB: bodyB,
                  norm: d.normalize().values(),
                  mtv: d.mult( -overlap ).values(),
                  pos: d.mult( -bodyA.geometry.radius/overlap ).vadd( tmp ).values(),
                  overlap: -overlap
              };
          }
  
          return scratch.done( collision );
      }
docs: /*
  checkCircles( bodyA, bodyB ) -> Object
  - bodyA (Object): First body
  - bodyB (Object): Second body
  + (Object): Collision result
  
  Check two circles for collisions.