Program Woes and Definite Hypothesis 09/17/2017

Unfortunate problems have reared there ugly head upon starting this program, which have unfortunately compounded due to laptop issues on my end.

Definite Hypothesis

In my first post, I detailed three questions to begin asking.

  • Are our algorithms representational enough to be evaluated on the same scale as traditional art?

  • Can their outputs be manipulated to be on a comparable artistic scale to a Matisse?

  • And are our algorithms void of social subject matter?

I also stated three metrics for judging the value of art based on my research in art history. Now, we will focus on the “Modern” approach of viewing art in a more concrete sense:

Moved away from representation towards valuing abstract qualities of shape, line, and color, appreciation comes intuitively to a person, is aesthetic

It is clear to me that this is the most obvious metric to view our algorithms in, as it can be used to judge both our outputs and a Matisse alike. If we evaluate the picture of our pixelated Matisse below, we can extrapolate some ideas of what makes it good.


This Matisse uses line effectively, with only one horizontal line breaking up consistently vertical lines. Similarly, the colors yellow, green, and blue, lay near each other on the color wheel, with red being laid down next to its complimentary color green to make it pop. As a general rule it seems, that overall similarity with one big element is good.

From these simple observations I can start to form some concrete rules about what makes this piece good.

  • Analogous colors are good, as are complimentary colors. Therefor, colors with similar (but not the same) RGB values should be prioritized in code, while having only one color vastly different will also give bonus “points”
  • Larger shapes should be encouraged to develop, but like the Matisse, not take over the entire page.
  • Lines should also be encouraged to form.

These three things will accurately address the Modern art view on what is good art. Next time, I will discuss pseudocode surrounding these concepts.


bad odd behavior.png


L-system development is on hold at the moment, despite my eagerness to have a tree fully formed. (Our line function is bad) I have prioritized starting on cellular automata.

Program So far

Cellular automata development has also started, with the development of a class to store the data from the canvas in our program. Values on the canvas will be stored on a 2D array. Since we are exclusively dealing with two colors at the moment, values stored in this array should be able to be represented as true/false, or 1/0.


A requirements document is also being developed by my partner Taylor to help us understand where our program needs to go in the future, particularly, to help us understand how we can fit in CGP later on down the line.





Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s