w9-pathfinding
W9-Pathfinding is a versatile pathfinding library written in C++ with a Python interface provided by Cython. It offers a variety of pathfinding algorithms for navigating different types of maps, including grids, graphs, and 3D spaces. The library includes both classic pathfinding algorithms and multi-agent pathfinding algorithms.
Key Features:
Supports multiple environments: graphs, 2D/3D grids, and hexagonal grids
Works with both weighted and unweighted environments
Includes classical pathfinding algorithms (BFS, Dijkstra, A*, etc.)
Includes multi-agent pathfinding algorithms (CBS, ICTS, WHCA*, and more)
Supports pathfinding with dynamic obstacles
Built-in visualization tools for debugging and demonstrations
Why “W9”?
The name w9-pathfinding comes from the weighted 9-connected grid you can use for pathfinding in the library. The “W” stands for Weighted, indicating that the library supports both weighted and non-weighted maps, where movement costs may vary. The “9” refers to the 9 possible movement directions: the 4 cardinal directions (North, South, East, West), the 4 diagonal directions (NE, SE, SW, NW), and a center movement (staying in place, which is crucial in multi-agent scenarios).
Table of Contents: