示例#1
0
文件: Circle.cs 项目: Yozer/NanoWar
        public bool IntersectCircle(Circle circle)
        {
            var distance = GetDistanceBetweenCircles(circle);

            // check distance
            return distance <= circle.Radius + Radius;
        }
示例#2
0
文件: Circle.cs 项目: Yozer/NanoWar
 private double GetDistanceBetweenCircles(Circle circle)
 {
     var distanceX = Position.X - circle.Position.X;
     var distanceY = Position.Y - circle.Position.Y;
     return Math.Sqrt(distanceX * distanceX + distanceY * distanceY);
 }
示例#3
0
文件: Circle.cs 项目: Yozer/NanoWar
        public bool ContainsCircle(Circle circle)
        {
            // bigger circle cannot be inside smaller one
            if (circle.Radius > Radius)
            {
                return false;
            }

            var distance = GetDistanceBetweenCircles(circle);

            return distance <= Math.Abs(Radius - circle.Radius);
        }