1585 Seeds
(define
seed-radius 3.2 ~ (gen/scalar min: 3 max: 5)
scale-factor 4
phi (/ (sqrt 5 ~ (gen/scalar min: 4 max: 6)) 8 ~ (gen/scalar min: 1 max: 10))
seeds 200
make-colour (col/build-procedural a: [0.80 0.50 0.40] ~ (gen/scalar)
b: [0.20 0.40 0.20] ~ (gen/scalar)
c: [2.00 1.00 1.00] ~ (gen/scalar)
d: [0.00 0.25 0.25] ~ (gen/scalar))
focalpoint (focal/build-point ~ (gen/select from: '(focal/build-point focal/build-hline focal/build-vline))
position: [500 ~ (gen/int max: canvas/width)
500 ~ (gen/int max: canvas/height)]
distance: 800 ~ (gen/int min: (/ canvas/width 2) max: canvas/width)))
(fn (interesting-circle position: [500 500]
colour: red
seed: 454
radius: 300)
(define
rng (prng/build seed: seed)
outer-exterior (prng/build seed: (prng/value from: rng) min: 170 max: 210)
outer-interior (prng/build seed: (prng/value from: rng) min: 80 max: 170)
inner-exterior (prng/build seed: (prng/value from: rng) min: 100 max: 150)
inner-interior (prng/build seed: (prng/value from: rng) min: 0 max: 100)
srng (prng/build min: -1 max: 1 seed: seed))
(on-matrix-stack
(translate vector: position)
(scale scalar: (/ radius 210))
(loop (i to: 3)
(on-matrix-stack
(rotate angle: (* 360 (prng/value from: rng)))
;; outer ring
(circle-slice tessellation: 20
position: [0 0]
colour: (col/lighten from: colour
value: (* 30 ~ (gen/int min: 20 max: 60) (prng/value from: srng)))
angle-start: 0
angle-end: 320
width: (prng/value from: outer-exterior)
inner-width: (prng/value from: outer-interior)
height: (prng/value from: outer-exterior)
inner-height: (prng/value from: outer-interior))
;; inner ring
(circle-slice tessellation: 10
position: [0 0]
colour: (col/lighten from: colour
value: (* 20 ~ (gen/int min: 10 max: 40) (prng/value from: srng)))
angle-start: 0
angle-end: 320
width: (prng/value from: inner-exterior)
inner-width: (prng/value from: inner-interior)
height: (prng/value from: inner-exterior)
inner-height: (prng/value from: inner-interior))))
;; centre fill
(circle-slice tessellation: 10
position: [0 0]
colour: (col/lighten from: colour
value: (* 10 ~ (gen/int min: 5 max: 20) (prng/value from: srng)))
angle-start: 0
angle-end: 360
radius: 30)))
(rect position: [500 500]
width: canvas/width
height: canvas/height
colour: (col/rgb r: 1 g: 1 b: 1 alpha: 1) ~ (gen/col))
(loop (seed to: seeds)
(define
zoom 8
radius (* zoom seed-radius)
theta (/ (* seed math/TAU) phi)
r (* scale-factor (sqrt seed))
position [(+ 500 (* r zoom (math/cos from: theta)))
(+ 500 (* r zoom (math/sin from: theta)))]
colour (col/value from: make-colour t: (focal/value from: focalpoint position: position)))
(interesting-circle position radius colour seed))