我有多个矩形和一个特殊的矩形:选择矩形。我想要检查每个矩形,如果矩形包含至少一个点在选择矩形内。这是一幅清晰的图像:

发布于 2015-03-29 00:27:18
如果矩形与另一个矩形重叠,则会发现:
public boolean overlaps (Rectangle r) {
return x < r.x + r.width && x + width > r.x && y < r.y + r.height && y + height > r.y;
}发布于 2015-08-19 07:12:52
背景:
矩形只可由其对角线之一定义。
假设第一个矩形的对角线是(x1,y1)到(x2,y2)
另一个矩形的对角线是(x3,y3)到(x4,y4)

程序:
现在,如果这四个条件中的任何一个是正确的,我们可以得出结论,矩形不是重叠的:
,否则,它们会重叠!

另一种选择是:
矩形在下列情况下重叠
(x1 < x4) && (x3 < x2) && (y1 < y4) && (y3 < y2)Leetcode的示例解决方案:https://leetcode.com/problems/rectangle-overlap/discuss/468548/Java-check-if-two-rectangles-overlap-at-any-point
发布于 2014-04-25 20:52:42
我会创建矩形对象,然后使用Rectangle.intersects和Rectangle.contains方法来确定它们是相交的,还是其中一个包含另一个。
因为你有一个很大的矩形,那就是选择矩形,这比我想象的更容易。运行Rectangle.contains,对于所有未包含的矩形,运行Rectangle.intersects,您就有了所需的内容。
https://stackoverflow.com/questions/23302698
复制相似问题