;;; Scheme Recursive Art Contest Entry ;;; ;;; Please do not include your name or personal info in this file. ;;; ;;; Title: There is 1 Impostor Among Us ;;; ;;; Description: ;;; I wonder who the Impostor is... Boo Trees! Go Bears! ;;; ;;; (define (draw) (spiral 45 1) (spiral 45 0.403) (penup) (left 90) (forward 22) (left 90) (forward 55) (pendown) (left 180) (amongus "brown" 0.3) (penup) (right 90) (forward 19) (left 90) (pendown) (forward 33) (color "green") (tree 8) (hideturtle) (exitonclick)) (define (tree size) (if (> size 0) (treehelp size)) ) (define (treehelp size) (left 20) (forward 10) (if (or (> size 7)(and (not (= (modulo size 4) 2))(not (= (modulo size 4) 0)))) (tree (- size 1))) (right 180) (forward 10) (right 180) (right 20) (forward 10) (if (or (> size 7)(and (not (= (modulo size 4) 0))(not (= (modulo size 4) 1)))) (tree (- size 1))) (right 180) (forward 10) (right 180) (right 20) (forward 10) (if (and (not (= (modulo size 4) 1))(not (= (modulo size 4) 3))) (tree (- size 1))) (right 180) (forward 10) (right 180) (left 20) ) (define (spiral n size) (cond ((= n 0) 2) ((= (modulo n 4) 1) (operation n size)) ((= (modulo n 4) 2) (operation1 n size)) ((= (modulo n 4) 0) (operation3 n size)) ((= (modulo n 4) 3) (operation2 n size))) ) (define (operation n size) (right 180) (penup) (forward (* 400 size)) (right 180) (pendown) (amongus "blue" size) (penup) (forward (* 400 size)) (pendown) (right 20) (spiral (- n 1) (* size 0.98)) ) (define (operation1 n size) (right 180) (penup) (forward (* 400 size)) (right 180) (pendown) (amongus "green" size) (penup) (forward (* 400 size)) (pendown) (right 20) (spiral (- n 1) (* size 0.98)) ) (define (operation2 n size) (right 180) (penup) (forward (* 400 size)) (right 180) (pendown) (amongus "red" size) (penup) (forward (* 400 size)) (pendown) (right 20) (spiral (- n 1) (* size 0.98)) ) (define (operation3 n size) (right 180) (penup) (forward (* 400 size)) (right 180) (pendown) (amongus "orange" size) (penup) (forward (* 400 size)) (pendown) (right 20) (spiral (- n 1) (* size 0.98)) ) (define (c size) (forward (* 10 size)) (circle (* -5 size) 90) (forward (* 35 size)) (circle (* -15 size) 180) (forward (* 35 size)) (circle (* -5 size) 90) (forward (* 10 size)) ) (define (cc size) (c size) (right 90) (forward size) (left 90) (c size) (right 180) (forward size) (left 180) ) (define (helmet size) (color "#ADD8E6") (begin_fill) (c size) (end_fill) (color "black") (cc size) (cc size) (cc size) ) (define (amongrepeat size) (amongushelper size) (right 90) (forward size) (left 90) (amongushelper size) (right 180) (forward size) (left 180) ) (define (amongus c size) (penup) (forward (* 26 size)) (right 90) (forward (* 37 size)) (left 90) (pendown) (color c) (begin_fill) (amongushelper size) (end_fill) (color "black") (amongrepeat size) (amongrepeat size) (amongrepeat size) (penup) (right 90) (forward (* 20 size)) (left 90) (pendown) (helmet size) (penup) (right 90) (forward (* 73 size)) (right 90) (forward (* 20 size)) (right 180) (pendown) (color c) (penup) (left 90) (forward (* 136 size)) (right 90) (pendown) ) (define (amongushelper size) (left 90) (forward (* 10 size)) (circle (* 5 size) 90) (forward (* 50 size)) (circle (* 5 size) 90) (forward (* 10 size)) (left 90) (forward (* 60 size)) (forward (* 30 size)) (circle (* -5 size) 90) (forward (* 50 size)) (circle (* -5 size) 90) (forward (* 110 size)) (circle (* -5 size) 90) (forward (* 12.5 size)) (circle (* -5 size) 90) (forward (* 20 size)) (left 90) (forward (* 15 size)) (left 90) (forward (* 20 size)) (circle (* -5 size) 90) (forward (* 12.5 size)) (circle (* -5 size) 90) (forward (* 80 size)) ) ; Please leave this last line alone. You may add additional procedures above ; this line. (draw)