尝试一下GNU Guile

 

参考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

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值