Найти пересечение двух окружностей - 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;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д