static Rectangle peresechenie(Rectangle rect1 ,Rectangle rect2)
{
int rect1X,rect2X,rect1Y,rect2Y,Widht,hieght;
rect1X = Math.Max(rect1.x,rect2.x);
rect2X= Math.Min(rect1.Width+rect1.x, rect2.Width+rect2.x);
rect1Y=Math.Max(rect1.y,rect2.y);
rect2Y =Math.Min(rect1.y+rect1.Height,rect2.y+rect2.Height);
Widht = rect2X -rect1X;
hieght=rect2Y- rect1Y;
return new Rectangle(rect1X,rect1Y,Widht,hieght);
}
//без проверок будет ли вообще пересечения у них