32 lines
		
	
	
		
			793 B
		
	
	
	
		
			Scheme
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			793 B
		
	
	
	
		
			Scheme
		
	
	
	
	
	
| (use-modules (graphgif)
 | |
| 	     (srfi srfi-1)
 | |
| 	     (srfi srfi-43)
 | |
| 	     (ice-9 copy-tree)
 | |
| 	     (d-))
 | |
| 
 | |
| (define red (create-color 1 0 0))
 | |
| 
 | |
| (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)
 | |
| 
 |