1
我正在嘗試使代理移動通過導航節點。這是我的設置:通過導航節點移動的代理
- 代理(比方說人/人)隨機位於空間中。
- 節點(只是另一種代理)也隨機位於空間中。
- 每個人都定義了一個目標節點。一個人應該通過導航節點移動到該目標節點。
這就是我想做的事:
- 每個代理向目標節點旋轉。
- 如果代理程序未找到任何要移動的導航節點,則每個代理程序的視覺範圍都會增加。
每個代理移動到最近的導航節點,並重新開始搜索過程。
當最近的導航節點是目標節點時,代理停止。然後,代理已經到了!
我設置使用代理的旋轉:
double r = Math.atan2(targetNode.getY() - this.getY(), targetNode.getX() - this.getX()); this.setRotation(r);
我不知道如何在AnyLogic的視野範圍內進行編程。有任何想法嗎?
我的問題:
這裏的一個例子:http://agiltools.com/blogsp/2016/06/ – sdaza
由於某些原因,該方法包含()不起作用。我的代理不斷旋轉,所以在定義相對座標時可能會出錯。 – sdaza
我試圖實現您的視覺範圍解決方案,但我仍然遇到了導航節點的問題。我正在使用此代碼獲取多段線內的節點(agentVision):這裏是一個示例:http://dl.getdropbox.com/u/18116710/ExampleVisionPolyLine.alp – sdaza