Code Review
Compare your solutions
#| Для этого упражнения нет проверок.
Любое решение будет считаться успешным ответом. |#
(define (wave-painter)
(segments->painter
(list (make-segment (make-vect 0 0.5) (make-vect 0.2 0.7))
(make-segment (make-vect 0.2 0.7) (make-vect 0.4 0.3))
(make-segment (make-vect 0.4 0.3) (make-vect 0.6 0.7))
(make-segment (make-vect 0.6 0.7) (make-vect 0.8 0.3))
(make-segment (make-vect 0.8 0.3) (make-vect 1 0.5))
;; Make smile
(make-segment (make-vect 0.3 0.2) (make-vect 0.4 0.15))
(make-segment (make-vect 0.4 0.15) (make-vect 0.6 0.15))
(make-segment (make-vect 0.6 0.15) (make-vect 0.7 0.2))
)))
(define (corner-split painter n)
(if (= n 0)
painter
(let ((up (up-split painter (- n 1))))
(let ((top-left up)
(bottom-right (right-split painter (- n 1)))
(corner (corner-split painter (- n 1))))
(beside (below painter top-left)
(below bottom-right corner))))))
(define (square-limit painter n)
(let ((combine4 (square-of-four identity flip-horiz
flip-vert rotate180))) ;; Order changed
(combine4 (corner-split painter n))))