Java: поиск самых внешних вершин выпуклого многоугольника

Исходное сообщение:

Я пытаюсь найти самые внешние вершины выпуклого многоугольника (относительно точки Pвне многоугольника). Пока меня интересуют только прямоугольники (однако мне нужен алгоритм, работающий с любым выпуклым многоугольником).

Point Demonstration

Мой план состоит в том, чтобы построить линию из внешних точка Pв центральную точку C.От этой линии отсчетая построю линии от точки Pдо точек 1 , 2, 3и 4, так как точки 2и 4будут иметь наибольшее ( наиболее положительные) и наименьшие (самые отрицательные) углы от линии отсчета, они будут идентифицированы как крайние вершины.

Является ли это лучшим алгоритмом для работы? можно ли вычислять углы по эталонному углу (предпочтительно на Java)?


Обновление для уточнения:

enter image description here

Я нарисовал линии (линия ссылкикрасного цвета). Как видите, линия от Pдо 2создает наибольший угол с одной стороны от линии отсчета, а линия от P - 4создает наибольший угол другой стороны. Следовательно, это самые внешние вершины.

7
задан Peter 2 April 2012 в 20:36
поделиться