1(define koch 2 (let ((s (/ (sqrt 3) 2 3))) 3 (lambda (res depth) 4 (letrec 5 ((iter 6 (lambda (x1 y1 x2 y2 d) 7 (if (zero? d) 8 (draw-line x2 y2) 9 (let* ((dx (- x2 x1)) 10 (dy (- y2 y1)) 11 (thx (+ x1 (/ dx 3))) 12 (thy (+ y1 (/ dy 3))) 13 (thx2 (+ x1 (* 2 (/ dx 3)))) 14 (thy2 (+ y1 (* 2 (/ dy 3)))) 15 (mx (/ (+ x1 x2) 2)) 16 (my (/ (+ y1 y2) 2)) 17 (midx (+ mx (* (- dy) s))) 18 (midy (+ my (* dx s)))) 19 (iter x1 y1 thx thy (- d 1)) 20 (iter thx thy midx midy (- d 1)) 21 (iter midx midy thx2 thy2 (- d 1)) 22 (iter thx2 thy2 x2 y2 (- d 1))))))) 23 (draw-move 0 0) 24 (draw-color 0 255 0) 25 (iter 0 0 res 0 depth))))) 26 27(koch 200 4) 28