#lang sicp (#%require sicp-pict) (define outline-painter (segments->painter (list (make-segment (make-vect 0 0) (make-vect 0 1)) (make-segment (make-vect 0 1) (make-vect 1 1)) (make-segment (make-vect 1 1) (make-vect 1 0)) (make-segment (make-vect 1 0) (make-vect 0 0))))) (define x-painter (segments->painter (list (make-segment (make-vect 0 0) (make-vect 1 1)) (make-segment (make-vect 0 1) (make-vect 1 0))))) (define diamond-painter (segments->painter (list (make-segment (make-vect 0.5 0) (make-vect 1 0.5)) (make-segment (make-vect 1 0.5) (make-vect 0.5 1)) (make-segment (make-vect 0.5 1) (make-vect 0 0.5)) (make-segment (make-vect 0 0.5) (make-vect 0.5 0))))) ; this will be a roundabout drawing, just to ; make the lines nice and connectable between ; wave painters, I'm not an artist. (define wave (segments->painter (list (make-segment (make-vect 0 0.55) (make-vect 0.2 0.5)) (make-segment (make-vect 0.2 0.5) (make-vect 0.4 0.6)) (make-segment (make-vect 0.4 0.6) (make-vect 0.35 0.8)) (make-segment (make-vect 0.35 0.8) (make-vect 0.4 1)) (make-segment (make-vect 0.6 1) (make-vect 0.65 0.8)) (make-segment (make-vect 0.65 0.8) (make-vect 0.6 0.6)) (make-segment (make-vect 0.6 0.6) (make-vect 0.8 0.7)) (make-segment (make-vect 0.8 0.7) (make-vect 1 0.55)) (make-segment (make-vect 1 0.45) (make-vect 0.8 0.6)) (make-segment (make-vect 0.8 0.6) (make-vect 0.6 0.5)) (make-segment (make-vect 0.6 0.5) (make-vect 0.6 0.3)) (make-segment (make-vect 0.6 0.3) (make-vect 0.7 0)) (make-segment (make-vect 0.6 0) (make-vect 0.5 0.2)) (make-segment (make-vect 0.5 0.2) (make-vect 0.4 0)) (make-segment (make-vect 0.3 0) (make-vect 0.4 0.3)) (make-segment (make-vect 0.4 0.3) (make-vect 0.4 0.5)) (make-segment (make-vect 0.4 0.5) (make-vect 0.2 0.4)) (make-segment (make-vect 0.2 0.4) (make-vect 0 0.45)))))