;;(load "graphics-lib.scm")
(define 1/2 .5)

(define (flower P1 P2 n)
  (draw-lineP P1 (avgP P1 P2))
  (if (< n 1)
      (begin
        (draw-lineP (coord P1 P2 (mP 0 .5)) (coord P1 P2 (mP (* n -.25) (* n .5))))
        (draw-lineP (coord P1 P2 (mP 0 .5)) (coord P1 P2 (mP (* n  .25) (* n .5)))))
      
      (let ((M (avgP P1 P2))
            (L (coord P1 P2 (mP -.5 .5)))
            (R (coord P1 P2 (mP .5 .5))))
        
        (flower M L (- n 1))
        (flower M R (- n 1)))))

(define (demo-flower)
  (grow-fractal (lambda (i) (flower *S* *N* i)) 1 7))

;; (demo-flower)

;(define (demo-flower-anim step)
;  (animate-fractal
;    (lambda (i) 
;      (flower *S* *N* i))
;    step 15))

;(demo-flower-anim .01)

(define (demo-flower-anim step max-level flower? filename animate?)
  (grow-fractal
   (lambda (i)
     (flower *S* *N* i)) step max-level filename animate?))

(demo-flower-anim .1 13.04 #t "flower" #t)

