Как найти пересечение фигур?

У меня панель panel1.
g.DrawEllipse(aquaPen, e.X - 50, e.Y - 50, 100, 100);

- рисую окружность

Также рисую вторую фигуру. Как мне определить, пересекаются они или нет?

PS. В задании написано круг + треугольник. Правильно ли я делаю, или нужно заливать все-таки фигуру?
  • Вопрос задан
  • 4104 просмотра
Пригласить эксперта
Ответы на вопрос 1
morozovdenis
@morozovdenis
что бы узнать пересекаются или нет окружность и треугольник нужно решить 3 системы уравнений:

первая:
(x-x0)^2+(y-y0)^2=R^2
(y-Ay)/(By-Ay)=(x-Ax)/(Bx-Ax)

вторая:
(x-x0)^2+(y-y0)^2=R^2
(y-Cy)/(By-Cy)=(x-Cx)/(Bx-Cx)

третья:
(x-x0)^2+(y-y0)^2=R^2
(y-Cy)/(Ay-Cy)=(x-Cx)/(Ax-Cx)

где x0,y0 центр окружности
A, B и C - координаты вершин треугольника

и если хоть одна имеет решение, то пересикаются
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы