By no means am I an artist or very creative. Just look at my best "artwork" from art class on the left (I'd call it "Temptation" (2003)), featuring an apparently floating snake. I'd consider myself a reasonably good programmer though, so why not write some code that does the artistic work for me? The process of creating art by some implemented autonomous system is called "Generative Art". Of course you still need to setup such a system yourself to lay the artistic groundwork. A certain level of creativity is thus still required. But as "Temptation" shows, I have a weird sense of abstract art. So I set out to create autonomous systems that replicate real world phenomena, but with an element of randomness that may result in artistic interpretations of the real world.
All my art is done with R, an open source programming language for statistics and data science.
I very badly wanted my first art project to be something with networks (or graphs). But I simply did not get any inspiration for weeks until I thought of star constellations, the "networks of the sky". The star map generator I implemented generates a unique set of star constellations by sampling eligible random graphs with up to 14 nodes (stars) and places them randomly (but orderly) in a circle. I also wrote a star name generator so that each star constellation is assigned a unique name. The rest is ordinary ggplot theming and some background noise created with perlin noise. Each run produces a unique star map of an imaginary star system.
ggraph, graphlayouts, ambient, packcircles, ggplot2, ggforce, patchwork
After rendering star systems for a while, I rediscovered my deep fascination with space again. So for my second project, I was looking into rendering realistic (and not-so-realistic) galaxies and black holes. This turned out to be more complicated than expected, since I needed to understand things like the density wave theory. But once set up and the parameters are randomized, beautiful things can emerge.
Rcpp, ggplot2, ggfx