我是靠谱客的博主 虚拟水杯,最近开发中收集的这篇文章主要介绍java 矩形重叠问题_怎样判断两个矩形是否重叠,需要考虑矩形边与坐标轴不重合的情况?...,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

注意,矩形可以由两个坐标表示,即左上角和右下角。所以主要是给我们以下四个坐标。

可以假定矩形与坐标轴平行。

一种解决方案是一个接一个地选取一个矩形的所有点,查看该点是否在另一个矩形内。这可以使用此处

以下是一种更简单的方法。如果满足以下条件之一,则两个矩形不重叠。

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 矩形重叠问题_怎样判断两个矩形是否重叠,需要考虑矩形边与坐标轴不重合的情况?...所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部