当前位置 : 主页 > 编程语言 > c++ >

c – 检查两个矩形之间的交叉点?

来源:互联网 收集:自由互联 发布时间:2021-06-23
如果我有两个矩形,其位置使用两个2D矢量(即左上角,右下角)进行确定,我如何检查它们相交的点? 我假设您实际上想要交叉的结果,而不仅仅是测试两个矩形是否相交. rect1 =(l1,t1,r1,b1)和
如果我有两个矩形,其位置使用两个2D矢量(即左上角,右下角)进行确定,我如何检查它们相交的点? 我假设您实际上想要交叉的结果,而不仅仅是测试两个矩形是否相交.

rect1 =(l1,t1,r1,b1)和rect2 =(l2,t2,r2,b2)的交集也是一个矩形:

rectIntersection = ( max(l1, l2), max(t1, t2), min(r1, r2), min(b1, b2) )

如果保持> = right ||,rectIntersection当然是空的top> = bottom假设一个矩形是左/上包含和右/下 – 独占.

如果矩形相交

l1 < r2 && l2<r1 && t1<b2 && t2<t1
网友评论