;;; Scheme Recursive Art Contest Entry ;;; ;;; Please do not include your name or personal info in this file. ;;; ;;; Title: ;;; ;;; Description: ;;; (define (draw) (define (rgb_255 r g b) (rgb (/ r 255) (/ g 255) (/ b 255))) (define (step fv iv steps) (/ (- fv iv) steps) ) (define (center_circle rad r g b) (setposition rad -120) (color (rgb_255 r g b)) (circle rad) ) (define (ring rad1 rad2 r g b) (begin_fill) (center_circle rad1 r g b) (center_circle rad2 r g b) (end_fill) ) (define (ring_gradient radi ri gi bi radf rf gf bf steps) (define rad_diff (step radf radi steps)) (define (draw_ring rad r g b) (ring rad (+ rad rad_diff) r g b) (if (< rad radf) (draw_ring (+ rad rad_diff) (+ r (step rf ri steps)) (+ g (step gf gi steps)) (+ b (step bf bi steps))) ) ) (draw_ring radi ri gi bi) ) (define (boxes forw angle steps) (if (> steps 0) (begin (forward forw) (right angle) (boxes (+ forw 1.5) angle (- steps 1)))) ) (define (spiral h ri gi bi rf gf bf steps) (define factor (/ steps 8)) (setheading h) (setposition -50 -50) (define (squares r g b n stepsleft) (if (> stepsleft 0) (begin (color (rgb_255 r g b)) (boxes n 89.65 9) (squares (+ r (step rf ri factor)) (+ g (step gf gi factor)) (+ b (step bf bi factor)) (+ n 12) (- stepsleft 1))) ) ) (squares ri gi bi 125 factor) (penup) (setposition 0 0) (setheading 0) ) (define (forward_angle f a) (forward f) (right a)) (bgcolor "black") (spiral 0 0 0 0 150 0 0 850) (hideturtle) (setposition -100 -250) (color (rgb_255 60 60 60)) (begin_fill) (forward_angle 500 90) (forward_angle 200 90) (forward_angle 500 90) (forward_angle 200 90) (end_fill) (setposition 0 -120) (ring_gradient 0 255 255 255 10 253 255 40 30) (ring_gradient 10 244 24 29 80 0 0 0 24) (ring_gradient 80 76 76 76 86 115 115 115 5) (exitonclick)) ; Please leave this last line alone. You may add additional procedures above ; this line. (draw)