Exemple #1
0
        public static float DistanceBetweenRects(Rectangle r1, Rectangle r2)
        {
            if (r1.Intersects(r2))
            {
                return(0);
            }

            float min = float.MaxValue;

            foreach (Segment s1 in Segment.RectangleSides(r1))
            {
                foreach (Segment s2 in Segment.RectangleSides(r2))
                {
                    min = Math.Min(min, DistanceBetweenSegments(s1, s2));
                }
            }

            return(min);
        }