如何求两个向交矩形的交集的面积?

 如何求两个相交矩形的交集的面积?
就是交接的公共部分面积?

class Rectangle {
Point min;
Point max;
}

Rectangle rect1, rect2;
Rectangle rect;

rect.min.x = max(rect1.min.x, rect2.min.x);
rect.min.y = max(rect1.min.y, rect2.min.y);
rect.max.x = min(rect1.max.x, rect2.max.x);
rect.max.y = min(rect1.max.y, rect2.max.y);
if ( rect.min.xs = (rect.max.x-rect.min.x)*(rect.max.y-rect.min.y)
else
s = 0;

来自:http://www.softwelt.com/Know/KnowDetail-2486480.html

 

如何判断两个矩形是否相交 (2008-05-19 20:33:01)
假定矩形是用一对点表达的(minx,miny)(maxx,   maxy)  
  那么两个矩形rect1{(minx1,miny1)(maxx1,   maxy1)},   rect2{(minx2,miny2)(maxx2,   maxy2)}  
   
  相交的结果一定是个矩形,构成这个相交矩形rect{(minx,miny)(maxx,   maxy)}的点对坐标是:  
  minx   =   max(minx1,   minx2)  
  miny   =   max(miny1,   miny2)  
  maxx   =   min(maxx1,   maxx2)  
  maxy   =   min(maxy1,   maxy2)  
   
  如果两个矩形不相交,那么计算得到的点对坐标必然满足  
  minx   >   maxx  
  或者  
  miny   >   maxy  

你可能感兴趣的:(算法)