Найти пересечение двух окружностей - C#

Узнай цену своей работы

Формулировка задачи:

Объявить класс Circle, окружность, с открытыми свойствами двойной точности X и Y (координаты центра), R (радиус). В классе должен быть конструктор с тремя параметрами: x, y, r и открытый метод bool IsIntersect(Circle other), который получает другую окружность, и оперделяет, пересекается ли окружность this с окружностью other (касание тоже считать пересечением). понятно, что две окружности пересекаются, если расстояние между их центрами меньше суммы их радиусов. Скажите мне, пожалуйста, что не так в моём решении?
Листинг программы
  1. class Circle
  2. {
  3. public double X{get;set;}
  4. public double Y{get;set;}
  5. public double R{get;set;}
  6. public Circle(double x, double y, double r)
  7. {
  8. X = x;
  9. Y = y;
  10. R = r;
  11. }
  12. public bool IsIntersect(Circle other)
  13. {
  14. return Math.Sqrt(Math.Pow(other.X - this.X,2)+Math.Pow(other.Y-this.Y,2))<=(this.R+other.R);
  15. }
  16. }

Решение задачи: «Найти пересечение двух окружностей»

textual
Листинг программы
  1. public bool IsIntersect(Circle other)
  2. {
  3.     double dist = Math.Sqrt(Math.Pow(other.X - this.X,2)+Math.Pow(other.Y-this.Y,2));
  4.     double D = this.R+other.R;
  5.     return Math.Abs(dist - D)<=1E-5;
  6. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.643 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы