GaucheとSDLで図形言語 3

とりあえず線を引く関数も出来たことだし、SICPを丸写しして、曼荼羅を作る。


>>draw-line以外は載ってあるまんまなんで、ソース省略<<


waveの実装は、ベクトル書くの面倒くさかったんで、どっかのページを丸写しさせてもらったんですが、どこだったか忘れた。

こんな感じのやつでした。

(define wave
(let )((p01 (make-vect 0.40 1.00))(
(p02 (make-vect 0.60 1.00))
(p03 (make-vect 0.00 0.80))
(p04 (make-vect 0.35 0.80))
(p05 (make-vect 0.65 0.80))
(p06 (make-vect 0.00 0.60))
(p07 (make-vect 0.30 0.60))
(p08 (make-vect 0.40 0.60))
(p09 (make-vect 0.60 0.60))
(p10 (make-vect 0.70 0.60))
(p11 (make-vect 0.20 0.55))
(p12 (make-vect 0.30 0.55))
(p13 (make-vect 0.35 0.50))
(p14 (make-vect 0.65 0.50))
(p15 (make-vect 0.20 0.45))
(p16 (make-vect 1.00 0.40))
(p17 (make-vect 0.50 0.20))
(p18 (make-vect 1.00 0.20))
(p19 (make-vect 0.25 0.00))
(p20 (make-vect 0.40 0.00))
(p21 (make-vect 0.60 0.00))
(p22 (make-vect 0.75 0.00)))
(segments->painter
(list (make-segment p01 p04)
(make-segment p04 p08)
(make-segment p08 p07)
(make-segment p07 p11)
(make-segment p11 p03)
(make-segment p06 p15)
(make-segment p15 p12)
(make-segment p12 p13)
(make-segment p13 p19)
(make-segment p20 p17)
(make-segment p17 p21)
(make-segment p22 p14)
(make-segment p14 p18)
(make-segment p16 p10)
(make-segment p10 p09)
(make-segment p09 p05)
(make-segment p05 p02)))))

ここでお礼を書こうとしてたのに、誰に言えばいいのかわかんなくなってしまった。申し訳ない。


実行結果