给定两个矩形的坐标,找出矩形是不是重叠

Posted

技术标签:

【中文标题】给定两个矩形的坐标,找出矩形是不是重叠【英文标题】:Given coordinates of two rectangles, find out if the rectangles overlap or not给定两个矩形的坐标,找出矩形是否重叠 【发布时间】:2015-10-09 20:23:54 【问题描述】:

我在完成此代码时遇到问题。我不确定如何在这里为矩形点p1.xp2.xp1.yp2.y 实现“结构”。我将如何继续解决这个问题?

我应该使用 CGPoint 吗?

struct coordinates

    int x, y;
;

BOOL rectOverlap (int p1, int p2, int q1, int q2)
// getting error: "member reference base type 'int' is not a structure or union"
// on the "if" statement.


    if (p1.x > q2.x || q2.x > p1.x || p1.y < q2.y || q2.y < p1.y)         //this line error
        return false;
     else 
        return true;
    


int main(int argc, const char * argv[]) 
    @autoreleasepool 
        //nothing here yet.
    
    return 0;

【问题讨论】:

【参考方案1】:

在 objc 中有一个结构体来定义一个名为 CGRect 的矩形。 您可以使用CGRectMake方法创建一个 然后你应该使用方法CGRectIntersectsRect 来确定两个CGRect 是否重叠。它的文档是here

【讨论】:

我想你的意思是CGRectIntersectsRectCGRectIntersection 函数计算一个新矩形,该矩形是其参数的交集。

以上是关于给定两个矩形的坐标,找出矩形是不是重叠的主要内容,如果未能解决你的问题,请参考以下文章

矩形重叠

计算两个矩形列表的重叠

计算两个矩形之间的重叠面积

836. 矩形重叠

836. 矩形重叠

LeetCode-矩形重叠