1. Существует более быстрый вариант построения графа видимости, использующий Rotation Trees. Асимптотически работает за O(n^2), а пишется даже быстрее чем алгоритм с заметающей прямой по углу. Почитать можно здесь.
2. Вместо Грэхэма лучше писать Грэхэма с оптимизациями Эндрю. Асимптотически они одинаковы, но в варианте Эндрю сортировка работает быстрее за счет упрощения операций сравнения.
3. Вы почему-то решили не указывать оставшихся двух авторов книги Computational Geometry, а зря, потому что они обязательно должны быть упомянуты в любой содержательной статье по вычислительной геометрии :)
Спасибо. Господ M. van Kreveld и M. Overmars добавил. Странно что я их продинамил. Что касается Rotation Trees, большое спасибо — обязательно прочитаю.
Знаком немного с темой в контексте роботики и мне кажется, самый интиресный алгоритм — это RRT* ).
Еще стоит не забывать о габаритах персонажа и кинематике движения, иначе можно получить нереализумый путь.
Да, «как есть» этот алгоритм использовать не получится. К тому же, вряд ли все ходят по стеночкам. :) Нужно добавлять потенциалы вершинам или заведомо увеличивать полигоны.
оно как бы понятно, что такой вариант тривиальный :)
я просто к тому, что исходя из описанных условий задачи он не вписывается в доказательство оптимального пути :)
но это просто что-то между вредностью, стебом и занудством — особо не парьтесь :)
Motion planning: граф видимости, дорожные карты