Probably Art

Making Art with Probability Distributions

After my first experience with writing software in the summer of 2013, I wanted to learn how to write software that was usable by other people1.

I thought that learning how graphical user interfaces work would be a good place to start. Since I already knew Matlab, I chose that for my programming language.

I performed the project under the direction of use of Dr. Yusuf Bilgic, who generally gave me free rein to pursue the project in any direction. I used the “excuse” of visualizing probability distributions as a means to an end to write a software that allowed me to generate “random artwork” (that is, generated procedurally using pseudo-random numbers).

Tiling has a neat effect.

Tiling has a neat effect.

In a way, this is visualizing (snapshot of) a high dimensional probability distribution, and I made sure to build explicit demonstrations thereof during my directed study.

I developed a Graphical User Interface (GUI) using Matlab’s built-in tools2, which incorporated several styles of artwork. This project evolved into a library that I wrote in Python and now use to generate artwork for my other website. Many more styles of artwork have been developed since the initial application was written, but for posterity’s sake, you can find images of the original application below. I presented this work only once.

I did attempt to hand-make some of the pieces I generated on the computer, but found it took a lot of time. Here are the only two surviving images I can find of these early works, which were unfortunately lost in a tragic incident.

Hand-tracing against a computer screen. Only did this once.

Hand-tracing against a computer screen. Only did this once.

Using a utility knife to cut out uniformly-sized vectors. I liked the way this caught the light and cast shadows.

Using a utility knife to cut out uniformly-sized vectors. I liked the way this caught the light and cast shadows.

This project evolved into Random | Not Random, which is hosted on my other website. In short, I re-wrote the program (sans GUI) in Python, expanded the types of artwork it could generate, and used it to create content for my website.

I also used some of this project as inspiration for one of the stations at the Math || Art event that I organized in spring 2017.


  1. This would become a common theme in my post-baccalaureate education, as I would come to realize when writing this summary. ^
  2. Although it now appears they have an App Designer that drastically streamlines the process. I wrote my application using their GUIDE framework, and it does look like there are migration options to the new App Designer. ^
Avatar
Michael Pilosov
Applied mathematician in Denver CO.

Talks

This talk was the result of a directed study in which I first began to explore procedurally generated art as a means of …
see all
Next
Previous