找出矩形是否在另一个矩形内

所以我有两个矩形,用户必须输入左下角(x1,y1,但y1总是0)和右上角(x2,y2),我必须找出其中一个是否完全在里面另一个(或者它们完全一样)。

并且它会变得有点困难,因为我实际上必须制作程序,以便用户可以决定他们想要创建多少个矩形,但起初我很乐意知道如何检查2个矩形的情况。

下面是比较内部矩形的边和外部矩形的边

if Right2 < Right1 && Left2 > Left1 && Top2 > Top1 && Bottom2 < Bottom1 

执行:

 struct RECT { double x,y, w,h; RECT(double a,double b,double c,double d) { x=a; y=b; w=c; h=d; } }; bool contains(RECT R1, RECT R2) { if ( (R2.x+R2.w) < (R1.x+R1.w) && (R2.x) > (R1.x) && (R2.y) > (R1.y) && (R2.y+R2.h) < (R1.y+R1.h) ) { return true; } else { return false; } } 

好吧,根据定义,如果内部矩形的所有点都在外部矩形内,则一个矩形在另一个内部。 使用一些几何体,您可以将其煮沸以检查内部矩形的两个相对角是否在外部矩形中。