2008. 7. 29.

연습문제 2.51

beside 유사버전

(define (below painter1 painter2)
  (let* ( (split-point (make-vect 0.0 0.5))
          (paint-up
            (transform-painter
              painter2
              (make-vect 0.0 0.0)
              (make-vect 1.0 0.0)
              split-point))
          (paint-down
            (transform-painter
              painter1
              split-point
              (make-vect 1.0 0.5)
              (make-vect 0.0 1.0))))
    (lambda (frame)
      (paint-up frame)
      (paint-down frame))))


돌리는 연산을 사용한 버전

<blockquote>(define (below-rot painter1 painter2)
(rotate90 (beside
(rotate270 painter1) (rotate270 painter2))))</blockquote>


댓글 없음:

댓글 쓰기