Starting Steps of Generative Art

29 Dec, 2019 - 19:14:17


Matthew Deig

Why this road

I got inspire by my visit up to the Vintage Computer Festival Midwest with their talk on the computer that made the Death Star plans graphics. Then later on this year I saw this post Functional Christmas Article on Generative Art and I recently was picking up Clojure and was thinking that I could use this to do something like I saw at the Festival. Turns out it wasn't too bad to try to get something like it, because I found this video of retro computer graphics so I dug in.

First Attempt

I started out doing circles to get some polar coordinates down and some other functions but I ended up switching to lines and came up with this

Unfortunately I don't have the code that made that video.

My other experiments

A few more of my experiments.

My Final Experiment of the Day

While I was working on the lines I decided to add more lines to the animation. When I was doing that it started to look like a ship scanning something so I ended up creating what I was seeing.

I do have the code for that

``` (defn polar-conv-x [r x] ( r (q/cos x))) (defn polar-conv-y [r y] ( r (q/sin y)))

(defn parametic-fun-x [x] (+ (q/sin (/ x 10.5)) (q/cos (/ x 5.5))))

(defn parametic-fun-y [y] (+ (q/cos (/ y 2)) (q/sin (/ y 4))))

(defn setup [] ; Set frame rate to 30 frames per second. (q/frame-rate 30) ; Set color mode to HSB (HSV) instead of default RGB. (q/color-mode :hsb) (q/background 0) ; setup function returns initial state. It contains ; circle color and position. {:color 0 :t 0})

(defn update-state [state] ; Update sketch state by changing circle color and position. {:color (mod (+ (:color state) 0.7) 255) :t (+ (:t state) 0.1)})

(defn draw-state [state] ; Clear the sketch by filling it with light-grey color. (q/background 0) ; Set circle color. (q/stroke (:color state) 255 255) ; Calculate x and y coordinates of the circle. (let [t (:t state) x (polar-conv-x ( t 2) (parametic-fun-x t)) y (polar-conv-y ( t 2) (parametic-fun-y t))] ; Move origin point to the center of the sketch. (q/with-translation [(/ (q/width) 2) (/ (q/height) 2)] ; Draw the circle. (q/line x y ( -1 y) ( -1 x)) (q/line ( -1 x) ( -1 y) ( -1 y) ( -1 x)) (q/line x ( -1 y) ( -1 y) ( -1 x)) (q/line ( -1 x) y ( -1 y) ( -1 x)) (q/line x ( -1 y) ( -1 x) ( -1 y)) (q/line x y ( -1 x) y) (q/line x ( -1 y) x y) (q/line ( -1 x) y ( -1 x) ( -1 y)) ))) ```

Hurt Art Scene

26 Nov, 2018 - 21:22:55


Matthew Deig

What is going on?

Evansville has lost a couple of artist hangouts this year. One was the wired and the other was PG. Though Wired still livers as The Hub, but there is no new PG at the moment.

Who does this effect?

It effects the local artist of Evansville. They lost a couple of places to show their art and music to the community. It also effects the people that are looking for that local art community and enjoy it.

Why does this matter to me?

It matters to me that I might miss out on the local music in Evansville. My first dive into the local music of Evansville was at PG at event called Little Sound Assembly. I went to the first one they held in 2014 shortly after I came back from China. Then I went to everyone except for one. I missed out for some reason.

My first time going to Wired was to see my friend Kaanvas. It was Kaanvas first time back into the music scene after a hiatus.

I went to many different shows and events at each place. Seeing different acts like Paper Sweaters, North by North, and many more. I had a great time. It allowed me to get out more and change to meet people.

Went to an art show that PG held and it was for a digital art. I didn't end up buying anything but it was fun looking at the art.

These was some great places, and they are going to be missed.

What now?

I don't know. Maybe someone will pick up after what they left or the art scene will die out.