//Get the center of the other circle
PVector worldCenterOther = PVector.add(other.getPosition(), other.getCenter());
//HCircles are colliding if distance between them is less than sum of radii
PVector dir = PVector.sub(worldCenterOther, worldCenterThis);
float distance = dir.mag();
float sumRadii = _radius + other._radius;
boolean collides = distance <= sumRadii;
//Projection vector is the unit vector pointing from this circle to other scaled by overlap
if(collides) {