Алгоритм Джарвиса применяется для решения геометрических задач, в частности для построения выпуклой оболочки множества точек. 34
Вычисление выпуклой оболочки важно как промежуточный этап для многих задач вычислительной геометрии, например, задачи о наиболее удалённых точках, когда дано множество из N точек и нужно выбрать пару максимально удалённых друг от друга точек. 4
Описание алгоритма:
- В качестве начальной берётся самая левая нижняя точка P1. 3 Она точно является вершиной выпуклой оболочки. 3
- Следующей точкой (P2) берётся такая точка, которая имеет наименьший положительный полярный угол относительно точки P1 как начала координат. 3
- После этого для каждой точки Pi против часовой стрелки ищется такая точка Pii+1, которая имеет наименьший положительный полярный угол относительно Pii и предыдущей точки. 3
- Нахождение вершин выпуклой оболочки продолжается до тех пор, пока Pii+1 не станет равной P1. 3 В тот момент, когда следующая точка в выпуклой оболочке совпала с первой, алгоритм останавливается — выпуклая оболочка построена. 3
Также подобная техника иногда используется и для других геометрических задач, например, для нахождения пары ближайших точек на плоскости. 2