Я думал, что один из ответов был правильным, но недостаточно подробным:
Нахождение длины между точками:
var len = Math.sqrt(Math.pow(circle.x - origin.x, 2) + Math.pow(circle.y - origin.y, 2));
Пересечение точек: var intersectx = circle.x + (radius*(origin.y - circle.y)/len);
var intersecty = circle.y + (radius*(circle.x - origin.x)/len);