Q2: (is-forward? (make-forward-command)) = #t (is-forward? (make-rotate-command 90)) = #f (is-rotate? (make-forward-command)) = #f (is-rotate? (make-rotate-command 90)) = #t (is-offshoot? (make-offshoot-command (make-forward-command))) = #t (is-offshoot? (make-forward-command)) = #f (get-angle (make-rotate-command 90)) = 90 (get-angle (make-forward-command)) = error (get-offshoot-commands (make-offshoot-command (make-forward-command))) = (f . #f) (get-offshoot-commands (make-forward-command)) = error Q3 (rewrite-lcommands (list (make-forward-command) (make-rotate-command 60) (make-forward-command)) (list (make-rotate-command 90))) = ((r . 90) (r . 60) (r . 90)) Q4 a. (draw-curve-points (vertical-mid-line) 250) or (draw-curve-points vertical-mid-line 250) b. (draw-curve-points (make-vertical-line 0.2) 1000)(draw-curve-points (make-vertical-line 0.7) 1000) Q5 (draw-half-line) Q6 (exact->inexact (num-points 1000 10)) = 1.953125 (exact->inexact (num-points 1000 20)) = 0.0019073486328125 (exact->inexact (num-points 1000000 20)) = 1.9073486328125 (exact->inexact (num-points 1000 30)) = 1.862645149230957e-06 Q7 (draw-curve-points (position-curve (translate (connect-curves-evenly (convert-lcommands-to-curvelist (make-lsystem-command (make-rotate-command 150) (make-forward-command) (make-rotate-command -120) (make-forward-command) ) ) ) 0.3 0.7) 0 .5) 10000) Q8 (draw-curve-points (position-curve (translate (connect-curves-evenly (convert-lcommands-to-curvelist (make-lsystem-command (make-offshoot-command (list (make-rotate-command 120)(make-forward-command)) ) ) ) ) 0.3 0.7) 0 .5) 10000) Q9 (draw-lsystem-fractal (make-tree-fractal 3))