SICP問題2.51
上下に並べるペインタ(1つ目が下で2つ目が上)
1. beside に似た実装
(define (below painter1 painter2) (let ((split-point (make-vect 0.0 0.5))) (let ((paint-bottom (transform-painter painter1 (make-vect 0.0 0.0) (make-vect 1.0 0.0) split-point)) (paint-top (transform-painter painter2 split-point (make-vect 1.0 0.5) (make-vect 0.0 1.0)))) (lambda (frame) (paint-top frame) (paint-bottom frame)))))
2. beside + rotation による実装
(define (below painter1 painter2) (rotate90 (beside (rotate270 painter1) (rotate270 painter2))))