162e X

(meta linear-colour-space: 1)

(define
  coords1 [[-93.474 30.789] ~ (gen/stray-2d from: [-93.474 30.789] by: [50 50])
           [12.860 -115.420] ~ (gen/stray-2d from: [12.860 -115.420] by: [50 50])
           [9.174 415.564] ~ (gen/stray-2d from: [9.174 415.564] by: [50 50])
           [307.752 115.163] ~ (gen/stray-2d from: [307.752 115.163] by: [50 50])]

  coords2 [[263.535 163.360] ~ (gen/stray-2d from: [263.535 163.360] by: [50 50])
           [463.316 -483.654] ~ (gen/stray-2d from: [463.316 -483.654] by: [50 50])
           [-126.369 163.186] ~ (gen/stray-2d from: [-126.369 163.186] by: [50 50])
           [-110.559 144.470] ~ (gen/stray-2d from: [-110.559 144.470] by: [50 50])]

  coords3 [[246.179 333.430] ~ (gen/stray-2d from: [246.179 333.430] by: [50 50])
           [175.995 205.296] ~ (gen/stray-2d from: [175.995 205.296] by: [50 50])
           [415.600 -409.797] ~ (gen/stray-2d from: [415.600 -409.797] by: [50 50])
           [-284.530 207.528] ~ (gen/stray-2d from: [-284.530 207.528] by: [50 50])]

  col-1 (col/build-procedural a: [0.500 0.688 0.908] ~ (gen/stray-3d from: [0.500 0.688 0.908] by: [0.2 0.2 0.2])
                              b: [0.256 0.838 0.984] ~ (gen/stray-3d from: [0.256 0.838 0.984] by: [0.2 0.2 0.2])
                              c: [0.104 0.601 0.336] ~ (gen/stray-3d from: [0.104 0.601 0.336] by: [0.2 0.2 0.2])
                              d: [0.073 0.403 0.759] ~ (gen/stray-3d from: [0.073 0.403 0.759] by: [0.2 0.2 0.2])
                              alpha: 0.08)
  col-2 (col/build-procedural a: [0.642 0.748 0.334] ~ (gen/stray-3d from: [0.642 0.748 0.334] by: [0.2 0.2 0.2])
                              b: [0.928 0.543 0.441] ~ (gen/stray-3d from: [0.928 0.543 0.441] by: [0.2 0.2 0.2])
                              c: [0.237 0.239 0.426] ~ (gen/stray-3d from: [0.237 0.239 0.426] by: [0.2 0.2 0.2])
                              d: [0.739 0.418 0.843] ~ (gen/stray-3d from: [0.739 0.418 0.843] by: [0.2 0.2 0.2])
                              alpha: 0.08)
  col-3 (col/build-procedural a: [0.174 0.541 0.742] ~ (gen/stray-3d from: [0.174 0.541 0.742] by: [0.2 0.2 0.2])
                              b: [0.014 0.900 0.972] ~ (gen/stray-3d from: [0.014 0.900 0.972] by: [0.2 0.2 0.2])
                              c: [0.650 0.115 0.842] ~ (gen/stray-3d from: [0.650 0.115 0.842] by: [0.2 0.2 0.2])
                              d: [0.571 0.494 0.150] ~ (gen/stray-3d from: [0.571 0.494 0.150] by: [0.2 0.2 0.2])
                              alpha: 0.08))

(fn (draw)
    (fence (t num: 200)
          (poly coords: [(interp/bezier t: t coords: coords1)
                         (interp/bezier t: t coords: coords2)
                         (interp/bezier t: t coords: coords3)]
                colours: [(col/value from: col-1 t: t)
                          (col/value from: col-2 t: t)
                          (col/value from: col-3 t: t)])))

(fn (render)
    (on-matrix-stack
     (translate vector: [(/ canvas/width 2) (/ canvas/height 2)])
     (repeat/rotate-mirrored fn: (address-of draw)
                             copies: 2)))

(render)