Найти пересечение двух окружностей - C#
Формулировка задачи:
Объявить класс Circle, окружность, с открытыми свойствами двойной точности X и Y (координаты центра),
R (радиус). В классе должен быть конструктор с тремя параметрами: x, y, r и открытый метод bool IsIntersect(Circle other), который получает другую окружность, и оперделяет, пересекается ли окружность this с окружностью other (касание тоже считать пересечением).
понятно, что две окружности пересекаются, если расстояние между их центрами меньше суммы их радиусов.
Скажите мне, пожалуйста, что не так в моём решении?
class Circle { public double X{get;set;} public double Y{get;set;} public double R{get;set;} public Circle(double x, double y, double r) { X = x; Y = y; R = r; } public bool IsIntersect(Circle other) { return Math.Sqrt(Math.Pow(other.X - this.X,2)+Math.Pow(other.Y-this.Y,2))<=(this.R+other.R); } }
Решение задачи: «Найти пересечение двух окружностей»
textual
Листинг программы
public bool IsIntersect(Circle other) { double dist = Math.Sqrt(Math.Pow(other.X - this.X,2)+Math.Pow(other.Y-this.Y,2)); double D = this.R+other.R; return Math.Abs(dist - D)<=1E-5; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д