+ (build-patches patches))
+
+(define (build-patches patches)
+ (define* (get-points n seed #:optional (l '()))
+ (cond ((> n 0)
+ (let* ((a (+ seed (* (sqrt n) 5)))
+ (r (if (= n 0)
+ 0
+ (+ 10 (* n (+ 2 (random:exp))))))
+ (point (list
+ (* (cos a) r)
+ (* (sin a) r))))
+ (get-points (- n 1) seed (cons point l))))
+ (else
+ l)))
+
+ (let* ((sa (* (random:exp) 2 pi))
+ (points (get-points (* 8 patches) sa)))
+ (display points)
+ (newline)))