;;; Scheme Recursive Art Contest Entry ;;; ;;; Please do not include your name or personal info in this file. ;;; ;;; Title: ;;; ;;; Description: ;;; (define pink "#ffc0eb") (define black "#000000") (define red "#ff0000") (define orange "#ffa500") (define yellow "#ffff00") (define green "#008000") (define blue "#0000ff") (define purple "#800080") (define (draw_circle size col fill) (penup) (translate 0 size) (setheading 270) (pendown) (color col) (if fill (begin_fill) ) (circle size) (end_fill) (penup) (translate 180 size) ) (define (translate deg units) (penup) (setheading deg) (forward units) (setheading 180) ) (define (draw_arc angle-mdpt size angle thickness) (define half (/ angle 2)) (penup) (setheading (+ angle-mdpt half)) (forward size) (setheading (- (+ angle-mdpt half) 90)) (pendown) (circle size angle) (penup) (left 90) (forward size) (setheading 180) (if (> thickness 1) (draw_arc angle-mdpt (- size 1) angle (- thickness 1)) ) ) (define (tail rad inc iter) (color black) (pendown) (cond ((= 0 iter)) ((> rad 20) (tail (- rad 1) #f iter)) ((< rad 4) (tail (+ rad 1) #t iter)) (inc (begin (circle rad 10) (tail (+ rad 1) inc (- iter 1)))) (else (begin (circle rad 10) (tail (- rad 1) inc (- iter 1)))) ) ) (define (draw) (speed 7) ;background (bgcolor green) ; YOUR CODE HERE (define body 200) (define head 100) (define nose 50) (define nostril 10) (define eyes 5) (define mouth 75) (define r 50) (define feet-ears 20) ;legs (penup) (setheading 160) (forward body) (draw_circle feet-ears black #t) (setheading -20) (forward body) (setheading 200) (forward body) (draw_circle feet-ears black #t) (setheading 20) (forward body) ;body (draw_circle body black #t) (draw_circle (- body 3) pink #t) ;ears (setheading 40) (forward head) (draw_circle feet-ears black #f) (setheading 220) (forward head) (setheading -40) (forward head) (draw_circle feet-ears black #f) (setheading 140) (forward head) ;head (draw_circle head black #t) (draw_circle (- head 3) pink #t) ;nose (draw_circle nose black #t) (draw_circle (- nose 2) pink #t) ;nostril (translate 270 20) (draw_circle nostril black #t) (translate 90 40) (draw_circle nostril black #t) (translate 270 20) ;eyes (translate 0 60) (translate 270 35) (draw_circle eyes black #t) (translate 90 70) (draw_circle eyes black #t) (translate 270 35) (translate 180 60) ;mouth (draw_arc 180 75 90 3) ;tail (speed 10) (setheading -45) (forward (+ 10 body)) (setheading 195) (tail 10 #f 160) ; ; don't touch (hideturtle) (exitonclick) ) ; Please leave this last line alone. You may add additional procedures above ; this line. (draw)