У меня довольно специфическая задача.
Мне нужно вычислить альфа-форму набора точек.(Вы можете резвиться с уже реализованным алгоритмом там )
Дело в том, что у меня есть предопределенные подмножества точек (давайте назовем их детали), и я не хочу, чтобы их структура изменялась.Например, предположим, что эти многоугольники являются деталями:

Тогда, в зависимости от альфа-радиуса, в порядке следующие корпуса:


И следующее:

Вкратце, я хочу, чтобы структура указанных подмножеств точек оставалась неизменной при уменьшении радиуса.
Итак, как вы думаете:
- МайЯ использую какой-либо из уже реализованных алгоритмов, или я должен выяснить какой-то конкретный?
- Есть ли где-нибудь реализованный пример алгоритма Alpha-Shape с открытым исходным кодом?(Альфа-форма, а не вогнутый корпус. При уменьшении радиуса контур должен разделяться на несколько частей)