183
edits
Line 200: | Line 200: | ||
== Implementation Notes == | == Implementation Notes == | ||
Moving of vehicles is implemented by first finding a path along the graph (Graph.findPath()), which is quite simple due to Edsger Dijkstras preliminary work. The vehicles will move along | |||
their defined path like a train on rails. They will allways be fixed at some specific position on some edge (class GraphPosition). | |||
For accomplishing a smooth transition from one edge to the other, the graph not only allows line edges but also arc edges. So the shortest path found through the graph will be smoothed | |||
(GraphUtils.createPathFromGraphPosition() and GraphUtils.createTransition()) by truncating line edges and connecting these by arc edges. These graph edges will be added temporarily to the graph and will be removed from the | |||
graph when the vehicle reaches its destination. Smoothing the graph path is a quite complex process with many potential combinations (eg. short edges, small angles between edges, orientation of vehicles). | |||
Optimizing this process still is a work in progress. | |||
== Roadmap == | == Roadmap == |
edits