Ich versuche Agenten durch Navigationsknoten bewegen zu bewegen. Das ist mein Setup:Agenten bewegen sich durch Navigationsknoten
- Agenten (sagen wir Menschen/Person) sind nach dem Zufallsprinzip in den Weltraum gelegen.
- Knoten (nur eine andere Art von Agenten) sind auch zufällig im Raum angeordnet.
- Jede Person definiert einen Zielknoten. Eine Person sollte sich über Navigationsknoten zu diesem Zielknoten bewegen.
Dies ist, was ich tun möchte:
- Jeder Agent zu einem Zielknoten dreht.
- Jeder Agent hat einen Sichtbereich, der zunimmt, wenn der Agent keinen Navigationsknoten findet, an dem er sich bewegen kann.
Jeder Agent bewegt sich zum nächsten Navigationsknoten und startet den Suchvorgang erneut.
Der Agent stoppt, wenn der nächstgelegene Navigationsknoten der Zielknoten ist. Dann ist der Agent angekommen!
Meine Fragen:
stelle ich die Rotation eines Mittels mit:
double r = Math.atan2(targetNode.getY() - this.getY(), targetNode.getX() - this.getX()); this.setRotation(r);
Ich bin nicht sicher, wie die Vision Bereich in Anylogic zu programmieren. Irgendwelche Ideen?
Hier ein Beispiel: http://agiltools.com/blogsp/2016/06/ – sdaza
aus irgendeinem Grund, die Methode enthält() funktioniert nicht. Meine Agenten rotieren ständig, wahrscheinlich mache ich etwas falsch, wenn ich die relativen Koordinaten definiere. – sdaza
Ich habe versucht, Ihre Vision-Range-Lösung zu implementieren, aber ich habe immer noch Probleme mit den Navigationsknoten. Ich verwende diesen Code, um Knoten innerhalb einer Polylinie (agentVision) zu erhalten: Hier ein Beispiel: http://dl.getdropbox.com/u/18116710/ExampleVisionPolyLine.alp – sdaza