Question

Je suis en train de prendre un graphique dense de points tels que cette , et tournez dans un graphique de polygones convexes connectées. Les polygones doivent être aussi grand et aussi simple que possible tout en restant connecté. Le graphique résultant sera utilisé pour pathfinding. point que quelqu'un peut me dans la bonne direction?

Était-ce utile?

La solution

Il est très ennuyeux que je ne peux pas poster des liens. Il est difficile d'être un Rôdeur et que participator occasionnel.

Je fini par utiliser les techniques suivantes:

Tout d'abord, créez une transformation de distance. Je l'algorithme décrit ici [ne peut pas lier], entraînant une image comme celle [lien ne peut pas]. Ensuite, créez un bassin versant transform du DT pour le diviser en zones. Ce besoin de quelques travaux, mais il semble actuellement comme ça [ne peut pas lier] Ensuite, utilisez les points médians des polylignes reliant chaque paire de zones, pour créer un graphique de point de passage.

Résultat

Le partitionnement des bassins versants est pas encore parfait, notez le aliasing causant des bandes, mais je me retrouve avec 181 zones et 281 points de passage pour cette carte 128x128.

Autres conseils

Ce n'est pas ce que vous avez demandé, mais voici quelques autres idées pour résoudre ce problème de planification de trajectoire 2D:

Puisque vous avez à traiter avec une représentation graphique et graphique la recherche de toute façon, ces techniques semblent beaucoup plus facile que l'extraction des polygones. Je dégoté quelques questions SO pour ce problème:

Lorsque l'espace a été localisé par des polygones (éventuellement à l'aide d'un outil), il peut être divisé en polygones convexes ou une autre représentation qui peut être recherchée. Ceci est également discuté par LaValle:

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top