;;; Scheme Recursive Art Contest Entry ;;; ;;; Please do not include your name or personal info in this file. ;;; ;;; Title: ;;; ;;; Description: ;;; (define (write_i) (speed 2) (penup) (goto -275 250) (pendown) (color (rgb 1 0 0)) (right 90) (forward 70) (penup) (goto -240 250) (right 90) (pendown) (forward 225) (penup) (goto -275 25) (left 90) (pendown) (forward 70) (penup) ) (define (heart t scalar) (if (= t 3.14) (penup)) (if (<= t 6.28) (begin (define x (* scalar (* 16 (expt (sin t) 3) ))) (define y (* scalar (- (* 13 (cos t)) (* 5 (cos (* 2 t))) (* 2 (cos (* 3 t))) (cos (* 4 t))))) (speed 10) (goto x (+ 150 y)) (color (rgb 1 0 0)) (pendown) (heart (+ t .1) scalar))) ) (define (write_u t x-scalar y-scalar) (define x (* x-scalar (cos t))) (define y (* y-scalar (sin t))) (if (= t 3.14) (penup)) (if (<= t 6.3) (begin ;(speed 3) (speed 10) (goto (+ 250 x) (+ 250 y)) (color (rgb 1 0 0)) (pendown) (write_u (+ t .05) x-scalar y-scalar) )) ) (define (write_3_upper t x-scalar y-scalar) (define x (* x-scalar (cos t))) (define y (* y-scalar (sin t))) (if (= t (/ 3.14 2)) (penup)) (if (>= t (/ -3.14 2)) (begin (speed 10) (goto (- x 250) (- y 75)) (color "#069EC6") (pendown) (write_3_upper (- t .1) x-scalar y-scalar) )) ) (define (write_3_lower t x-scalar y-scalar) (define x (* x-scalar (cos t))) (define y (* y-scalar (sin t))) (if (= t (/ 3.14 2)) (penup)) (if (>= t (/ -3.14 2)) (begin (speed 10) (goto (- x 250) (- y 175)) (color "#069EC6") (pendown) (write_3_lower (- t .1) x-scalar y-scalar) )) ) (define (write_0 t x-scalar y-scalar x_pos y_pos) (define x (* x-scalar (cos t))) (define y (* y-scalar (sin t))) (if (= t 0) (penup)) (if (<= t 6.3) (begin ;(speed 3) (speed 10) (goto (+ x x_pos) (+ y y_pos)) (color "#069EC6") (pendown) (write_0 (+ t .1) x-scalar y-scalar x_pos y_pos) )) ) (define (draw) ; YOUR CODE HERE ;(bgcolor (rgb 254 204 229)) (bgcolor "#FBEBF7") (write_i) (heart 0 7) (penup) (write_u 3.14 80 225) (pixelsize 100) (write_3_upper (/ 3.14 2) 100 50) (write_3_lower (/ 3.14 2) 100 50) (write_0 0 50 95 -60 -120) (write_0 0 50 95 80 -120) (write_0 0 50 95 220 -120) (penup) (hideturtle) (exitonclick)) ; Please leave this last line alone. You may add additional procedures above ; this line. (draw)