Frage

Ich möchte ein Kartenprogramm erstellen, das Anweisungen rund um einen Campus (Wohnheime, Fußballfeld usw.) und in Gebäuden (zu Büros, Cafeteria usw.) gibt. Gibt es etwas, das dazu beitragen würde, dies zu erleichtern?

Die Alternative scheint zu sein, dass ich meine eigene Karte mit Punkten und Pfaden rund um den Campus erstellen und nach dem Wegfinding nach Richtungen machen müsste.

BEARBEITEN: Um zu verdeutlichen, möchte ich wissen, wie man einem Pfadfinding -Programm räumliches Bewusstsein hinzufügt, um Gehensrichtungen für den Pfad zu generieren. Beispiel: Für einen Flur voller Büros mit zwei Knoten, die einen Pfad in den Flur betreten können, woher wissen Sie, ob sich ein bestimmtes Büro von einem Knoten und rechts von einem anderen links befindet?

War es hilfreich?

Lösung

Wenn ich Polygone für die Knoten anstelle von Wegpunkten verwende, kann ich ein Navigationsnetz erstellen, das für Pfadfindungen und Richtungen verwendet werden kann. Wenn ich die Rechtecknummern für seine Seiten von 1 bis 4 vom Uhrzeigersinn angreife, weiß ich, dass es eine rechte Hand dreht. Oder, wenn ich Seite 3 eingehe (z. B. unten) und Seite 4 lasse, ist es links.

Andere Tipps

Dies ist ziemlich schwer zu beantworten, ohne zu wissen, welche Art von Schnittstelle Sie möchten. Soll es eine Anwendung vom Typ Google Mape sein? Oder etwas Einfacheres? Egal, was Sie wahrscheinlich für die Definition von Wegen müssen - welche Dinge sind unpassierbar.

Sie könnten viel Arbeit leisten und definieren, was unpassierbar ist, und dann einen Pfadfindungsalgorithmus verwenden, um über Rasenflächen zu gehen. Aber das wäre mehr Arbeit als der einfache Ansatz:

  1. Machen Sie eine Karte des Campus mit allen Routen, die ausgegraut sind
  2. Definieren Sie die Punkte und Pfade in PHP/Perl/Ruby/Python/Coldfusion/ASP.NET/was auch immer
  3. Holen Sie sich den Benutzer Start und Ziel
  4. Laufen Sie den Algorithmus von Dijkstra
  5. Zeigen Sie die Karte des Campus mit Overlays an, die die Routensegmente hervorheben, um ihren Weg zu beleuchten.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top