Итерации к схеме рекурсии: доктор Ракет - PullRequest
0 голосов
/ 13 июня 2019

Помогите, я написал 6 итераций вращения руки, но я хочу написать эту функцию рекурсивно. У кого-нибудь есть советы?

(: rotate-arm : Image Image Natural -> Image)

;; rotates the entire arm 5 times, returning the full star

(define (rotate-arm tile tile2 i)
  (local 
      {(define arm (draw-arm tile tile2 i))}
    (clear-pinhole
     (overlay/pinhole
       (put-pinhole 
         (center-x (draw-arm tile tile2 i)) 0 arm)
       (rotate (* i 60) (put-pinhole 
                          (center-x arm) 0 arm))
       (rotate 60 (put-pinhole 
                    (center-x arm) 0 arm))
       (rotate 120 (put-pinhole 
                    (center-x arm) 0 arm))
       (rotate 180 (put-pinhole 
                    (center-x arm) 0 arm))
       (rotate 240 (put-pinhole 
                    (center-x arm) 0 arm))
       (rotate 300 (put-pinhole 
                    (center-x arm) 0 arm))))))

Это правильно, просто неэффективно.

...