Script
import processing.opengl.*;
import processing.pdf.*;
boolean dosave=false;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 Startif(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);
}
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;
}
}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);
}






