]> git.rkrishnan.org Git - sicp.git/blob - src/pictlang/pictures.clj
WIP
[sicp.git] / src / pictlang / pictures.clj
1 (ns pictlang.pictures
2   (:use [pictlang.utils :only (make-vect make-segment segments->painter)]))
3
4 (defn wave [frame]
5   (let [p01 (make-vect 0.40 1.00)
6         p02 (make-vect 0.60 1.00)
7         p03 (make-vect 0.00 0.80)
8         p04 (make-vect 0.35 0.80)
9         p05 (make-vect 0.65 0.80)
10         p06 (make-vect 0.00 0.60)
11         p07 (make-vect 0.30 0.60)
12         p08 (make-vect 0.40 0.60)
13         p09 (make-vect 0.60 0.60)
14         p10 (make-vect 0.70 0.60)
15         p11 (make-vect 0.20 0.55)
16         p12 (make-vect 0.30 0.55)
17         p13 (make-vect 0.35 0.50)
18         p14 (make-vect 0.65 0.50)
19         p15 (make-vect 0.20 0.45)
20         p16 (make-vect 1.00 0.40)
21         p17 (make-vect 0.50 0.20)
22         p18 (make-vect 1.00 0.20)
23         p19 (make-vect 0.25 0.00)
24         p20 (make-vect 0.40 0.00)
25         p21 (make-vect 0.60 0.00)
26         p22 (make-vect 0.75 0.00)]
27     ((segments->painter
28       (list (make-segment p01 p04)
29             (make-segment p04 p08)
30             (make-segment p08 p07)
31             (make-segment p07 p11)
32             (make-segment p11 p03)
33             (make-segment p06 p15)
34             (make-segment p15 p12)
35             (make-segment p12 p13)
36             (make-segment p13 p19)
37             (make-segment p20 p17)
38             (make-segment p17 p21)
39             (make-segment p22 p14)
40             (make-segment p14 p18)
41             (make-segment p16 p10)
42             (make-segment p10 p09)
43             (make-segment p09 p05)
44             (make-segment p05 p02))) frame)))