oder
;;; [minimal-prim Grafik.scm]
; Grafikprogramm für die Darstellung des Weges beim
; minimal spanning tree - Problem (greedy).
; Die Prozedur bekommt hier eine Liste von Kanten und die Koordinaten
; übergeben.
(require-library "graphics.ss" "graphics")
(open-graphics)
(define Grafik
(open-viewport "minimal mit greedy Grafik" 400 400))
(define
(Punkt-Koordinaten Punkt Koordinaten)
(apply make-posn (cadr (assoc Punkt Koordinaten))))
(define
(zeichne Weg Koordinaten)
((draw-viewport Grafik) (make-rgb 1 1 1))
(let
loop
((Liste Weg))
(cond
((null? Liste)
((draw-string Grafik) (make-posn 150 200) "Taste zum Abbruch !")
(warte)
(close-graphics)
(void))
(else
((draw-line Grafik)
(Punkt-Koordinaten (caar Liste) Koordinaten)
(Punkt-Koordinaten (cadar Liste) Koordinaten)
(make-rgb 0 0 0))
((draw-rectangle Grafik)
(Punkt-Koordinaten (caar Liste) Koordinaten)
2 2 (make-rgb 1 0 0))
(loop (cdr Liste))))))
(define
(warte)
(viewport-flush-input Grafik)
(get-key-press Grafik))