參考Guile的Tutoria來建立一個帶腳本支援的繪圖程式:
http://www.gnu.org/software/guile/docs/guile-tut/tutorial.html
1.使用MacPorts安裝guile和gnuplot
sudo port install guile gnuplot
2. 以管道的方式來操作gnuplot,注意需要在start_gnuplot函數添加如下的設定:
fprintf (output, "set term x11/n");
這是因為我們一會要使用X11來檢視結果。
3. 檢查一下Makefile
CDEBUG = -g -Wall
CFLAGS = $(CDEBUG) `guile-config compile`
LDFLAGS = `guile-config link`
SRCS = tortoise.c
OBJS = tortoise.o
tortoise: $(OBJS)
$(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
clean:
rm tortoise *.o
4.建立一個如下的腳本 snowflake.scm
(define (koch-line length depth)
(if (zero? depth)
(tortoise-move length)
(let ((sub-length (/ length 3))
(sub-depth (1- depth)))
(for-each (lambda (angle)
(koch-line sub-length sub-depth)
(tortoise-turn angle))
'(60 -120 60 0)))))
(define (snowflake length depth sign)
(let iterate ((i 1))
(if (<= i 3)
(begin
(koch-line length depth)
(tortoise-turn (* sign -120))
(iterate (1+ i))))))
(tortoise-pendown)
(snowflake 8 3 1)
(tortoise-turn 180)
(snowflake 8 3 -1)
5. 執行X11,并執行./tortoise -s snowflake.scm