坐标轴中两矩形重叠面积

发布时间 2023-04-03 12:34:12作者: SpringBridge

1、先排除没有重叠的情况

2、找出重叠的面积的宽和长

用在x轴方向上两矩形左边两个边x值x1、x2,求max(x1,x2)

右边两条边x值x3,x4,求min(x3,x4)

length=abs(max(x1,x2) - min(x3,x4)

width同理,在y轴方向上操作

最后area=length+width

 

 

 1 int getSpace(int x1,int y1,int x2,int y2,int a,int b){
 2     if(x2<=0||x1>=a||y1>=b||y2<=0){
 3         //不在范围内的
 4         return 0; 
 5     }    
 6     else{
 7 
 8         int width=abs(min(y2,y3)-max(y2,y1));
 9         int length =abs(min(x3,x4)-max(x2,x1));
10         return width*length;
11 
12     }
13     
14 }