Saturday, February 28, 2009

Script: Triangles Generated in 3D

Frame #1300000.
One bounding corner of a much larger object.
Randomly located triangles, each connected to the last.
My first implementation of perspective within processing...


Tuesday, February 17, 2009

Texture

Old pattern, New use: Perforation study w/backlit screen.

Sunday, February 8, 2009

Generative Components: 3

GC Sample
Basic output, but interesting nonetheless.
The surface below is built from a field of lines, each of which has a variable length based on the location of a single control point. Translating the location of this point alters relationship to the field, each line then changing in response. The variables driving each line are similar, yet result in a surface that neither rises nor falls uniformly, but undulates in a seemingly random manner.  This has been simplified to a series of polygons, easily output to a Fabrication file.

All I need is a little time on the lasercutter.



































Generative Components: 2

The last post didn't center on Generative Components as I'd intended. Perhaps trying to chronicle something after spending an entire day learning it isn't the way to go. Perhaps talking about something, anything, directly after isolating yourself to it isn't the strategy. Take time to think and then formulate your thoughts. I digress.

The potential in GC is amazing. Those involved in formal design can tell you how much time is taken to refine, adjust and operate upon iterations of an idea. Weeks are easily spent building, editing and reworking studies both physical and digital. A tool that allows you alternate methods through this workflow would be a very fortunate thing. Contrasty, any tool is packaged with inherent limitations. Some see script-, code- or program- based design as limiting, taking away the freedom 'intrinsic' of pen, paper and creative thought. Indirectly, I agree. But what I find limiting is the enormous investment of time required to become minimally effective with any tool. Technology progresses; How many tools can or should we reasonably learn?

Generative Components? Maya? 3DsMax? Rhino, Maxwell, FormZ, Catia, Photoshop, Illustrator, Director, AutoCAD, Microstation, Ecotect, Revit? This isn't a new problem so much as a new medium. Watercolor, Welding, Charcoal, Ink(?).... each is a tool.

I'm working to wield a few more.


Saturday, February 7, 2009

Generative Components: 1





















I've never been TO Hoboken. I've passed directly through it by foot, car and train, but never stopped to take it in. Imagine my surprise this morning as I found myself getting ready to spend the entire day there. 9 hours, a SIT lecture hall and Generative Components.
GC? Well.... it's complicated. In a good way. :P

Monday, February 2, 2009

script: triangulation

processing:
In exploring Processing, I find myself asking 'how can I make this more interesting?
The constraint, one entirely on my part, is that of dimensionality. Processing provides quick and gratifying graphic stimulus, but hasn't allowed movement in 3-dimensions as I'd like. Part of it is ability. I'm an architect, not a programmer. The amount of time that I can reasonable dedicate to learning new scripting languages (new? any?) is pretty minimal.  

The eventual goal would be to take a randomized (Triangle_Strip) as below, integrate some sort of Z-axis variation and present the work through perspective. At this point it's a tall order. More study to be done...

script: texture

processing:
a pattern study of texture.
each circle is connected via a thin transparent line which, through iteration, creates an additive visual grain. below is the result of 50k loops of this simple function.






























int xW = 3360;
int yH = 1050;

void setup(){
  background(150);
  size(xW,yH);
}

void draw(){
  
 // for (int i = 0; i <>
  
  //noLoop();
  int xRAN = int(random(0,xW));
  int xCIR = int(random(10,100));
  int xLEG = int(random(50,1200));
  int xLEG2 = int(random(50,1200));
  int rVAL = int(random(-8,8));
  
// drawINSTANCE (x-position, circle-radius, legnth)
  drawINSTANCE(xRAN, xCIR, xLEG, xLEG2, rVAL);
  
//  }
}

void drawINSTANCE(int xRAN, int xCIR, int xLEG, int LEG2, int rVAL)
{
//display settings

int R = int(random(100,255));
int G = int(random(100,255));
int B = int(random(100,255));

smooth();
stroke(0,20);
fill(255,90);


//end settings
  
  
//start
pushMatrix();
translate(xRAN,0);

line(0,0,0,xLEG);
ellipse(0,0,xCIR/8,xCIR/8);

pushMatrix();
translate(0,xLEG);
ellipse(0,0,xCIR/6,xCIR/6);

pushMatrix();
rotate(PI/rVAL);
line(0,0,0,xLEG);
translate(0,xLEG);
ellipse(0,0,xCIR/3,xCIR/3);

popMatrix();
popMatrix();
popMatrix();

    if((frameCount % 10000) == 0) {
    saveFrame("02test-########.tif");
    }
}

Sunday, February 1, 2009

formula: screening study

texture with free-area requirement, manifest in laser-cut chipboard