Turtle für Prolog
XPCE - User Guide
Grafik-Beispiel
strecke(3,4,17,4).
strecke(17,4,17,16).
strecke(3,16,17,16).
strecke(3,4,3,16).
strecke(1,2,10,2).
strecke(10,2,10,12).
strecke(1,12,10,12).
strecke(1,2,1,12).
zeichne1:-turtle_init,strecke(X1,Y1,X2,Y2),F is 20,H is 400,
X1g is F*X1,Y1g is H-F*Y1,X2g is F*X2,Y2g is H-F*Y2,
turtle_moveto(X1g,Y1g),turtle_drawto(X2g,Y2g),fail.
ginit:-new(@graf,picture('Grafik',size(600,400))),send(@graf,open).
zeichne2:-ginit,strecke(X1,Y1,X2,Y2),F is 20,H is 400,
X1g is F*X1,Y1g is H-F*Y1,X2g is F*X2,Y2g is H-F*Y2,
send(@graf,display,new(_,line(X1g,Y1g,X2g,Y2g))),fail.
zeichne1 benutzt die turtle-Grafik von Herrn Röhner,
zeichne2 (nach dem Vorbild
der turtle-Grafik) zeichnet Linien direkt, muss aber
ginit benutzen. Zur Verwendung
des Prädikats
fail, siehe
Details zum
Backtracking.
Nach Aufruf von zeichne2 erhält man folgendes Fenster:
weiteres Beispiel
Baum des Pythagoras