Generative Art and R

Generative art created with R

I enjoy seeing a tool used for something entirely different..

Take Excel, for example; it is a complicated calculator with many functions used for managing portfolios, budgeting, forecasting, and personal databases as the normal use case of Excel. Then you can get into those who have used it to create interfaces to databases, music beat sequencers, and the game of doom.

And art is not excluded from the fold of "everything."

Or can also be used for things like the above video or this.

"The second best tool for everything" as my boss recently had mentioned.

And he is right; it isn't the best tool, the most scalable tool, or the best painting tool.

To me, it's fascinating to see tools that were created for one thing and then used for something entirely different. It emphasizes the beauty of the adaptability of our surroundings by using tools for entirely new things. It also illustrates the palette of mediums that can be used to create.

Everything under the sun has been used to create something new and different.

So then why R?

I regularly use R for my job to do data munging, visualization, and data science tasks. Most of the time, these are cleaning data for analysis, drawing quick graphs to check the distribution of data, and building simulation models and forecasts for Supply Chain at work.

What is R?

R is a language and environment for statistical computing and graphics. It is a GNU project which is similar to the S language and environment which was developed at Bell Laboratories (formerly AT&T, now Lucent Technologies) by John Chambers and colleagues. R can be considered as a different implementation of S. There are some important differences, but much code written for S runs unaltered under R.[1]

Note: A great resource on everything R is aggregated at R-Bloggers. or the company R-Studio who has developed an eclectic niche of software engineers who have been vital to R's proselytization in the past decade.

To me, it is a glue used to take disparate sources and bring them together to create knowledge with a mature environment of packages written by many across the landscape of academia and business.

https___bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com_public_images_919284d3-30d6-4cc9-915f-3d90e409396d_1536x1270.png

This "glue" also creates fantastic visual products. There are beautiful data visualizations created with the packages such as ggplot2 or Plotly. And there are many tutorials and content that visually describe data. Eventually, I'll write a piece on the thoughts I have explored regarding the question, Is data visualization a subset of generative art? Or is it less likely to fall under a different category altogether? More on that later.

Outside of data visualization, more abstract pieces are created. I'd say data is still important, but the information is more hidden or being described in a dimension that isn't easily understood.

https___bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com_public_images_d8bdc338-d023-42a7-8223-6f75f489e2de_2000x2000.png

My first encounter was finding the website by Antonio Chinchon of Fronkonstin. Who I have found has created some wonderful blog posts describing in detail the process of the work that he has created using R.

And there are many more, Thomas Pedersen, Danielle Navarro, Paul Vanderlaken, Antonio Chinchon, and others who have created art in the R space.

So even though this tool has always been more about data processing than creating; I think there are a few interesting arguments that using R might be another great tool for generative art:

  • It is a mature environment with large contributors to active development.

  • When playing with the concept of distributions, randomization, etc., there are many content and ideas to yet be explored.

  • Many data packages can be transformed into more abstract or hidden variations of data.

  • Visualization packages come in functional and aesthetic packages.

  • Being a glue language can also be easily interfaced with other languages (i.e., C++, Python, Javascript, etc.) This inherently can then provide the outputs of generative content.

Let me know if you have more, as I am curious about what your thoughts are around this idea. I am not trying to convince you it is a tool to use, however as an explorer and tinkerer, I appreciate using tools for more than they were originally intended and celebrating the creativity of the human spirit.

Here is a talk by Thomas Pedersen, who has been deeply embedded in the R community, and his thoughts on generative art and R.