rrickfox / traffic-sim

GNU General Public License v3.0
2 stars 0 forks source link

Pathfinding #9

Closed rrickfox closed 4 years ago

rrickfox commented 4 years ago
Shafma commented 4 years ago

Kann es sein, dass dieses Issue derweil extrem von #10 abhängt? Kann natürlich auch sein, dass ich dort den Umfang falsch verstehe, weil es so vage formuliert ist, aber ich glaube ohne zu wissen woran sich das Pathfinding orientieren soll, kann man hier nur schlecht anfangen.

rrickfox commented 4 years ago

Vorschlag @Shafma: Anstatt Von jedem Startpunkt zu jedem Endpunkt eine Route zu suchen, kann man auch von jedem Punkt die jeweils möglichen nächsten Punkte suchen und dann einen davon mit einer gewissen wahrscheinlichkeit auswählen, welcher dann das nächste Ziel ist. Bei diesem Punkt angekommen wiederholt sich das Ganze. Wenn ich mich nicht irre sollte das die Anzahl der gespeicherten Verbindungen vermindern und es lässt sich außerdem leichter Einstellen.

Um eine Kreuzung digital nachzubauen muss man dann nur die relativen Häufigkeiten für jede Abbiegemöglichkeit feststellen, anstatt die absoluten Routen festzulegen.

rrickfox commented 4 years ago

Ok habe mich anscheinend geirrt, es könnte aber trotzdem leichter zu implementieren sein...

Shafma commented 4 years ago

Will hier nochmal kurz festhalten, dass ich dafür bin, das nicht nach dem oberen Vorschlag von Richard zu machen, sondern tatsächlich als Pathfinding. Nicht nur scheint das der grundsätzliche Ansatz in den meisten Implementationen zu sein, es wäre auch konsistent mit unserer mikroskopischen Simulation des Verkehrs, die ja auch versucht Fahrverhalten der Autos abbzubilden.

rrickfox commented 4 years ago

Alles klar

Shafma commented 4 years ago

Zumindest für den ersten Sprint werden Autos erstmal fest ihrer Route folgen, selbst wenn sich die Straßensituation ändert und das möglicherweise nicht mehr optimal ist.

funketh commented 4 years ago

Vielleicht ein Feld private bool Vertex._isGoal hinzufügen (anderes Wort als goal wahrscheinlich)? Wäre dann nen optionaler Parameter im Vertex constructor mit dem default Wert false. Unterklassen wie Spawnpoints könnten dieses Feld auf true setzen, um zu signalisieren, dass das Pathfinding hier anfangen/enden kann. https://github.com/rrickfox/traffic-sim/blob/b36b79511fab5818cb34080dd6b484ed562b8f52/Assets/Scripts/DataTypes/Vertices/Vertex.cs#L4-L15

konstibob commented 4 years ago

Was ist der derzeitige Stand des Entwurfes?