概述
注意,矩形可以由两个坐标表示,即左上角和右下角。所以主要是给我们以下四个坐标。
可以假定矩形与坐标轴平行。
一种解决方案是一个接一个地选取一个矩形的所有点,查看该点是否在另一个矩形内。这可以使用此处
以下是一种更简单的方法。如果满足以下条件之一,则两个矩形不重叠。
1)一个矩形位于另一个矩形的上边缘上方。
2)一个矩形位于另一矩形左边缘的左侧。
我们需要检查上述情况,以确定给定的矩形是否重叠。以下是上述方法的实现。
// Java program
class GFG {
static class Point {
int x, y;
}
// Returns true if two rectangles (l1, r1) and (l2, r2) overlap
static boolean doOverlap(Point l1, Point r1, Point l2, Point r2) {
// If one rectangle is on left side of other
if (l1.x > r2.x || l2.x > r1.x) {
return false;
}
// If one rectangle is above other
if (l1.y < r2.y || l2.y < r1.y) {
return false;
}
return true;
}
/* Driver program to test above function */
public static void main(String[] args) {
Point l1 = new Point(),r1 = new Point(),
l2 = new Point(),r2 = new Point();
l1.x=0;l1.y=10; r1.x=10;r1.y=0;
l2.x=5;l2.y=5; r2.x=15;r2.y=0;
if (doOverlap(l1, r1, l2, r2)) {
System.out.println("Rectangles Overlap");
} else {
System.out.println("Rectangles Don't Overlap");
}
}
}
如果两个给定的矩形重叠,则返回true。l1
r1:第一个矩形的右下角坐标。
l2:第二个矩形的左上坐标。
:第二个矩形的右下角坐标。
l1:第一个矩形的左上坐标。
r1:第一个矩形的右下角坐标。
l2
r
最后
以上就是虚拟水杯为你收集整理的java 矩形重叠问题_怎样判断两个矩形是否重叠,需要考虑矩形边与坐标轴不重合的情况?...的全部内容,希望文章能够帮你解决java 矩形重叠问题_怎样判断两个矩形是否重叠,需要考虑矩形边与坐标轴不重合的情况?...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复