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”);
}
}
No comments yet.
Leave a comment
| Next »
