public static bool RoundAndRound(Round r1, Round r2)
 {
     if ((r1.X - r2.X) * (r1.X - r2.X) + (r1.Y - r2.Y) * (r1.Y - r2.Y) < (r1.R + r2.R) * (r1.R + r2.R))
         return true;
     else
         return false;
 }
 public static bool isRoundInRound(Round ri, Round ro)
 {
     if ((ro.X - ri.X) * (ro.X - ri.X) + (ro.Y - ri.Y) * (ro.Y - ri.Y) <= (ro.R - ri.R) * (ro.R - ri.R))
         return true;
     else
         return false;
 }
 public static bool isPointInRound(Point p, Round r)
 {
     if (Math.Sqrt((p.X - r.X) * (p.X - r.X) + (p.Y - r.Y) * (p.Y - r.Y)) < r.R)
         return true;
     else
         return false;
 }
 public static bool RectAndRound(Rectangle re, Round ro)
 {
     return isPointInRect(new Point(ro.X, ro.Y), new Rectangle(re.X - ro.R, re.Y - ro.R, re.Width + ro.R, re.Height + ro.R));
 }