001  (ns walkmap.routing
002    "Finding optimal routes to traverse a map."
003      (:require [walkmap.path :as p]
004              [walkmap.polygon :as q]
005              [walkmap.stl :as s]
006              [walkmap.utils :as u]
007              [walkmap.vertex :as v]))
008  
009  ;; Breadth first search is a good algorithm for terrain in which all steps have
010  ;; equal, but in our world (like the real world), they don't.
011  
012  ;; Reading list:
013  ;;
014  ;; https://en.wikipedia.org/wiki/A*_search_algorithm
015  ;; https://www.redblobgames.com/pathfinding/a-star/introduction.html
016  ;; https://faculty.nps.edu/ncrowe/opmpaper2.htm
017  ;;
018  ;; See https://simon-brooke.github.io/the-great-game/codox/Pathmaking.html