Tuesday, September 23, 2008

Generative Design Strategies: Project 01

Poly Pattern II by Ira Greenberg > Variations





















































Triflower by Ira Greenberg > Variations




















































Tuesday, September 9, 2008

Generative Design Strategies: Lab 02

Processing > Curves, Shapes, Intro.

Basic Assignment: select a code from a variety of codes downloadable and use for inspiration to write your own code.

Inspirational Code: Simple Complex Quads:

Along with primary assignment of abstacting and learning the basic steps involved in the Processing code came the objective of how to translate my newfound knowledge into a suitable coding induced endeavor.

With simple geometric math whirling inside my head, and inspiration coming from the abstraction of rectangles into vertices, or simple mathematical formulations, I looked toward an artistic movement that was known for the production of abstact, pure compositions the Dutch De Stijl movement, primarily Piet Mondrian.

Just like Mondrian I was interested in breaking down the world his compositions into its most pure abstract forms. I was intrigued by further abstracting the already abstract Mondrian compositions into mathematical equations. My results are as follows.



Piet Mondrian > Composition with Yellow, Blue, and Red:





//Piet Mondrian, Composition w/ Yellow, Blue, and Red 1921
size (760, 800);
background(255);
noStroke();
smooth();
beginShape(QUADS);

//SHAPES

//Yellow Pieces
fill(240, 201, 20);
rect(0, 0, 90, 180);


//Red Pieces
fill(180, 35, 36);
rect(740, 700, 60, 30);
rect(470, 540, 120, 140);



//Blue Pieces
fill(49, 96, 148);
rect(110, 700, 180, 30);



//GRID
//Vertical Lines
fill(0);
rect(90, 0, 20, 800);
rect(180, 0, 20, 800);
rect(240, 0, 20, 800);
rect(290, 0, 20, 800);
rect(450, 0, 20, 800);
rect(590, 0, 20, 800);
rect(640, 0, 20, 800);
rect(720, 0, 20, 800);



//Horizontal Lines
rect(0, 180, 760, 20);
rect(0, 300, 760, 20);
rect(0, 390, 760, 20);
rect(0, 520, 760, 20);
rect(450, 680, 210, 20);
rect(450, 770, 210, 20);


endShape();



Then after abstracting Mondrian's composition into code and being delirous from the tedious work of typing equations, I thought about the infinite monkey theorem. If I could somehow randomize the forms in Mondrian's compositions what other outcomes would be the result, and would it ever be the same as the original painting.

These were just a few of my results, I don't want to waste time recording them all for everybody but if you would like the random mondrian code here it is:
void setup()
{
size(760, 800);
background(255);
noStroke();
fill(240, 201, 20); //Yellow Shapes
drawRectangle(random(width), random(height), 90, 180);
fill(180, 35, 36); //Red Shapes
drawRectangle(random(width), random(height), 60, 30);
drawRectangle(random(width), random(height), 120, 140);
fill(49, 96, 148); //Blue Shapes
drawRectangle(random(width), random(height), 180, 30);
fill(0);
//Vertical Lines
drawRectangle(random(width), random(height), 20, 800);
drawRectangle(random(width), random(height), 20, 800);
drawRectangle(random(width), random(height), 20, 800);
drawRectangle(random(width), random(height), 20, 800);
drawRectangle(random(width), random(height), 20, 800);
drawRectangle(random(width), random(height), 20, 800);
drawRectangle(random(width), random(height), 20, 800);
drawRectangle(random(width), random(height), 20, 800);
//Horizontal Lines
drawRectangle(random(width), random(height), 760, 20);
drawRectangle(random(width), random(height), 760, 20);
drawRectangle(random(width), random(height), 760, 20);
drawRectangle(random(width), random(height), 760, 20);
drawRectangle(random(width), random(height), 210, 20);
drawRectangle(random(width), random(height), 210, 20);
}
void drawRectangle(float x, float y, float w, float h)
{
rect(x, y, w, h);

Tuesday, September 2, 2008

Generative Design Strategies: Lab 01

Processing > Basic Code Structure:



Basic Assignment: develop two variations of a given code (Conditionals 1 & Poly Pattern). Change the variables to vary the line width, color, spacing, and vertical allignment.


Conditionals 01:

Condtionals 02:


Poly Pattern 01:

Poly Pattern 02: