Flesh Tones:

New Architectural Membranes for a Changing Planet

Script

import processing.opengl.*;
//PDF
import processing.pdf.*;
boolean dosave=false;
//PDF

int cols=60;
int rows=60;
int ellipseXloc;
int ellipseYloc;
float ellipseX;
float ellipseY;
float ellipseQuad1x=ellipseXloc-ellipseX/2;
float ellipseQuad1Y=ellipseYloc;
float ellipseQuad2x=ellipseXloc-ellipseX/2;
float ellipseQuad2Y=ellipseYloc;
int aLineX=ellipseXloc;
float aLineY=mouseY/4;
int aLineZ=50;
int bLineX=ellipseXloc;
int bLineY=mouseY/4;
int bLineZ=-50;

void setup(){
size(500,500,OPENGL);
}

void draw(){
////////////////////////////////////////////PDF Start

if(dosave) {
PGraphicsPDF pdf=(PGraphicsPDF)beginRaw(PDF, “####.pdf”);

// set default Illustrator stroke styles and paint background rect.
pdf.strokeJoin(MITER);
pdf.strokeCap
(SQUARE);
pdf.fill(0);
pdf.noStroke();
pdf.rect(0,0, width,height);
}

///////////////////////////////////////////PDF
background(0);
smooth();
//noFill();

//object array is now determined by window size

for (int j=0;j<cols;j++){
for (int i=0;i<rows;i++){
pushMatrix();
float cellX=i;
float cellY=j;
float cellZ=constrain(i/4+mouseX/5,0,300);
float mouseDist=dist(cellX*5,cellY*5,mouseX/4,mouseY/4);
//translate(cellX*cols,cellY*rows,0);

if (mouseX<width){
rotateY(radians(mouseDist/4));
rotateX(radians(mouseDist/4));
//translate(-30,-100)
}
else{
rotateY(radians(cellZ));
rotateX(radians(cellY/3));
}

scale(.25);

drawCellA(i,j);
drawCellB(i,j);
drawCellC(i,j);
drawCellD(i,j);
drawCellE(i,j);
drawCellF(i,j);
popMatrix();

}
}
/////////////////PDF Close
if(dosave) {
endRaw();
dosave=false;
}
//////////////////PDF
}

void drawCellA(int i,int j){//////////////////////////////////////////////drawCellA
ellipseX=70;
ellipseY=70;
ellipseXloc=20;
ellipseYloc=20;
noStroke();

pushMatrix();
translate(cols*i,-rows*j);
fill(225*j,225*j,255*j,40);
ellipse (ellipseXloc,ellipseYloc,ellipseX,ellipseY);
popMatrix();
}

void drawCellB(int i,int j){//////////////////////////////////////////////drawCellB
pushMatrix();
ellipseX=70;
ellipseY=70;
ellipseXloc=20;
ellipseYloc=20;
fill(mouseX*i,mouseX*i,200*i,20*i);
//stroke(0*j);
strokeWeight(.5);

translate(100+cols*i,-250);
ellipse (ellipseYloc*2,ellipseXloc*2,ellipseY,ellipseX);
popMatrix();
}

void drawCellC(int i, int j){//////////////////////////////////////////////drawCellC
pushMatrix();
fill(mouseX*i,mouseX*i,mouseX*i+200,20*i);
//stroke(0*j);
strokeWeight(.5);

translate(20+cols*i,-300+rows*j);
ellipse (ellipseYloc*2,ellipseXloc*2,ellipseY,ellipseX);

popMatrix();
}

void drawCellD(int i,int j){//////////////////////////////////////////////drawCellD
pushMatrix();
ellipseX=70;
ellipseY=70;
ellipseXloc=20;
ellipseYloc=20;
fill(mouseX*i,mouseX*i,200+mouseX*i,20*i);
//stroke(0*j);
strokeWeight(.5);

translate(40+cols*i,40+rows*j);
ellipse (ellipseYloc*2,ellipseXloc*2,ellipseY,ellipseX);

popMatrix();
}

void drawCellE(int i,int j){//////////////////////////////////////////////drawCellE
ellipseX=70;
ellipseY=70;
ellipseXloc=20;
ellipseYloc=20;
noStroke();

pushMatrix();
translate(15+cols*i,15+rows*j);
fill(225*j,225*j,255*j,40);
ellipse (ellipseXloc,ellipseYloc,ellipseX,ellipseY);
popMatrix();
}

void drawCellF(int i, int j){//////////////////////////////////////////////drawCellF
ellipseX=70;
ellipseY=70;
ellipseXloc=20;
ellipseYloc=20;
noStroke();

pushMatrix();
translate(cols*i,rows*j);
fill(225*j,225*j,255*j,40);
ellipse (ellipseXloc,ellipseYloc,ellipseX,ellipseY);
popMatrix();
}

void keyPressed() {//////////////////////////////////////////////savepdf
if(key==’s’) dosave=true;
background(255);
}

Sep 19. 2006 Posted by petrinec | Script | | No Comments Yet

Script

import processing.opengl.*;
//PDF
import processing.pdf.*;
boolean dosave=false;
//PDF
int ellipseXloc;
int ellipseYloc;
float ellipseX;
float ellipseY;
void setup(){
  size(500,500,OPENGL);
}
void draw(){
  ////////////////////////////////////////////PDF Start
 

if(dosave) {
    PGraphicsPDF pdf=(PGraphicsPDF)beginRaw(PDF, “####.pdf”);
   
    // set default Illustrator stroke styles and paint background rect.
    pdf.strokeJoin(MITER);
    pdf.strokeCap
 (SQUARE);
    pdf.fill(0);
    pdf.noStroke();
    pdf.rect(0,0, width,height);
  }
 
///////////////////////////////////////////PDF
  background(0);
  smooth();
  //noFill();
  //object array is now determined by window size  for (int j=0;j<height;j=j+30){
    for (int i=0;i<width;i=i+30){
      pushMatrix();
      float cellX=i;
      float cellY=j;
      float cellZ=constrain(i/4+mouseX/5,0,300);
      float mouseDist=dist(cellX,cellY,mouseX,mouseY);
      translate(cellX,cellY);      if (mouseDist<cellX/2){
        rotateY(radians(cellY)+120/mouseDist/2);
        rotateX(radians(cellZ/3+120/mouseDist/2));
      }
      else{
        rotateY(radians(cellZ));
        rotateX(radians(cellY/3));
      }
      scale(.75);
      if (cellX<200&&cellX>100&&cellY>100&&cellY<150){
        rotateZ(TWO_PI/j);
        stroke(150);
        strokeWeight(1);
        scale(constrain(j/3,1,2));
      }
      else{
        stroke(150);
        strokeWeight(.25);
        scale(constrain(i*3,2,1));
      }
      drawCell();
      popMatrix();
    
    }
  }
  /////////////////PDF Close
    if(dosave) {
    endRaw();
    dosave=false;
  }
//////////////////PDF
}
void drawCell(){
  ellipseX=(50);
  ellipseY=50;
  ellipseXloc=0;
  ellipseYloc=0;
  float ellipseQuad1x=ellipseXloc-ellipseX/2;
  float ellipseQuad1Y=ellipseYloc;
  float ellipseQuad2x=ellipseXloc-ellipseX/2;
  float ellipseQuad2Y=ellipseYloc;
  int aLineX=ellipseXloc;
  int aLineY=mouseY/4;
  int aLineZ=50;
  int bLineX=ellipseXloc;
  int bLineY=mouseY/4;
  int bLineZ=-50;
  if (aLineY>50){
    bLineX=-bLineY;
  }
  pushMatrix();  
  fill(225,225,255,100);
  ellipse (ellipseXloc,ellipseYloc,ellipseX,ellipseY);   
  popMatrix();
  pushMatrix();  
  fill(150,150,150,100);
  //stroke(0);
  strokeWeight(.5);
  translate(mouseX,mouseY); 
  ellipse (ellipseYloc*2,ellipseXloc*2,ellipseY,ellipseX);
  line(ellipseQuad1x,ellipseQuad1Y,0,bLineX,bLineY,bLineZ);
  line(ellipseQuad2x,ellipseQuad2Y,0,bLineX,bLineY,bLineZ);
  line (ellipseQuad1x,ellipseQuad1Y,0,aLineX,aLineY,aLineZ);
  line(ellipseQuad2x,ellipseQuad2Y,0,aLineX-mouseX/10,aLineY,aLineZ);
  translate(mouseY*2,mouseX*2);
  ellipse (ellipseYloc*2,ellipseXloc*2,ellipseY,ellipseX); 
  line (ellipseQuad1x,ellipseQuad1Y,0,aLineX,aLineY,aLineZ);
  line(ellipseQuad2x,ellipseQuad2Y,0,aLineX-mouseX/10,aLineY,aLineZ);
  line(ellipseQuad1x,ellipseQuad1Y,0,bLineX,bLineY,bLineZ);
  line(ellipseQuad2x,ellipseQuad2Y,0,bLineX,bLineY,bLineZ);
  popMatrix();
  pushMatrix();  
  fill(25,0,50,100);
  ellipse (ellipseQuad1x,ellipseQuad1Y,ellipseQuad2x,ellipseQuad2Y); 
  popMatrix();
  pushMatrix();    
  fill(25,75,150,100);
  ellipse (ellipseQuad1x,ellipseY,ellipseQuad2x,ellipseX); 
  popMatrix();
 
  pushMatrix();    
  fill(25,75,150,200);
  ellipse (mouseX,ellipseY,mouseY,ellipseX); 
  popMatrix();
  //line (ellipseQuad1x,ellipseQuad1Y,0,aLineX,aLineY,aLineZ);
  //line(ellipseQuad2x,ellipseQuad2Y,0,aLineX-mouseX/10,aLineY,aLineZ);
  //line(ellipseQuad1x,ellipseQuad1Y,0,bLineX,bLineY,bLineZ);
  //line(ellipseQuad2x,ellipseQuad2Y,0,bLineX,bLineY,bLineZ);
}
void keyPressed() {
  if(key==’s’) dosave=true;
 
  background(255);
}
 

Sep 11. 2006 Posted by petrinec | Script | | No Comments Yet

Script

import processing.opengl.*;
 
  int ellipseX;
  int ellipseY;
  int ellipseXloc ;
  int ellipseYloc ;
 
 
 
 
 
  //everything in voidsetup is read once
  void setup(){
    size(500,500,OPENGL);
    smooth();
    //int ellipseXloc = width/2;
    //int ellipseYloc = height/2;
   
 
  }
 
  void draw(){
 
    background(0); //sets background color to 150
 
 
      for (int j=0;j<height;j=j+20){//j++is short for j=j+1
      for (int i=0;i<width;i=i+25){
 
 
        pushMatrix();
        float cellX=i;
        float cellY=j;
        float cellZ=constrain(i/4+mouseX/5,0,300);
        float mouseDist=dist(cellX,cellY,mouseX,mouseY);
        int s= second();
        float m=millis();
 
        translate(cellX,cellY);
 
       if(mouseDist<300){
          rotateY(radians(cellY)+120/mouseDist/2);// rotate drawing
          rotateX(radians(cellX/3+120/mouseDist/2));
        }
        else{
          rotateY (radians(cellX));
          rotateX(radians(cellY/3));
        }
   if(mouseDist>300){
          rotateY(radians(cellY)+mouseX/mouseDist/2);// rotate drawing
          rotateX(radians(cellX/3+mouseY/mouseDist/2));
        }
        else{
          rotateY (radians(cellX));
          rotateX(radians(cellY/3));
        }
        scale(.5);
        if(cellX<100&&cellX>100&&cellY>100&&cellY<150){
          rotateX(TWO_PI/j);
          stroke(220+i,0,0);
          strokeWeight(1);
          scale(constrain(j/4,1,2));
        
        }

        else{
          stroke(150);
          strokeWeight(2);
         
        }
       
        if(mouseDist<width/2){
           fill(mouseY,mouseX,90,30*i);
        }
        else{
           fill(mouseY/2,mouseX,mouseY/4,m*i);
        }
      
        drawCell();
        popMatrix();
 
 
      }
    }
  }
 
 
 
 
  void drawCell(){
    ellipseX=mouseX;//constrained ellipseX size from 25-100
    ellipseY=mouseY-50;
    ellipseXloc=95;
    ellipseYloc=100;
    //sets ellipse to be center location minus half the diameter
    int ellipseQuad1X=ellipseXloc-ellipseX/2;
    int ellipseQuad1Y=ellipseYloc;
    int ellipseQuad2X=ellipseXloc+ellipseX/2;
    int ellipseQuad2Y=ellipseYloc;
 
    //align aLine’s X position with ellipse center
    int aLineX=ellipseXloc;
 
   int aLineY=mouseY/4;
    int aLineZ=50;
    //offsets bLines Xposition 25 pixels to the right of the ellipse center
    int bLineX=ellipseXloc+25;
    int bLineY=mouseY/4;
    int bLineZ=-50; 
    if (aLineY>50){
      bLineX=-bLineY;
    }
 
    // noFill();
    ellipse(ellipseXloc,ellipseYloc,ellipseX,ellipseY);
    line (ellipseQuad1X, ellipseQuad1Y,0, aLineX,aLineY,aLineZ);
    line (ellipseQuad2X, ellipseQuad2Y,0, aLineX,aLineY,aLineZ);
    line (ellipseQuad1X, ellipseQuad1Y,0, bLineX,bLineY,bLineZ);
    line (ellipseQuad2X, ellipseQuad2Y,0, bLineX,bLineY,bLineZ);
  }
 
  void keyPressed(){
    if (key==’s’){
      saveFrame(“######.jpg”);
    }
  }

Sep 8. 2006 Posted by petrinec | Script | | No Comments Yet