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).
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.
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.
- This would become a common theme in my post-baccalaureate education, as I would come to realize when writing this summary. ^
- 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. ^