Czy istnieją dobrze znane algorytmy dopasowywania wielokąta do dowolnego kształtu?

10

Używam silnika fizyki Chipmunk do tworzenia poziomów dla gry 2D C. Chciałbym móc dopasować wielokąt do dowolnego kształtu, aby służył jako maska ​​kolizji. Biorąc pod uwagę czarno-białą maskę kolizyjną dla obiektu o dowolnym poziomie:

Czarna kropelka

Czy są jakieś dobrze znane algorytmy do uzyskania tego: Teraz z dopasowanym wielokątem

Mógłbym wtedy użyć czerwonego wielokąta, aby stworzyć obiekt fizyki, który będzie pasował do obrazu.

davidscolgan
źródło

Odpowiedzi:

9

Jest to znane jako generowanie wklęsłego kadłuba i jest w ogólnym przypadku dość skomplikowane (o wiele bardziej niż wypukły kadłub).

Jedną z najczęściej zalecanych metod jest używanie kształtów alfa .

Istnieje więcej dobrych zasobów na temat problemu tutaj , tutaj i tutaj .

BlueRaja - Danny Pflughoeft
źródło