graphgif/demo.scm
2024-11-19 12:01:07 -06:00

27 lines
694 B
Scheme

(use-modules (graphgif)
(d-))
(define graph
(~> (generate-web 10 10)
(remove-rect 10 1 3 6 3)
(remove-rect 10 6 3 6 7)))
(define (color-graph graph visited heap)
(map (lambda (pair)
(cons (car pair)
(if (memq (car pair) visited)
(set-node-color (cdr pair) red)
(cdr pair))))
graph))
(define (make-graph-generator f)
(generator
(f graph 90 9
(lambda (visited heap)
(yield (color-graph graph visited heap))))
#f))
(define djikstra-generator (make-graph-generator djikstra))
(define a*-generator (make-graph-generator a*))
(write-graphs-to-file "djikstra.webp" djikstra-generator)
(write-graphs-to-file "astar.webp" a*-generator)