HOME | DD

burtonsamograd — X-4

Published: 2015-02-07 02:59:59 +0000 UTC; Views: 307; Favourites: 0; Downloads: 0
Redirect to original
Description (eval-when (:compile-toplevel :load-toplevel)
  (require 'vecto))
(in-package :vecto)

(defconstant phi (/ (1+ (sqrt 5)) 2))

(defun j (x n)
  (+ (- x n) (random (coerce (* 2 n) 'float))))

(defun render (file)
  (let* ((h (/ 7200 1)) (w (floor (* phi h))) (s (/ w 64)))
    (with-canvas (:width w :height h)
      ;; background
      (set-rgba-fill (random 1.0) (random 1.0) (random 1.0) 1)
      (rectangle 0 0 w h)
      (fill-path)

      (set-line-width 64)
      (set-rgba-fill (random 1.0) (random 1.0) (random 1.0) 1)
      (rectangle (/ w phi) 0 (/ w phi) (/ w phi))
      (fill-path)
      (rectangle (/ w phi) 0 (/ w phi) (/ w phi))
      (stroke)

      (rectangle (/ w phi) 0 (- w (/ w phi)) (- w (/ w phi)))
      (stroke)
      (move-to 0 h)
      (line-to (/ w phi) 0)
      (stroke)

      (set-rgba-fill (random 1.0) (random 1.0) (random 1.0) 1)
      (rectangle (+ (/ w phi) (/ (/ (- w (/ w phi)) phi) phi)) (- w (/ w phi))
                  (/ (- w (/ w phi)) phi) (/ (- w (/ w phi)) phi))
      (fill-path)
      (rectangle (+ (/ w phi) (/ (/ (- w (/ w phi)) phi) phi)) (- w (/ w phi))
                 (/ (- w (/ w phi)) phi) (/ (- w (/ w phi)) phi))
      (stroke)
      (move-to (/ w phi) 0)
      (line-to w (- w (/ w phi)))
      (stroke)

      (set-rgba-fill (random 1.0) (random 1.0) (random 1.0) 1)
      (rectangle (/ w phi)
                 (- h (/ (/ (- w (/ w phi)) phi) phi))
                 (/ (/ (- w (/ w phi)) phi) phi)
                 (/ (/ (- w (/ w phi)) phi) phi))
      (fill-path)
      (rectangle (/ w phi)
                 (- h (/ (/ (- w (/ w phi)) phi) phi))
                 (/ (/ (- w (/ w phi)) phi) phi)
                 (/ (/ (- w (/ w phi)) phi) phi))
      (stroke)
      (move-to w (- w (/ w phi)))
      (line-to (- w (/ (- w (/ w phi)) phi)) h)
      (stroke)

      (set-rgba-fill (random 1.0) (random 1.0) (random 1.0) 1)
      (rectangle (/ w phi)
                 (- (- h (/ (/ (/ (- w (/ w phi)) phi) phi) phi))
                    (/ (/ (- w (/ w phi)) phi) phi) )
                 (/ (/ (/ (- w (/ w phi)) phi) phi) phi)
                 (/ (/ (/ (- w (/ w phi)) phi) phi) phi))
      (fill-path)
      (rectangle (/ w phi)
                 (- (- h (/ (/ (/ (- w (/ w phi)) phi) phi) phi))
                    (/ (/ (- w (/ w phi)) phi) phi) )
                 (/ (/ (/ (- w (/ w phi)) phi) phi) phi)
                 (/ (/ (/ (- w (/ w phi)) phi) phi) phi))
      (stroke)
      (move-to (- w (/ (- w (/ w phi)) phi)) h)
      (line-to (- (- w (/ (- w (/ w phi)) phi)) (/ (/ (- w (/ w phi)) phi) phi))
               (- h (/ (/ (- w (/ w phi)) phi) phi)))
      (stroke)

      (set-rgba-fill (random 1.0) (random 1.0) (random 1.0) 1)
      (rectangle (+ (/ w phi) (/ (/ (/ (- w (/ w phi)) phi) phi) phi))
                 (- (- h (/ (/ (/ (- w (/ w phi)) phi) phi) phi))
                    (/ (/ (- w (/ w phi)) phi) phi) )
                 (/ (/ (/ (/ (- w (/ w phi)) phi) phi) phi) phi)
                 (/ (/ (/ (/ (- w (/ w phi)) phi) phi) phi) phi))
      (fill-path)
      (rectangle (+ (/ w phi) (/ (/ (/ (- w (/ w phi)) phi) phi) phi))
                 (- (- h (/ (/ (/ (- w (/ w phi)) phi) phi) phi))
                    (/ (/ (- w (/ w phi)) phi) phi) )
                 (/ (/ (/ (/ (- w (/ w phi)) phi) phi) phi) phi)
                 (/ (/ (/ (/ (- w (/ w phi)) phi) phi) phi) phi))
      (stroke)
      (move-to (- (- w (/ (- w (/ w phi)) phi)) (/ (/ (- w (/ w phi)) phi) phi))
               (- h (/ (/ (- w (/ w phi)) phi) phi)))
      (line-to (+ (/ (/ (/ (- w (/ w phi)) phi) phi) phi)
                  (- (- w (/ (- w (/ w phi)) phi)) (/ (/ (- w (/ w phi)) phi) phi)))
               (- (- h (/ (/ (- w (/ w phi)) phi) phi))
                  (/ (/ (/ (- w (/ w phi)) phi) phi) phi)))
      (stroke)

      (move-to (- (- w (/ (- w (/ w phi)) phi)) (/ (/ (- w (/ w phi)) phi) phi))
               (- h (/ (/ (- w (/ w phi)) phi) phi)))
      (line-to (+ (/ (/ (/ (- w (/ w phi)) phi) phi) phi)
                  (- (- w (/ (- w (/ w phi)) phi)) (/ (/ (- w (/ w phi)) phi) phi)))
               (- (- h (/ (/ (- w (/ w phi)) phi) phi))
                  (/ (/ (/ (- w (/ w phi)) phi) phi) phi)))
      (stroke)

      (set-line-width 128)
      (set-rgba-stroke 0 0 0 1)

      (rectangle 0 0 w h)
      (stroke)

      ;; signature
      (set-rgba-fill 0 0 0 1)
      (set-font (get-font "~/OCRABold.ttf") (/ w 128))
      (draw-string (- w (/ w 32)) (/ h 32) "X")
      (fill-path)
      (save-png file))))
(render "~/x-4/x-4.png")
;; burton samograd 2015
Related content
Comments: 1

burtonsamograd [2015-02-07 05:07:44 +0000 UTC]

Print available here: fineartamerica.com/featured/x-…

👍: 0 ⏩: 0