Алгоритм развертки с круговыми пересечениями - PullRequest
0 голосов
/ 23 ноября 2018

Я пытаюсь реализовать алгоритм линии развертки для пересечений окружностей, в которых пересечение происходит, если евклидово расстояние между источниками окружностей <= сумма обоих радиусов.(исключая круги внутри кругов) </p>

Я свел свою проблему к алгоритму линии развертки, определив круги как имеющие точку входа и конца (верхние максимумы и нижние максимумы).при достижении верхних максимумов правый и левый максимумы круга будут добавлены к статусу.Статус упорядочен по x координатам максимумов окружностей. вот пример того, как выглядят границы

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

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

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

...