Kann jemand Artikel oder Algorithmen zur Berechnung kürzester Wege in euklidischen Räumen mit nicht konvexem Polygon als Hindernissen vorschlagen?
Kann jemand Artikel oder Algorithmen zur Berechnung kürzester Wege in euklidischen Räumen mit nicht konvexem Polygon als Hindernissen vorschlagen?
Antworten:
Der einfachste Ansatz besteht darin, die nicht konvexen Polygone in mehrere konvexe umzuwandeln und dann eine normale konvexe Kollision und Pfadfindung durchzuführen (über A * oder D * oder was auch immer). Der erste Prozess wird in der Berechnungsgeometrie häufig als Triangulation bezeichnet , und es gibt verschiedene gängige Methoden, um dies zu tun.
Dies ist möglicherweise nicht die genaue Antwort auf Ihre Frage, aber ich kann Ihnen einen Ansatz zu diesem Thema vorschlagen.
Eigentlich ist Ihr Problem zwei Probleme zusammen.
Und das zweite Problem ist in das erste eingebettet. Ich kann empfehlen, zuerst die blinde Suche zu verstehen. Hier ist eine sehr einfache Präsentation dazu: Blind Search
Wenn Sie das Dokument zum Erstellen des Statusraums lesen, müssen Sie Statuspunkte generieren. Diese müssen legal sein, dh diese Status können sich auf Ihrem kürzesten Weg befinden, damit sie nicht mit Objekten in Ihrem Bereich kollidieren. Von nun an können Sie mit euklidischen Kollisionsalgorithmen fortfahren. Nachdem Sie Ihren durch Kollisionen eingeschränkten Statusraum und Suchbaum erstellt haben, können Sie einen der Algorithmen mit dem kürzesten Pfad oder einen Ihrer eigenen oder einen modifizierten Hybridalgorithmus auswählen.