;;; Scheme Recursive Art Contest Entry ;;; ;;; Please do not include your name or personal info in this file. ;;; ;;; Title: Roll on You Fibs ;;; ;;; Description: ;;; (define colors '((0.06 0.3 0.57) (0.72 0.53 0.15))) ; Yale Blue, and California Gold (define (get lst index) (define index (modulo index (length lst))) (if (= index 0) (car lst) (get (cdr lst) (- index 1)))) (define (poly-angle sides) (- 180 (* (- sides 2) (/ 180 sides)))) (define (draw-poly sides direction len draw-color) (define (helper sides-left) (if (= sides-left 0) 'okay (begin (color_rgb draw-color) (fd len) (direction (poly-angle sides)) (helper (- sides-left 1))))) (helper sides)) (define dirs (list left right)) (define (fib n) (if (or (= n 0) (= n 1)) (begin (right 21) 1) (begin (draw-poly n (get dirs (- n 1)) (* n 20) (get colors (- n 1))) (define fib-n-1 (fib (- n 1))) (draw-poly n (get dirs (- n 2)) (* n 20) (get colors (- n 2))) (define fib-n-2 (fib (- n 2))) (+ fib-n-1 fib-n-2)))) (define (draw) (fib 17) (exitonclick)) (speed 0) ; Please leave this last line alone. You may add additional procedures above ; this line. All Scheme tokens in this file (including the one below) count ; toward the token limit. (draw)