15fe Rotate Mirror
(meta linear-colour-space: 1)
(define
coords []
colours []
make-colour (col/build-procedural a: [0.80 0.50 0.40] ~ (gen/stray-3d from: [0.80 0.50 0.40] by: [0.1 0.1 0.1])
b: [0.20 0.40 0.20] ~ (gen/stray-3d from: [0.20 0.40 0.20] by: [0.1 0.1 0.1])
c: [2.00 1.00 1.00] ~ (gen/stray-3d from: [2.00 1.00 1.00] by: [0.1 0.1 0.1])
d: [0.00 0.25 0.25] ~ (gen/stray-3d from: [0.00 0.25 0.25] by: [0.1 0.1 0.1]))
focalpoint (focal/build-point ~ (gen/select from: '(focal/build-point
focal/build-hline
focal/build-vline))
position: [0 ~ (gen/int min: -30 max: 30)
0 ~ (gen/int min: -30 max: 30)]
distance: 390 ~ (gen/int min: 340 max: 440)))
(fence (t num: 30 ~ (gen/int min: 25 max: 35))
(define
p1 (interp/bezier t: t
coords: [[0 200] ~ (gen/stray-2d from: [0 200] by: [10 10])
[-133 100] ~ (gen/stray-2d from: [-133 100] by: [10 10])
[266 -100] ~ (gen/stray-2d from: [266 -100] by: [10 10])
[399 -200] ~ (gen/stray-2d from: [399 -200] by: [10 10])])
p2 (interp/bezier t: t
coords: [[-100 200] ~ (gen/stray-2d from: [-100 200] by: [10 10])
[133 -300] ~ (gen/stray-2d from: [133 -300] by: [10 10])
[66 100] ~ (gen/stray-2d from: [66 100] by: [10 10])
[-99 200] ~ (gen/stray-2d from: [-99 200] by: [10 10])])
c1 (col/value from: make-colour t: (focal/value from: focalpoint position: p1))
c2 (col/value from: make-colour t: (focal/value from: focalpoint position: p2)))
(++ coords p1)
(++ coords p2)
(++ colours c1)
(++ colours c2))
(fn (draw)
(poly coords: coords colours: colours))
(fn (render)
(on-matrix-stack
(translate vector: [(/ canvas/width 2) (/ canvas/height 2)])
(repeat/rotate-mirrored fn: (address-of draw)
copies: 5 ~ (gen/int min: 3 max: 8))))
(render)