求交集算法:我觉得首先要进行碰撞检测(看是否有交集)
           如果有,就取到他们相交的矩形。
class R
{
   int x,y,width,height;
   public R(int X,int Y,int Width,int Height)
   {
      x=X;
      y=Y;
      width=Width;
      height=Height;
   }
}
public class test
{
   R fun(R r1,R r2)
   {
      R temp;
      if((r1.x+width>=r2.x)&&(r1.y+height>=r2.y)&&(r2.x+r2.width>=r1.x)&&(r2.y+r2.height>=y))//判断相交否
      {
         temp.x=r1.x;
         temp.y=max(r1.y,r2.y);
         temp.width=min(r1.x+width,r2.x+width)-r1.x;
         temp.height=min(r1.y+height,r2.y+height)-max(r1.y,r2.y);
       }
       else
          System.out.println("不相交!");
       return temp;
   }
   public static void main(String[] args)
   {
      R rr1=new R10,39,40,34);
      R rr2=new R(32,23,32,43);
      if(rr1.x<rr2.y)
         fun(rr1,rr2);
      else
         fun(rr2,rr1);
   }
}