尝试一下GNU Guile

本文介绍如何利用Guile和Gnuplot创建一个带有脚本支持的绘图程序。通过MacPorts安装所需软件,并通过具体示例snowflake.scm脚本展示如何绘制科赫雪花曲线。

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值