How do you generate the non-convex hull from a series of points?

I am currently trying to construct the area covered by a device over an operating period. Первый шаг в этом процессе, кажется, строит многоугольник покрытой области. Так как рисунок не является стандартной формой, выпуклые корпуса преувеличивают покрытую область, перепрыгивая на максимально возможную зону покрытия.

Я нашел документ, который, кажется, охватывает концепцию генерации невыпуклой оболочки, но не обсуждает, как реализовать это на языке высокого уровня. http://www.geosensor.net/papers/duckham08.PR.pdf

Кто-нибудь видел прямой алгоритм построения невыпуклой оболочки или вогнутой оболочки или, возможно, любого кода Python для достижения того же результата? ?

Я пробовал выпуклые корпуса, в основном qhull, с ограниченным размером кромки с ограниченным успехом. Также я заметил несколько лицензированных библиотек, которые не смогут распространяться, так что, к сожалению, это не обсуждается. Any better ideas or cookbooks?

5
задан TelsaBoil 1 September 2010 в 17:06
поделиться