(build-patches patches))
(define (build-patches patches)
- (define* (get-points n #:optional (l '()))
+ (define* (get-points n seed #:optional (l '()))
(cond ((> n 0)
- (get-points (- n 1) (cons n l)))
+ (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))))
+ (let* ((sa (* (random:exp) 2 pi))
+ (points (get-points (* 8 patches) sa)))
(display points)
(newline)))