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);
}
Script
import processing.opengl.*;
import processing.pdf.*;
boolean dosave=false;
//PDFint ellipseXloc;
int ellipseYloc;
float ellipseX;
float ellipseY;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<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;
}
}
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);
}
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”);
}
}
