Пересекающиеся точки кривой! - PullRequest
0 голосов
/ 13 июля 2011

Я рисую дугу внутри квадрата или многоугольника с максимально возможным радиусом внутри. Когда дуга рисуется в пределах границы квадрата или многоугольника, длина дуги будет пересекаться в нескольких точках на квадрате или многоугольнике.

Как найти координаты точек пересечения дуги на периферии квадрата / многоугольника?

Ответы [ 2 ]

0 голосов
/ 13 июля 2011

Дуга будет пересекать те сегменты границы, которые находятся на расстоянии R от центра дуги, где R - радиус дуги. Точки пересечения - это проекции центра на заданные отрезки.

Поэтому вы можете найти все расстояния от центра до сегментов и найти те, которые соответствуют радиусу. Затем найдите прогнозы.

0 голосов
/ 13 июля 2011

Сегмент линии многоугольника имеет (или не имеет) касательную точку, расстояние от центральной точки дуги до радиуса дуги.

Если это проблема, спроецируйте две линии, параллельныесегмент по обе стороны от сегмента на расстоянии радиуса, затем определите, пересекает ли любая из линий точку центра дуги, если нет, то касательная не существует ...

если это так, точка пересечения относительно проекциисегмент пропорционален касательной к исходному сегменту.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...