用于计算同心矩形差异的数学

时间:2011-08-10 00:36:41

标签: math geometry cartesian

我有两个矩形,一个基本上是另一个放大,就像这样 enter image description here

我想知道一组xy坐标是否属于XOR差异,即

enter image description here

这样做的最佳数学是什么?

Difference (XOR) between two rectangles, as rectangles?做了我想要的,但不完全是,而且看起来有点......不优雅。

或者,如果x / y坐标在外部矩形边缘的10%范围内,我可以处理返回“true”的内容

2 个答案:

答案 0 :(得分:2)

bool isInIntersection(pt, rect1, rect2)
{
    return isInRect(pt, rect1) && !isInRect(pt, rect2);
}

bool isInRect(pt, rect)
{
    return (pt.x >= rect.x1) && (pt.x < rect.x2)
        && (pt.y >= rect.y1) && (pt.y < rect.y2);
}

我假设rect1是外部矩形。

答案 1 :(得分:1)

这是javascript中的一个示例,用于查找点是否在矩形中。 Point-in-rectangle testing  那么如果测试它是否在Rectangle1中,如果是,如果它不在Rectangle2中,则只是一个问题。