判断两区间是否有交集?
线段元素有序(比如按照x1排序:a ,b): a x 2 > = b x 1 ax2 >= bx1 ax2>=bx1
无序: m i n ( a x 2 , b x 2 ) > = m a x ( a x 1 , b x 1 ) min(ax2, bx2) >= max(ax1, bx1) min(ax2,bx2)>=max(ax1,bx1)
计算矩形相交面积:
其实是要求横纵边都有交集, 横轴交际就是阴影宽,纵轴交际就是阴影高,所以
int w = min(ax2, bx2) - max(ax1, bx2);
int h = min(ay2, by2) - max(ay1, by1);
int area = w*h;