Multi-point maze solver
This Java tool is a simple application of the Lee algorithm for (rectilinear) maze routing, applied to a non-grid space using Bresenham’s line algorithm.
It was written as part of a course on VLSI algorithms, in Java. The Processing library (3.0.1) allowed quick development of a basic graphic interface. The user can draw a maze and define points within it that should be connected.
The Lee algorithm can then be used to find the shortest path (or an unusually long one, if desired).
Altering the clearance required by the wires, paths through narrower openings can be enabled:
Large numbers of endpoints can be defined, and the router will attempt to connect each to an existing path.
Mazes can be imported and exported as segment-based text files, for storage and possible use in other systems.
A standalone archive for 32-bit windows is attached. The files in /source contain
the original code, which can be executed in and exported for other operating systems with the Processing environment. Further development is possible if desired.