sigma.pathfinding.astar.js is a plugin for sigma.js that computes path in a graph using a naive implementation of the A* algorithm.
Either download a tarball, git clone
the repository or npm install
it. Then it's pretty straight-forward.
It adds a method to your sigma.graph
called astar(srcId, destId[, options])
.
srcId
, identifier of the start node;destId
, identification of the destination node;options
(optional), an object containing one or more of those properties:undirected
(default:false
), if set totrue
, consider the graph as non-oriented (will explore all edges, including the inbound ones);pathLengthFunction
(default is the geometrical distance), afunction(node1, node2, previousLength)
that should return the new path length between the start node andnode2
, knowing that the path length between the start node andnode1
is contained inpreviousLength
.heuristicLengthFunction
(default:undefined
), afunction(node1, node2)
guesses the path length betweennode1
andnode2
(node2
actually is the destination node). If left undefined, takes thepathLengthFunction
option (third parameter will be left undefined).
Return value is either:
undefined
: no path could be found between the source node and the destination node;[srcNode, …, destNode ]
: an array of nodes, including source and destination node.
Check example/index.html
for a live example.
Use grunt
or grunt watch
.
### v1.0.1 – 2015-09-16
- Fixing suboptimal path (missing parameter in heuristic, #1)
### v1.0.0 – 2015-01-26
- Initial release