;;; Scheme Recursive Art Contest Entry ;;; ;;; Please do not include your name or personal info in this file. ;;; ;;; Title: ;;; ;;; Description: ;;; ; YOUR CODE HERE (define (draw) ; YOUR CODE HERE (define (cadr s) (car (cdr s)) ) ;helper1 (define (linear a b t) (+ (* a (- 1 t)) (* b t)) ) ;helper2 ;helper3 (define (range x) (define (helper n x) (if (= n x) '() (cons n (helper (+ n 0.001) x) ) )) (helper 0 x)) ; (define-macro (for sym in vals do expr) (list 'map (list 'lambda (list sym) expr) vals)) ; (define (linear2 a b t) (list (linear (car a) (car b) t) (linear (cadr a) (cadr b) t) ) ) ; (define (bezier p0 p1 p2 p3 t) (define c1 (linear2 p1 p2 t)) (define c2 (linear2 p0 c1 t)) (define c3 (linear2 c1 p3 t)) (define c4 (linear2 c2 c3 t)) c4) ; ;; (define (turtlebezier p0 p1 p2 p3 n) (if (>= n 1) (penup) (begin (pendown) (setposition (car (bezier p0 p1 p2 p3 n)) (cadr (bezier p0 p1 p2 p3 n))) (turtlebezier p0 p1 p2 p3 (+ n .1))))) (speed 10) ; (clear) ; (penup) ; (goto -62 -181) (bgcolor "black") (color "red" ) (pu) (hideturtle) ;begin first frame of hood (goto 0 -300) (write 'Somas) (goto 0 -330) (write 'la) (goto 0 -350) (write 'Resistencia) (goto -133 -250) (pd) (turtlebezier '(-133 -250) '(-195 -170) '(-230 -84) '(-248 -45) 0) (pu) (pd) (turtlebezier '(-232 45) '(-230 84) '(-195 170) '(-133 250) 0) (pu) (pd) (turtlebezier '(-133 250) '(-70 300) '(-20 360) '(0 360) 0) (pu) (pd) (turtlebezier '(0 360) '(20 360) '(70 300) '(133 250) 0) (pu) (pd) (turtlebezier '(133 250) '(195 170) '(230 84) '(232 45) 0) (pu) (pd) (turtlebezier '(248 -45) '(230 -84) '(195 -170) '(133 -250) 0) (pu) ;begin 2nd frame (color "#4d0404") (goto -133 -250) (pd) (turtlebezier '(-120 -250) '(-170 -170) '(-200 -84) '(-232 -45) 0) (pu) (pd) (turtlebezier '(-232 45) '(-220 84) '(-170 170) '(-120 250) 0) (pu) (pd) (turtlebezier '(-120 250) '(-50 300) '(-10 360) '(5 360) 0) (pu) (pd) (turtlebezier '(5 360) '(10 360) '(50 300) '(120 250) 0) (pu) (pd) (turtlebezier '(120 250) '(170 170) '(200 84) '(232 45) 0) (pu) (pd) (turtlebezier '(248 -45) '(230 -84) '(195 -170) '(133 -250) 0) (pu) ;3rd frame (color "#a7252b") (goto -133 -250) (pd) (turtlebezier '(-100 -250) '(-150 -170) '(-180 -84) '(-212 -45) 0) (pu) (pd) (turtlebezier '(-212 45) '(-212 84) '(-150 170) '(-100 250) 0) (pu) (pd) (turtlebezier '(-100 250) '(-30 300) '(10 360) '(35 360) 0) (pu) (pd) (turtlebezier '(35 360) '(10 360) '(30 300) '(100 250) 0) (pu) (pd) (turtlebezier '(100 250) '(170 170) '(200 84) '(232 45) 0) (pu) (pd) (turtlebezier '(248 -45) '(230 -84) '(195 -170) '(133 -250) 0) (pd) (goto 50 60) ;face (define (draw_oval x y r1 r2 tilt color_) (penup) (goto x y) (pendown) (left (- tilt 45)) (begin_fill) (color color_) (circle r1 90) (circle r2 90) (circle r1 90) (circle r2 90) (end_fill)) (bgcolor "black") (draw_oval 85 -170 280 115 0 "#d3cccc") ;eyes (define (no_face_eyes x y tilt) (draw_oval x y 30 15 tilt "black")) (no_face_eyes -100 75 -45) (no_face_eyes 45 75 45) (pu) ;triangle (color "#947385") (begin_fill) (pu) (goto -92 120) (pd) (turtlebezier '(-92 120) '(-71 120) '(-70 120) '(-62 120) 0) (pu) ; (goto -62 120) (pd) (turtlebezier '(-62 120) '(-62 126) '(-62 127) '(-62 180) 0) (pu) (pd) (turtlebezier '(-62 180) '(-73 171) '(-89 135) '(-92 120) 0) (end_fill) ;2nd triangle ;triangle (color "#947385") (begin_fill) (pu) (goto 52 120) (pd) (turtlebezier '(52 120) '(53 120) '(54 120) '(82 120) 0) (pu) (goto 52 120) (pd) (turtlebezier '(52 120) '(52 126) '(52 127) '(52 180) 0) (pu) (pd) (turtlebezier '(52 180) '(63 171) '(79 135) '(81 120) 0) (end_fill) ;3rd triangle (color "#947385") (begin_fill) (pu) (goto -92 50) (pd) (turtlebezier '(-92 50) '(-71 50) '(-70 50) '(-62 50) 0) (pu) ; (goto -62 120) (pd) (turtlebezier '(-62 50) '(-62 49) '(-62 48) '(-62 -10) 0) (pu) (pd) (turtlebezier '(-62 -10) '(-73 15) '(-89 28) '(-92 50) 0) (end_fill) ;4th (color "#947385") (begin_fill) (pu) (goto 52 50) (pd) (turtlebezier '(52 50) '(53 50) '(54 50) '(82 50) 0) (pu) ; (goto -62 120) (pd) (turtlebezier '(52 50) '(52 49) '(52 48) '(52 -10) 0) (pu) (pd) (turtlebezier '(52 -10) '(68 15) '(71 28) '(82 50) 0) (end_fill) ;mouth (define (mouth) (penup) (goto 23 -100) (pendown) (left 45) (begin_fill) (color "black") (circle 9 180) (forward 45) (circle 9 180) (forward 45) (end_fill)) (mouth) ;write (exitonclick)) ; Please leave this last line alone. You may add additional procedures above ; this line. (draw)