计算同心矩形差异的数学

发布于 2024-11-29 04:04:50 字数 447 浏览 1 评论 0原文

我有 2 个矩形,其中一个基本上是另一个按比例放大的,就像这样 在此处输入图像描述

我想看看一组 xy 坐标是否在 XOR 差异范围内,即

在此处输入图像描述

执行此操作的最佳数学方法是什么?

两个矩形之间的差异(XOR),作为矩形?我想要什么,但不完全是,而且看起来有点……不优雅。

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

I have 2 rectangles, one which is basically the other scaled up, like so
enter image description here

I'd like to see if a set of xy coords falls within the XOR difference, ie

enter image description here

What's the best math to do this?

Difference (XOR) between two rectangles, as rectangles? does kind of what I want, but not exactly, and it seems somewhat... inelegant.

Alternately, I could work with something that returns "true" if x/y coords are within 10% of the edge of the outer rectangle

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

晨光如昨 2024-12-06 04:04:50
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 是外部矩形。

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);
}

where I'm assuming rect1 is the outer rectangle.

少女的英雄梦 2024-12-06 04:04:50

这是一个 javascript 示例,用于查找点是否在矩形中。 矩形内点测试
那么只需要测试它是否在 Rectangle1 中,如果是,是否不在 Rectangle2 中。

Heres an example in javascript for finding if a point is in a rectangle. Point-in-rectangle testing
Then its just a matter if testing if its in Rectangle1 and if so, if its not in Rectangle2.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文