Определить, перекрывают ли два прямоугольника друг друга?

struct rect
{
    int x;
    int y;
    int width;
    int height;
};

bool valueInRange(int value, int min, int max)
{ return (value >= min) && (value <= max); }

bool rectOverlap(rect A, rect B)
{
    bool xOverlap = valueInRange(A.x, B.x, B.x + B.width) ||
                    valueInRange(B.x, A.x, A.x + A.width);

    bool yOverlap = valueInRange(A.y, B.y, B.y + B.height) ||
                    valueInRange(B.y, A.y, A.y + A.height);

    return xOverlap && yOverlap;
}

c++

c++

algorithm

geometry

overlap

rectangles

2022-11-03T16:53:35+00:00
Вопросы с похожей тематикой, как у вопроса:

Определить, перекрывают ли два прямоугольника друг друга?