SICP 2.52a

waveに顔を書いた。そんだけ。

(load "../psets/go.scm")

(define (up-split painter n)
  (if (= n 0)
      painter
      (let ((smaller (up-split painter (- n 1))))
        (below painter
               (beside smaller smaller)))))

(define (wave2 frame)
  (define smile
    (let ((p1 (make-vect 0.39 0.85))
          (p2 (make-vect 0.44 0.87))
          (p3 (make-vect 0.56 0.87))
          (p4 (make-vect 0.61 0.85))
          (p5 (make-vect 0.45 0.70))
          (p6 (make-vect 0.55 0.70)))
      (segments->painter (list (make-segment p1 p2)
                               (make-segment p3 p4)
                               (make-segment p5 p6)))))
  (wave frame)
  (smile frame))

; test
(paint-g1 (square-limit wave2 4))