Для визуализации возьмите цифровую клавиатуру. Если клавиша '5' представляет ваш прямоугольник, то все клавиши 1-9 представляют 9 квадрантов пространства, разделенных линиями, составляющими ваш прямоугольник (с 5 внутри).
1) Если центр круга находится в квадранте 5 (т.е. внутри прямоугольника), то две фигуры пересекаются.
Учитывая все вышесказанное, возможны два случая:
а) Круг пересекается с двумя или более соседними краями прямоугольника.
б) круг пересекается с одним краем прямоугольника.
Первый случай прост. Если круг пересекается с двумя соседними краями прямоугольника, он должен содержать угол, соединяющий эти два ребра. (Это, или его центр лежит в квадранте 5, который мы уже рассмотрели. Также обратите внимание, что случай, когда круг пересекается только с двумя противоположными краями прямоугольника, также покрыт.)
2) Если любой из углов A, B, C, D прямоугольника находится внутри круга, то две фигуры пересекаются.
Второй случай сложнее. Следует отметить, что это может произойти только тогда, когда центр круга находится в одном из квадрантов 2, 4, 6 или 8. (Фактически, если центр находится в каком-либо из квадрантов 1, 3, 7, 8, соответствующий угол будет ближайшей к нему точкой.)
Теперь у нас есть случай, когда центр круга находится в одном из квадрантов 'ребра', и он пересекается только с соответствующим ребром. Тогда точка на краю, ближайшая к центру круга, должна лежать внутри круга.
3) Для каждой линии AB, BC, CD, DA постройте перпендикулярные линии p (AB, P), p (BC, P), p (CD, P), p (DA, P) через центр круга. P. Если для каждой перпендикулярной линии пересечение с исходным ребром находится внутри круга, то эти две фигуры пересекаются.
Существует ярлык для этого последнего шага. Если центр круга находится в квадранте 8, а ребро AB - это верхнее ребро, точка пересечения будет иметь координату Y от A и B и координату X от центра P.
Вы можете построить четыре пересечения линий и проверить, лежат ли они на соответствующих ребрах, или выяснить, в каком квадранте P находится, и проверить соответствующее пересечение. Оба должны упростить до одного и того же логического уравнения. Остерегайтесь того, что вышеприведенный шаг 2 не исключает, что P находится в одном из «угловых» квадрантов; он просто искал пересечение.
Edit: Оказывается, я упустил из виду тот простой факт, что # 2 является подслучае # 3 выше. Ведь углы тоже являются точками по краям. Посмотрите ответ @ ShreevatsaR ниже для хорошего объяснения. А пока, забудьте про № 2 выше, если вы не хотите быстрой, но избыточной проверки.